makefile

makefile的作用?实现?

makefile 关系到整个工程的编译规则,一旦写好只要make命令就可实现整个工程的自动编译,当重新make时,只有发生改变的文件才会被重新编译,极大提高了软件开发效率。

makefiel的编写规则:

  1. 需要由make工具创建的目标体,通常是目标文件或可执行文件
  2. 要创建目标体所以来的文件
  3. 创建每个目标体时需要运行的命令,必须以制表符(tab键)开头
例: hello:main.o func1.o func2.o
gcc main.o func1.o func2.o -o hello
main.o:main.c
gcc -c main.c
func1.o:func1.c
gcc -c func1.c
func2.o:func2.c
gcc -c func2.c
.PHONY:clean
clean: rm -f hello main.o func1.o func2.o
定义在makefile中的目标可能会有很多,但第一条规则中的目标将被确立为最终目标。
PHONY修饰的目标只有规则没有依赖,如上当输入命令clean时规则执行-强制删除hello main.o func1.o func2.o文件。

“变量”的使用:第一二行代码可替换为
obj = main.o func1.o func2.o
hello:$(obj)
gcc $(obj) -o hello
使用“变量”可简化makefile文件的修改与书写

makefiel中: $^ 代表所有依赖文件
$@代表目标
$<代表第一个依赖文件
makefile中:“#”字符后的内容视为注释
@取消回显


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值