Это не имеет ничего общего с используемой вами версией make. Команда, которую вы вводите после строки 'target: dependencies', выполняется через оболочку, и просто нет команды Linux с именем override
. переопределение
является внутренней директивой make
и не может применяться в этой позиции. Это будет работать, например, вот так:
override ARCH=64
all:
echo $(ARCH)
РЕДАКТИРОВАТЬ: Путь к достижению желаемого (по крайней мере, с помощью GNU make) следующий
all:
$(eval override ARCH=32)
echo $(ARCH)
$(eval override ARCH=64)
echo $(ARCH)
Кстати: таким образом оба делают ARCH = 45
и ARCH = 45 make
выведет «32 \ n64», без переопределения
первый выведет «45 \ n45», и только последний выведет «32 \ n64».