2012-04-18 33 views
2

假设在我的makefile我有CPPFLAGS

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

现在我想包括一个名为../inc2目录(这是目前一个目录上面我在哪里运行makefile文件),同时运行makefile通过命令行

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

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

回答

1

+=表示CPPFLAGS被附加而不是替换。这意味着你可以将它设置在外壳和现有的目录将得到追加,像这样:

export CPPFLAGS=-I../inc2 
make 

如果你需要做这个有很多,较好的解决办法是改变你的Makefile说:

program_INCLUDE_DIRS += ../inc ../inc2 
+0

@Karl ....我无法使用导出功能实现此功能...您能否建议直接通过命令行执行此操作的方式,如...... make CPPFLAGS + = - I ../ inc2 。另外,我想在出口../inc2正在过度../inc2 – 2012-04-18 18:59:42

+0

你用什么外壳? 'CPPFLAGS = -I ../ inc2 make'也适用于大多数类似unix的shell。我不知道窗户会是什么。 – 2012-04-18 19:53:53