Добавление к переменной не работает при передаче = присваивать переменные из командной строки в make

#makefile

#makefile

Вопрос:

Я пытаюсь добавить значение к переменной, уже присвоившей значение изнутри makefile из командной строки, но это не работает, и я не знаю, что я делаю не так.

В моем Makefile:

 FPP =ONE
FOO =TWO

target:
     echo "Value: $(FOO)"
 

Если я запускаю: make

он отображает:

Значение: ОДИН ДВА

Но если я запущу: make FOO =THREE

Я ожидал:

Значение: ОДИН ДВА ТРИ

Но вместо того, чтобы я получаю:

Значение: ТРИ

Таким образом, командная FOO =THREE строка переопределяется FOO вместо добавления. Что я делаю не так?

Ответ №1:

Переменные, установленные в командной строке, не могут быть изменены обычными назначениями в make-файле. Вы должны использовать директиву переопределения:

 override FOO =ONE
override FOO =TWO
 

Комментарии:

1. Это работает. Спасибо.