Добавление к переменной в файлах Makefile для HP-UX make

Я пытаюсь добавить некоторый текст к переменной в Makefile для версии make для HP-UX.

Если я использую «обычный» аппендер, например:

CFLAGS+=some text

$(CFLAGS) выходит пустым.

Если я ссылаюсь на переменную, например:

CFLAGS=$(CFLAGS) some text

make жалуется на «бесконечно рекурсивный макрос».

Используя временную переменную следующим образом:

CFLAGStmp=$(CFLAGS)
CFLAGS=$(CFLAGStmp) some text

также жалуется на «бесконечно рекурсивный макрос».

Как я могу добавить что-то к переменной в Makefile HP-UX?


person Martin Olsen    schedule 09.09.2009    source источник
comment
У меня нет доступа к HP-Make, поэтому я не могу экспериментировать, но я бы попробовал 1) возиться с пробелами, 2) использовать простое присваивание := если это позволяет HP-make, или лучше всего 3) переход на GNUmake   -  person Beta    schedule 09.09.2009
comment
@Бета 1) Не помогает. 2) Синтаксическая ошибка. 3) Не идеальное решение, но может быть и единственным.   -  person Martin Olsen    schedule 10.09.2009


Ответы (1)


К сожалению, кажется, что единственным решением этой проблемы является использование GNU make (gmake).

Пример:

$ cat >Makefile
FOO=bar
FOO+=baz

all:
    @echo $(FOO)
^D
$ make
bar baz
person Martin Olsen    schedule 11.09.2009
comment
Кажется, я использую GNU Make 3.81. Как это возможно с помощью GNU Make? - person NHDaly; 07.04.2013