从Makefilevariables中删除项目?
我有一个makefile,其中包括几个其他的生成文件,而这又转而添加到这样一个variables:
VAR := Something SomethingElse VAR += SomeOtherThing (...)
现在我想从VAR
variables中删除SomethingElse
。 我用什么来代替(...)
来做到这一点?
我正在使用GNU Make,而GNU Make特定的解决scheme将会很好。
如果您使用的是GNU Make,您可以使用filter-out
文本function 。
OTHERVAR := $(filter-out SomethingElse,$(VAR))
在上面的正确答案之上:
VAR = bla1 bla2 bla3 bla4 bla5 TMPVAR := $(VAR) VAR = $(filter-out bla3, $(TMPVAR)) all: @echo "VAR is: $(VAR)"
输出:
VAR是:bla1 bla2 bla4 bla5
请注意,这将在执行过滤时打破所有“recursion性”,但在您的情况下可能无关紧要。