2
我在使用GNU makefile時遇到了一個愚蠢的問題。 我想定義兩個目標來構建一個c程序;一個用調試,另一個不用。在Makefile命令中設置變量
runNoDebug: setNoDeb objs runMe
runDebug: setDeb objs runMe
setNoDeb:
{EXPORT} MyDEBUG= -O3
setDeb:
{EXPORT} MyDEBUG="-DDEBUG=1 -g"
objs: cFiles
$(CC) -o [email protected] $^ $(cFiles) $(CFLAGS) $(LIBS) $(MYDEBUG)
runme: objs
./oo
運行此makefile時出現錯誤,設置調試命令在子shell上執行導致錯誤。如果添加了「導出」,則該變量在該子外殼中定義。
我想在構建對象時使用的makefile iteself中定義這個變量。
可能嗎?或者我應該複製「objs:cFiles」目標?
的可能重複[我如何配置我的makefile調試和發佈版本?(http://stackoverflow.com/questions/1079832/how-can-i-configure-my-makefile-用於調試和釋放,構建) – Mark 2012-07-24 11:38:56