2012-04-18 31 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