工程管理器make
企业级makefile-v1.0
1.根目录makefile--总控的makefile
(1、进入各个功能子目录执行make命令 2.将所有.o文件链接生成可执行文件)
2.功能目录的makefile--1.将src目录里的.c文件编程生成.o文件
3.scripts的makefile--定义变量(相当于C语言中的头文件)
项目的makefile顺序:先看scripts的makefile,再看总控的makefile,其次看功能目录的makefile
include scripts/Makefile
modules_make = $(MAKE) -C $(1);
modules_clean = $(MAKE) clean -C $(1);
.PHONY: all mm mc clean
all: $(Target)
#Modules += check_putin pack_message main
#AllObjs := $(addsuffix /src/*.o,$(Modules))
#check_putin/src/*.o pack_message/src/*.o main/src/*.o
mm:
@ $(foreach n,$(Modules),$(call modules_make,$(n)))
mc:
@ $(foreach n,$(Modules),$(call modules_clean,$(n)))
$(Target) : mm
$(CC) $(CFLAGS) -o $(Target) $(AllObjs) $(Libs)
#gcc -Wall -O3 -o client check_putin/src/*.o main/src/*.o pack_message/src/*.o -lpthread
@ echo $(Target) make done!
clean : mc
rm -rf $(Target)
@ echo clean done!