我在makefile中有一个目标:
all: $(TARGETS)
Run Code Online (Sandbox Code Playgroud)
我想要一个变体,all它不仅仅是因为它设置了一个环境变量.就像是:
all-abc: $(TARGETS)
ABC=123
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为在设置变量之前处理依赖项.我已经考虑过在设置环境变量的实际依赖之前有另一个依赖,但我不认为环境会在目标之间持续存在.也就是说
abc:
ABC=123
all-abc: abc $(TARGETS)
Run Code Online (Sandbox Code Playgroud)
不起作用.我最终希望能做的是
$ make all-abc
Run Code Online (Sandbox Code Playgroud)
代替
$ ABC=123 make
Run Code Online (Sandbox Code Playgroud)
是否可以设置这样的环境变量?
(GNU Make 3.82)
RSF*_*on7 25
试试这个:
all:
@#usual rule, if you call `make all-abc`, this will print "123"
@echo $(ABC)
all-abc: ABC=123
all-abc: all
@#what you put here it's going to be executed after the rule `all`
Run Code Online (Sandbox Code Playgroud)