寫Makefile(三)

 前面寫了“寫Makefile(二)”,現在對前面的Makefile作一個改進。

 現在源文件有三個,分別是:main.cpp,tdes.c和tdes.h,Makefile內容如下:

看到了嗎,現在沒有對每個.o文件單獨寫一個依賴規則,今後幾十增加更多的.c和.cpp文件,只需要在OBJS文件後面添加一個.o文件的名字就可以了。

 

上面的辦法已經比較簡便了,但是還有人嫌編輯那麼多.o名字麻煩,那麼還有一個辦法,Makefile更改如下:

上面通過$(patsubst %.c,%.o,$(wildcard *.c)) 和$(patsubst %.cpp,%.o,$(wildcard *.cpp),將目錄下.c和.cpp文件名字全部轉化成.o文件列表,並賦予變量OBJS值。

但是這樣有一個缺點,這樣會把目錄下的所有源文件都編譯進來,有些文件可能你不希望編譯的,可能會引起不必要的錯誤。

可以根據自己的需要選擇。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章