#linux #makefile
#linux #makefile
Вопрос:
Я добавил код в Makefile что-то вроде:
ifeq "$var" "1"
var_1 := 1
echo "g version OK"
$(info $(var_1))
else
echo "needs to be updated"
endif
Я использую вкладки везде в этой части кода. Похоже, это не работает, при запуске make вообще ничего не отображается, Makefile уже содержит объектные файлы и флаги и т. Д. Имеет ли это какое-то отношение к позиции кода? Я не могу определить. Пожалуйста, помогите.
Комментарии:
1. пожалуйста, опубликуйте весь свой makefile. Из этого фрагмента синтаксис, который вы используете, кажется неправильным
ifeq
. Кроме того, если это не является частью recipe, вам следует использовать$(info "g version is ok")
.
Ответ №1:
echo
это команда оболочки, она работает только из рецепта или $(shell ...)
функции.
Где-нибудь еще используйте $(info ...)
функцию.
Комментарии:
1. Здравствуйте. Спасибо! Это помогает, но теперь я обнаружил новую проблему, переменная внутри ifeq не устанавливается, когда я пытаюсь распечатать ее с помощью $(info ..), Я ничего не получаю на консоли, обновления в вопросе.
2. @user5400132 Я обнаружил новую проблему — это вызывает новый вопрос.