linux学习之C语言(5)------ Makefile详解
来源:互联网 发布:希捷 数据恢复服务 编辑:程序博客网 时间:2024/05/16 16:57
对上节简单的例子,通过编写的Makefile,将原来编译时需要4条命令直接减少为一条命令就可以解决,即直接输入make即可,当然了,Makefile的好处并不指的这一点,还有很多好处,下面就对Makefile详细的进行讨论。
Makefile语法规则:
targets : prerequistes <TAB> command 或: targets: prerequistes;command \ <TAB> command其中,第一行是依赖关系,第二行是命令,<TAB>代表指的是一个TAB键
eg: main:main.o my_fun1.o my_fun2.o gcc -o main main.o my_fun1.o my_fun2.o</span>
表示,目标(targets)的依赖对象是main.o,my_fun1.o,my_fun2.o,当依赖的对象在目标修改后修改的话,就要去执行类似第二个行的命令。
Makefile 有三个非常有用的变量.分别是$@,$^,$<代表的意义分别是:$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件.如果我们使用上面三个变量,那么我们可以简化
上节的Makefile。
简化后的Makefile:
main:main.o my_fun1.o my_fun2.ogcc -o $@ $^main.o:main.c my_fun1.h my_fun2.hgcc -c $<my_fun1.o:my_fun1.c my_fun1.hgcc -c $<my_fun2.o:my_fun2.c my_fun2.hgcc -c $<
还有一个Makefile的缺省规则,
..c.o: gcc -c $<这个规则表示所有的 .o 文件都是依赖与相应的.c 文件的
这样,Makefile还可以继续简化,
main:main.o my_fun1.o my_fun2.ogcc -o $@ $^..c.o:gcc -c $<
0 0
- linux学习之C语言(5)------ Makefile详解
- Linux下的C语言学习之Makefile编写
- linux学习之C语言(4)------ 简单Makefile的编写
- Linux下C语言开发之Makefile创建
- linux之makefile学习
- “C语言” 读书札记(六)之[Linux下C语言编程环境Make命令和Makefile]
- C语言再学习之:指针详解(1)
- C语言再学习之:指针详解(2)
- C语言学习之指针详解
- C语言学习之指针详解
- C语言学习之顺序表详解
- Linux 学习笔记之Makefile单个c文件的编写
- linux 之makefile文件详解
- linux下的C语言开发(makefile编写)
- linux下的C语言开发(makefile编写)
- linux下的C语言开发(makefile编写)
- linux下的C语言开发(makefile编写)
- 【转】 linux下的C语言开发(makefile编写)
- 有两个数a,b,请写一个函数交换a,b
- HDOJ 5014 Number Sequence
- 嵌入式开发的那些年--aiku
- lua单例2
- HDOJ 题目456 邮票分你一半(01背包)
- linux学习之C语言(5)------ Makefile详解
- HDOJ 5011 Game
- 共享三年嵌入式项目资料(源码+实物图+原创)(申精帖)
- 有两个指针pa,pb分别指向有两个数,a,b,请写一个函数交换两个指针的指向,也就是让pa指向b,让pb指向a
- HDOJ 5007 Post Robot
- 获取路由器超级用户权限(你懂得...)
- Maximum Subarray
- 实现一个计算器
- HDU - 5012 Dice(BFS)