ฉันมี 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
เพื่อชี้แจงเมื่อฉันพูดว่า build / debug builds ฉันต้องการพิมพ์make
และรับ build build หรือmake debug
รับ debug build โดยไม่ต้องคอมเม้นต์สิ่งต่าง ๆ ใน makefile ด้วยตนเอง
.PHONY