0
我有以下生成文件,工作正常,我只是想看看是否有可能進一步優化這樣的Makefile:優化下面讓文件
CC=gcc
FLAGS=-lm -std=c99
PROJECT1_FOLDER=./Project1/
PROJECT2_FOLDER=./Project2/
PROJECT3_FOLDER=./Project3/
DEBUG1=$(PROJECT1_FOLDER)Debug/
DEBUG2=$(PROJECT2_FOLDER)Debug/
DEBUG3=$(PROJECT3_FOLDER)Debug/
all : test1 test2 test3
.PHONY : all
.PHONY : clean
test1 : $(addprefix $(PROJECT1_FOLDER), src1.c header1.h main.c)
$(CC) $(addprefix $(PROJECT1_FOLDER), src1.c main.c) -I$(PROJECT1_FOLDER) -o $(DEBUG1)test1
test2 : $(addprefix $(PROJECT2_FOLDER), src2.c header2.h main.c)
$(CC) $(addprefix $(PROJECT2_FOLDER), src2.c main.c) -I$(PROJECT2_FOLDER) -o $(DEBUG2)test2
test3 : $(addprefix $(PROJECT3_FOLDER), src3.c header3.h main.c)
$(CC) $(addprefix $(PROJECT3_FOLDER), src3.c main.c) -I$(PROJECT3_FOLDER) -o $(DEBUG3)test3
clean :
rm $(DEBUG1)test1 $(DEBUG2)test2 $(DEBUG3)test3
我可以看到食譜TEST1,TEST2和TEST3基本上是一樣的,有沒有辦法將它們摺疊成一行?
你爲什麼要輸出到一個單獨的'Debug'目錄?你最終打算有調試版和非調試版嗎?你爲什麼不使用單獨的編譯? – user657267
「我有以下makefile文件......」這是*真的嗎?如果不是發佈 真實的那個,那麼我們可以看到配方實際上相似的方式。 –
@ user657267,只是因爲我想學習如何使用makefile來編譯不同的項目,每個項目都有自己的調試內容等,這只是一個示例makefile而已。 – user8469759