У меня есть строка в файле make для компиляции c-программы, которая выглядит следующим образом: $(CC) -c -o [email protected] $< $(CFLAGS)
. Я должен каждый раз изменять конкретную строку в коде и компилировать снова. Модификация - это просто аргумент функции. У меня есть аргумент в одном файле, и я использую утилиту sed
для изменения моего источника c и компиляции. Я хочу посмотреть, какие из аргументов приводят к успешной компиляции. Я пытался использовать этот $(CC) -c -o [email protected] $< $(CFLAGS) ; echo $? >status
, где я надеялся, что если компиляция прошла успешно status
файл будет иметь запись 0
. Но я вижу имя исходного файла в файле status
. Я узнал, что $?
также является автоматической переменной. Как я могу прочитать переменную оболочки $?
в файле makefile? Я попытался использовать $(CC) -c -o [email protected] $< $(CFLAGS) ; echo $$? >status
и $(CC) -c -o [email protected] $< $(CFLAGS) ; echo $(shell echo $?) >status
, не получив правильных результатов.Использование переменной оболочки в Makefile
ответ
версия
echo $$? > status
определенно работает для меня. Какую ОС вы используете? Каковы неправильные результаты при использовании $$?
?
Если вы находитесь в Windows, то нет $?
, вместо этого вы можете использовать %errorlevel%
.
Некоторое время как 'echo $$?', Похоже, работает. Я уверен, что я пробовал это, и я получал имя исходного файла в 'status'. Спасибо за ответ – Gautam
@MadScientist escaping с '$' работает сейчас, я пробовал его раньше, и я получал исходное имя файла в файле 'status'. Кажется, я раньше делал что-то неправильно. – Gautam
- 1. использование оболочки найти в Makefile для комков
- 2. Использование переменной оболочки в AWK
- 3. использование переменной оболочки в awk
- 4. Синтаксис оболочки в makefile
- 5. Использование переменной оболочки внутри команды
- 6. Использование переменной оболочки с grep
- 7. переменной печати внутри Makefile
- 8. Makefile оболочки Grep
- 9. Использование сделать переменное в встроено функции оболочки в Makefile
- 10. Использование переменной оболочки в команде Psql
- 11. Использование переменной в сценарии оболочки awk Bourne
- 12. Использование цикла Еогеасп в Makefile с Tcsh оболочки
- 13. Использование оболочки в Makefile для поиска версии Ubuntu
- 14. Расширение переменной в Makefile
- 15. Неверное расширение переменной «$?» в Makefile
- 16. Использование значения параметра в Makefile
- 17. магазин код выхода Grep в Makefile переменной
- 18. Назначение переменной Makefile выполняется раньше
- 19. Переход от оболочки к Makefile
- 20. Запуск Makefile, используя сценарий оболочки
- 21. присвоение переменной makefile под цель
- 22. Заменить символ в переменной Makefile после оценки
- 23. использование -lstdC++ в Makefile
- 24. Использование sed в makefile
- 25. sed в makefile, использование
- 26. Использование отладчика в MakeFile
- 27. Makefile $ shell в переменной sed расширен неправильно?
- 28. Makefile: как бороться с двоеточием в переменной
- 29. Использование переменной Makefile перед определением в включенном файле
- 30. Переопределение переменной makefile
Экранирование '' 'правильно (с использованием' echo $$?> Status'). Что вы подразумеваете под «без получения правильных результатов»? Какие результаты вы получаете? – MadScientist
Вы используете Unix-подобную операционную систему? Потому что в Windows '$?' Называется '% errorlevel%' – SzG