Ich habe das folgende Makefile für mein Projekt und möchte es für Release- und Debug-Builds konfigurieren. In meinem Code sind viele #ifdef DEBUG
Makros vorhanden. Es geht also nur darum, dieses Makro zu setzen und -g3 -gdwarf2
den Compilern die Flags hinzuzufügen . Wie kann ich das machen?
$(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
Um zu verdeutlichen, wenn ich Release- / Debug-Builds sage, möchte ich in der Lage sein, einfach make
einen Release-Build oder make debug
einen Debug-Build einzugeben und abzurufen, ohne die Dinge im Makefile manuell auskommentieren zu müssen.
.PHONY