Подтвердить что ты не робот

Удалить элемент из переменной Makefile?

У меня есть makefile, который включает в себя несколько других make файлов, которые, в свою очередь, все добавляют к переменной вроде этого:

VAR := Something SomethingElse
VAR += SomeOtherThing

(...)

Теперь я хочу удалить SomethingElse из переменной VAR. Что я делаю вместо (...) для этого?

Я использую GNU Make, и GNU Make конкретное решение будет в порядке.

4b9b3361

Ответ 2

В верхней части правильного ответа выше:

VAR = bla1 bla2 bla3 bla4 bla5

TMPVAR := $(VAR)
VAR = $(filter-out bla3, $(TMPVAR))

all:
    @echo "VAR is: $(VAR)"

Выход:
VAR: bla1 bla2 bla4 bla5

Обратите внимание, что это прерывает всю "рекурсию" при выполнении фильтрации, но это может не иметь значения в вашем случае.