Makefile 中基于目标的变量

Edd*_* Jr 1 linux compiler-construction command-line makefile

创建 Makefile 时,我试图弄清楚如何(如果)我可以根据目标更改变量。

所以有些事情是这样的:

VER = $(if target=release then 1.0.0 elseif target=nightly then 20110411)

nightly:
    @@echo ${VER} >> version.txt

release:
    @@echo ${VER} >> version.txt
Run Code Online (Sandbox Code Playgroud)

Ise*_*ria 6

如果您make是 GNU make, 则允许使用特定于目标的变量
例如,在您的问题的情况下,以下定义将满足目的:

nightly: VER = 20110411
release: VER = 1.0.0

nightly:
    @echo ${VER}

release:
    @echo ${VER}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助