2017-03-28 82 views
0

我想要將預處理器宏從特定目標中的主生成文件導出到內部生成文件。在生成文件中導出預處理器宏

例如: Main_Makefile

target1 : 
    CXXFLAGS+=-DNewFlag=NewFlag 
    cd some_directory; make 

在這裏,我想用CXXFLAGS的值是-DNewFlag = NewFlag並且只下some_directory目標1定義/讓

請讓我知道我該怎麼做到這一點。

+0

expor t變量不能改變,因此使用另一個變量名來做到這一點... –

+0

Ankur,我的力量得到你的意思。 – Hudson

+0

不要使用CXXFLAG作爲導出變量。 –

回答

2

除非您在子目錄的makefile中安排它,否則無法從命令行追加到變量。

做最簡單的事情是使用不同的變量,像這樣:

target1: 
     cd some_directory && $(MAKE) EXTRA_CXXFLAGS=-DNewFlag=NewFlag 

(注意:您應該總是使用$(MAKE)${MAKE}直接調用子化妝的時候,從來沒有make

然後在子目錄中的Makefile你做這樣的事情:

CXXFLAGS += $(EXTRA_CXXFLAGS)