通过命令行设置CPPFLAGS

时间:2012-04-18 18:26:56

标签: c++ makefile

假设我的makefile中有

   program_INCLUDE_DIRS += ../inc 
   CPPFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir))

现在我希望在通过命令行运行makefile时包含一个名为../inc2的目录(在我运行makefile的位置上面有一个目录)

我知道我应该将../inc2目录设置为CPPFLAGS。

请建议我通过命令行包含目录../inc2的命令语法。另外,我不想覆盖makefile中包含的现有目录(上面的../inc)。

1 个答案:

答案 0 :(得分:1)

+=表示附加CPPFLAGS而非替换。这意味着您可以在shell中设置它,并且会附加现有目录,如下所示:

export CPPFLAGS=-I../inc2
make

如果您需要做很多事情,更好的解决方案是将您的makefile更改为:

program_INCLUDE_DIRS += ../inc ../inc2