আমার প্রকল্পের জন্য আমার কাছে নিম্নলিখিত মেকফিল রয়েছে এবং আমি এটি রিলিজ এবং ডিবাগ বিল্ডগুলির জন্য কনফিগার করতে চাই। আমার কোডে আমার কাছে প্রচুর #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
পেতে এবং একটি ডিবাগ বিল্ড পেতে সক্ষম হতে চাই ।
.PHONY