Ho il seguente makefile per il mio progetto e vorrei configurarlo per build di rilascio e debug. Nel mio codice, ho un sacco di #ifdef DEBUG
macro a posto, quindi è semplicemente una questione di impostare questa macro e aggiungere i -g3 -gdwarf2
flag ai compilatori. Come posso fare questo?
$(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
Solo per chiarire, quando dico build di rilascio / debug, voglio essere in grado di digitare make
e ottenere una build di rilascio o make debug
ottenere una build di debug, senza commentare manualmente le cose nel makefile.
.PHONY