내 프로젝트에 다음과 같은 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
명확히하기 위해 릴리스 / 디버그 빌드를 말할 때 makefile의 내용을 수동으로 주석 처리하지 않고 make
릴리스 빌드를 입력 하고 make debug
디버그 빌드를 얻을 수 있기를 원합니다 .
.PHONY