我想在make环境中定义几个shell环境变量。
我知道我可以取消定义ASHELLENV,但是我正在尝试使用通配符对环境变量进行模式匹配,然后对每个未定义的对象进行匹配,但是没有任何运气。
我认为类似的方法可以工作,但是shell env仍然存在。
$(foreach v, SOMEENVS_% SOMEOTHERENVS, $eval(undefine $$(v))
答案 0 :(得分:0)
我的意思是,您的语法不正确(例如eval是一个makefile函数,您必须将其编写为$(eval ...)
)。
您可以执行以下操作(在GNU make manual中查找各种功能等):
$(foreach v,$(filter SOMEENV_%,$(.VARIABLES)) SOMEOTHERENV,$(eval undefine $$v))