Makefile之写demo时的通用Makefile写法总结

  前面的一篇博文Makefile之大型工程项目子目录Makefile的一种通用写法介绍了大型项目子目录Makefile的一种通用写法,然而最近在写Linux网络方面的demo,一个目录下有几个文件,若是手工输命令显得太不专业了大笑。因而按该博文的方法改编了一下Makefile,也当学习之用。该Makefile适用于一个C文件生成一个可执行程序的场景(代码片断3适用于多个C文件生成一个可执行程序),使用该方法当工程目录内的文件有增删时无需对Makefile进行改动,能够说至关的智能。若是对patsubstwildcardsubst函数不了解的话可参阅上述博文。同时在测试过程当中,又发现了一种更简洁的写法,如代码片断2,应该是使用了某些隐式规则,因为项目较忙,还将来得及深刻研究,先记录下来,等空下来再研究,还望路过大侠多多指点。网络

1:若是在当前目录中直接make的话使用下列代码:函数

#General Purpose Makefile by guoqingbo学习

                           

objects := $(patsubst %.c,%.o,$(wildcard *.c))  测试

executables := $(patsubst %.c,%,$(wildcard *.c))  spa

                           

all :  $(objects).net

$(objects) : %.o: %.c orm

    gcc -c $< -o $@blog

    gcc $< -o $(subst .o, ,$@) get

clean :it

     @rm -rf *.o *~

     @rm -rf ${executables}

 .PHONY : clean

相关文章
相关标签/搜索