工程管理器。

http://www.ruanyifeng.com/blog/2015/02/make.html(阮一峰)

参李慧芹c语言教程。参考资料:《跟我一起学makefile(陈皓)》、《makefile参考手册》。

帮助管理工程及文件依赖。

配置文件: 执行make命令时,默认寻找当前目录下的makefile或Makefile。如果两个文件都有的话,先使用makefile.

#STAGE 1
OBJS=main.o tool1.o tool2.o
CC=gcc
CFLAGS+=-c -Wall -g 

mytool:$(OBJS)
	$(CC) $(OBJS) -o mytool

main.o:main.c
	$(CC) main.c $(CFLAGS) -o main.o
tool1.o:tool1.c
	$(CC) tool1.c $(CFLAGS) -o tool1.c
tool2.o:tool2.c
	$(CC) tool2.c $(CFLAGS) -o tool2.c
	
clean:
	$(RM) *.o mytool   # RM相当于rm -f

$^: 代表所有依赖文件

$@: 指代目标文件

#STAGE 2
OBJS=main.o tool1.o tool2.o
CC=gcc
CFLAGS+=-c -Wall -g 

mytool:$(OBJS)
	$(CC) $^ -o $@

main.o:main.c
	$(CC) $^ $(CFLAGS) -o $@
tool1.o:tool1.c
	$(CC) $^ $(CFLAGS) -o $@
tool2.o:tool2.c
	$(CC) $^ $(CFLAGS) -o $@
	
clean:
	$(RM) *.o mytool   # RM相当于rm -f

%.o: %.c: %代表通配符

#STAGE 3
OBJS=main.o tool1.o tool2.o
CC=gcc
CFLAGS+=-c -Wall -g 

mytool:$(OBJS)
	$(CC) $^ -o $@

%.o:%.c
	$(CC) $^ $(CFLAGS) -o $@

clean:
	$(RM) *.o mytool   # RM相当于rm -f

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注