无废话,直接上代码:
.PHONY:all clean exclude_dirs := Makefile dirs := $(shell ls) dirs := $(filter-out $(exclude_dirs),$(dirs)) all: $(foreach N,$(dirs),make -C $(N);) clean: $(foreach N,$(dirs),make -C $(N) clean;)
参考:http://blog.csdn.net/force_eagle/article/details/2629030
其中 exclude_dirs: 中排除不需要编译的目录项。