如何在制作文件中定义整数变量

时间:2019-01-15 15:40:53

标签: makefile

我能够将build=1定义为命令行参数。例如:

make build=1

但无法在制作文件中定义build=1。例如,我添加了

build=1
ifdef build
echo 'defined'
endif 

但是ifdef部分没有执行。

1 个答案:

答案 0 :(得分:1)

您在正确的轨道上,正确地分配了build变量。但是,您不能只在echo中的随机行上执行类似makefile的命令。请参阅3.1 What Makefiles Contain以了解makefile的外观。

以下内容演示了您可以执行的操作,例如使用$(info ...)函数。在这种情况下,echo会在大多数时间使用的配方中另外执行。

build:=1
ifdef build
$(info build has been defined)
endif

all:
        @echo build has the value $(build)

请注意:==的用法。尽管在此示例中不太重要,但了解它们之间的差异很有用。您可以在6.2 The Two Flavors of Variables部分中找到说明。

如果您想学习如何使用make,请将that manual放在枕头底下。它是完整且可读的,并包含许多示例。