看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux 問題(Question): makefile有個好處是可以自行判斷檔案有沒有被改過,沒改過就不必重編 有個問題想請教一下.. http://www.study-area.org/cyril/opentools/opentools/makefile.html 這個網頁的例子 如果有很多個.cpp檔 就必須要有每個.cpp對應的target 例如command.cpp,就有command.o這個target command.o :command.c command.h $(CC) -o command.o command.c 但問題來了,當.cpp檔有幾百幾千個,又想要能自行判斷每個檔案是否被改過 這樣寫makefile不就xxx.o這樣的target也得要寫幾百幾千個 = = 請問有比較輕鬆的寫法嗎? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.197.207
AntaresStar:可以用automake配autoconf 不過也是挺複雜的 08/22 00:30
AntaresStar:不然就用IDE幫忙做 08/22 00:30
littleshan:bjam、scons、cmake 等等都比單用 make 好得多 08/22 00:34
Bencrie:%.o: %.c %.h 搭配 wildcard 08/22 00:39
Bencrie:個人是習慣同 target 的檔案放一起,方便 wildcard 抓檔案 08/22 00:40
littleshan:header的相依性其實要用makedepend來產生才正確 08/22 00:46
littleshan:所以我還是建議用進步一點的工具 也省得打錯編譯指令 08/22 00:47
Zoxge:可以請B大說得詳細一點嗎? 不太懂意思呀 謝謝 08/22 00:51
johnlinvc:cmake +1 08/22 00:55
Wush978:如: http://0rz.tw/z3GzQ 先例用wildcard建立所有目標 08/22 00:56
Wush978:然後下面利用 %.o : %.cpp ,搭配$<(對應到.cpp)和$@(.o) 08/22 00:57
Wush978:來撰寫compiling的指令即可。 08/22 00:57
johnjohnlin:cmake +1 08/22 01:14
vocaloid:gcc也可以幫你生dependency (-M) 08/22 01:25
lantw44:%.o: %.cpp 好像是 GNU extension 用 .cpp.o 也可以 08/22 15:35
lantw44:或是設好 CC / CXX / CFLAGS / CXXFLAGS 用 make 內建規則 08/22 15:36
lantw44:這樣直接列出 .o 應該就可以用了 08/22 15:36