有一个Makefile我只想调整一个变量然后编译,如果我调用一个特定的目标。我有一个有效的解决方案,但它不是一个好的解决方案。
我如何编译:
make
我想如何更改变量:
make debug
需要发生什么(它是如何工作的):
debug:
@make TAG=debug
我基本上在制作过程中调用make,它可以完成工作,但似乎也不正确。我正在寻找类似的东西:
debug:
TAG=debug
jump to first line and do the job
答案 0 :(得分:0)
TAG=release
build:
@echo $(TAG)
debug: TAG=debug
debug: build
release: build
用法:
> make
release
> make release
release
> make debug
debug
<强>更新强>
在构建先决条件中使用TAG
:
TAG=release
pre:
@echo pre build $(TAG)
build: pre
@echo $(TAG)
debug: TAG=debug
debug: build
release: build
输出:
~/workspace (master) $ make build
pre release
release
~/workspace (master) $ make debug
pre debug
debug
~/workspace (master) $ make release
pre release
release