Я пытаюсь определить переменные в Makefile в соответствии с условиями. Поскольку ifeq можно запускать только в правилах, я добавил дополнительное правило (def_rule), на которое я ссылаюсь для каждого правила.
Пример:
def_rule:
ifeq ($(TARGET), android)
CC=arm-linux-androideabi-gcc
else
echo "native build"
endf
all: def_rule tp xi_eid_chipset.o
К сожалению, вызов make all возвращает это:
ifeq (linux, android)
/bin/sh: Синтаксическая ошибка: слово неожиданное (ожидание ")")
make: *** [def_rule] Ошибка 2
Я не могу понять, почему. Я только что следовал примерам из документации GNU Make.
Вы знаете, как делать условные определения в Makefiles?