一个指定编译规则的脚本。主要对象是C,C++
目标: 依赖 要执行的命令
main:main.o first.o#这里完全可以不用first.o命名,只要这个目标能生成main目标需要的组件(这里是first.o)就ok了。这里写first.o只是为了直观而已 gcc main.c first.o -o result.out first.o:first.c first.h gcc -c first.c clean: rm -r main.o first.o result.out
解释
OBJS=main.o first.o second.o #定义变量 SIGN=1 #定义变量 main:$(OBJS) #使用变量 ifeq ($(SIGN),1) #if 判断 gcc $(OBJS) -o result else echo hello endif midfile:main.o first.o second.o#伪目标,用来检查依赖目标 first.o:first.c first.h gcc -c first.c second.o:second.c second.h gcc -c second.c clean: rm -r *.o result