Bja*_*sen 71 variables makefile gnu-make
我有一个makefile,其中包含其他几个makefile,而这些makefile又添加了一个这样的变量:
VAR := Something SomethingElse
VAR += SomeOtherThing
(...)
Run Code Online (Sandbox Code Playgroud)
现在我希望SomethingElse从VAR变量中删除.我该怎么做(...)才能做到这一点?
我正在使用GNU Make,GNU Make特定解决方案也没问题.
Mat*_*Mat 98
如果你正在使用GNU Make,你可以使用filter-out文本功能.
OTHERVAR := $(filter-out SomethingElse,$(VAR))
Run Code Online (Sandbox Code Playgroud)
小智 5
在上面的正确答案之上:
VAR = bla1 bla2 bla3 bla4 bla5
TMPVAR := $(VAR)
VAR = $(filter-out bla3, $(TMPVAR))
all:
@echo "VAR is: $(VAR)"
Run Code Online (Sandbox Code Playgroud)
输出:
VAR是:bla1 bla2 bla4 bla5
请注意,这在执行滤出时会破坏所有的“递归”,但是在您的情况下可能并不重要。