Makefile学习笔记

第一个例子

gcc -o hello hello.c

利用Makefile,可以写成

hello : hello.c
	gcc -o hello hello.c

make一下,可以看到执行了gcc -o hello hello.c命令,生成了hello文件。只要目标hello还在,或者依赖hello.c未修改,再make就不会执行下面的命令。

第一个例子优化

hello : hello.c
	gcc -o $@ @<

@ 和 @ < 分别表示目标和第一个依赖文件, @和@<分别表示目标和第一个依赖文件, @@<分别表示目标和第一个依赖文件,^表示所有的依赖文件。

多文件Makefile编写

五个文件hello.c,src1.c,src1.h,src2.c,src2.h,每个生成对应.o文件,组后链接为hello可执行文件

hello : hello.o src1.o src2.o
	gcc -o $@ $^ 

hello.o : hello.c src1.h src2.h
	gcc -c $^

src1.o : src1.c
	gcc -c $<

src2.o : src2.c
	gcc -c $<

clean :
	rm *.o hello

这样写太麻烦,可以优化为

cc = gcc

hello : *.o 
	$(cc) -o $@ $^ 

%.o : %.c
	$(cc) -c $^

clean :
	rm *.o hello 
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值