我的项目有以下makefile,我想对其进行配置以进行发布和调试。在我的代码中,我有很多#ifdef DEBUG
宏,因此只需设置此宏并将-g3 -gdwarf2
标志添加到编译器即可。我怎样才能做到这一点?
$(CC) = g++ -g3 -gdwarf2
$(cc) = gcc -g3 -gdwarf2
all: executable
executable: CommandParser.tab.o CommandParser.yy.o Command.o
g++ -g -o output CommandParser.yy.o CommandParser.tab.o Command.o -lfl
CommandParser.yy.o: CommandParser.l
flex -o CommandParser.yy.c CommandParser.l
gcc -g -c CommandParser.yy.c
CommandParser.tab.o: CommandParser.y
bison -d CommandParser.y
g++ -g -c CommandParser.tab.c
Command.o: Command.cpp
g++ -g -c Command.cpp
clean:
rm -f CommandParser.tab.* CommandParser.yy.* output *.o
为了澄清一下,当我说发布/调试版本时,我希望能够键入make
并获取发布版本或make debug
调试版本,而无需手动注释makefile中的内容。
.PHONY