无废话,直接上代码:
.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: 中排除不需要编译的目录项。