编译所有子目录的makefile

980阅读 0评论2013-05-24 sometimeixpub
分类:C/C++

经常有人需要顺序编译一个一个的模块,最后才连接生成可执行程序,但是如果一个模块一个模块地执行make,比较马法,下面是一个经过验证的makefile;
可以根据自己的需要修改SUBDIRS宏的值,设定自己需要编译的目录的顺序.就可以了.

##############################
# file   Makefile
# author  chenli
# date  2008-02-01
###############################
 


#编译所有子目录
#SUBDIRS=`ls -d */ | grep -v 'bin' | grep -v 'lib' | grep -v 'include'`

#编译指定子目录
SUBDIRS=dir1 dir2 dir3

define make_subdir
 @for subdir in $(SUBDIRS) ; do \
 ( cd $$subdir && make $1) \
 done;
endef

all:
 $(call make_subdir , all)
 
install :
 $(call make_subdir , install)
 
debug:
 $(call make_subdir , debug)
clean:
 $(call make_subdir , clean) 


上一篇:dnw应用程序以及驱动程序编译说明
下一篇:实例-drbd脑裂恢复实例一