写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值。

但是这样有一个缺点,这样会把目录下的所有源文件都编译进来,有些文件可能你不希望编译的,可能会引起不必要的错误。

可以根据自己的需要选择。

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