C++ 通过命令行设置CPPFLAGS

C++ 通过命令行设置CPPFLAGS,c++,makefile,C++,Makefile,假设在我的makefile中 program_INCLUDE_DIRS += ../inc CPPFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir)) 现在,我想在通过命令行运行makefile时包含一个名为../inc2的目录(在运行makefile的目录上方) 我知道我应该将../inc2目录设置为CPPFLAGS 请通过命令行向我建议包含目录../inc2的命令语法。另外,我不想覆盖ma

假设在我的makefile中

   program_INCLUDE_DIRS += ../inc 
   CPPFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir))
现在,我想在通过命令行运行makefile时包含一个名为../inc2的目录(在运行makefile的目录上方)

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


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

+=
意味着
CPPFLAGS
被附加而不是替换。这意味着您可以在shell中设置它,现有目录将被追加,如下所示:

export CPPFLAGS=-I../inc2
make
如果您需要经常这样做,更好的解决方案是将makefile更改为:

program_INCLUDE_DIRS += ../inc ../inc2

@Karl…我无法使用导出功能实现这一点…您能否建议通过命令行直接执行此操作,如…make CPPFLAGS+=-I../inc2。此外,我猜在导出时,../inc2被../inc2过度使用了。您使用的是什么shell
CPPFLAGS=-I../inc2 make
也适用于大多数类似unix的shell。我不知道windows会是什么样子。