【Linux】 C编程之 makefile使用

一,示例

四个文件:main.c;main.h;t_print.c;t_print.h

makefile:写法1)

main:main.o t_print.o gcc main.o t_print.o -o main main.o:main.c main.h gcc -c main.c t_print.o:t_print.c t_print.h gcc -c t_print.c clean: rm main.o t_print.o 执行:make 或 make main

删除中间文件: make clean

写法2)

main:main.o t_print.o gcc main.o t_print.o -o main main.o:main.c main.h gcc -c main.c t_print.o:t_print.c t_print.h gcc -c t_print.c 执行:make 或 make main

写法3)

main:main.o t_print.o gcc main.o t_print.o -o main 执行:make 或 make main

make 命令会自动推导 main.o的产生所需要的文件

写法4)

object=main.o t_print.o main:$(object) gcc $(object) -o main clean: rm $(object)
这里使用了变量,但是依赖关系显得有些不清楚。

【特别注意】gcc 前面是 Tab空格键

二,make 执行过程

1)make 在当前目录下找 "Makefile"或"makefile"的文件

2)如果找到,则会找文件中第一个目标文件(target)。如上例子中main

3)如果 main 命令的执行,依赖后面命令执行所产生的文件,则先执行后面命令

4)当main 命令需要的文件生成完毕,则执行main 命令

三,细节

1)可以使用其他的文件名作为makefile 如 Make.linux

make -f Make.linux //-f file 指定文件

2)makefile 中还可以包含其他文件例如

makefile:

object=main.o t_print.o main:$(object) gcc $(object) -o main clean: rm $(object) include aa aa:cleanmain: rm main 执行:make cleanmain想当于执行 rm main

说明:make命令开始时,会把找寻include所指出的其他file,并把file中内容放置在当前位置

3)makefile中某条命令前加上 "-"表示无论发生什么错误,都不要报错继续执行

-rm main.o t_print.o // 可以写成通配符 rm *.o

-----夜已经深了----未完待续-----










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值