linux应用程序设计--Makefile工程管理
Makefile文件描述了整个工程的编译、链接等规则。包括:工程中哪些源文件需要编译以及如何编译;需要创建哪些库文件以及如何创建这些库文件、如何产生最终的可执行文件。
Makefile相关术语
1.规则:用于说明如何生成一个或多个目标文件。在Makefile中,规则的顺序非常重要,因为Makefile中只应该有一个最终目标,其他目标都是为了生成该目标而产生的中间文件,所以一般第一条规则中的目标将被确认为最终的目标。
规则格式如下:targets : prerequisites
command
目标 依赖 命令
例如:main.o : main.c
gcc -c main.c 说明:命令需要以【TAB】键开始
2.编译程序时,使用make命令,将默认在当前目录下寻找名字为makefile或者Makefile的工程文件,当名字不为两者时,可通过如下命令指定:
make -f filename
3.伪目标:Makefile中把那些没有任何依赖,只有执行动作的目标称为“伪目标”(phony targets)。
伪目标格式如下:.PHONY : clean 说明:.PHONY将clean目标声明为伪目标
clean :
rm -f hello main.o
4.变量
变量使用例程:obj = main.o fun1.o fun2.o
hello : $(obj)
gcc $(obj) -o hello
5.Makefile默认变量
$^ : 代表所有的依赖文件
$@ : 代表目标
$< : 代表第一个依赖文件
使用例程:hello : main.o fun1.o fun2.o
gcc $^ -o $@
6.Makefile中“#”字符后的内容为注释;“@”字符为取消回显,不显示Makefile中的命令。
最新文章
- Chrome 自动填充的表单是淡黄色的背景,有方法自定义吗
- PHP面向对象学习一
- Memcached监听多个端口_同一台Windows机器中启动多个Memcached服务
- php file_put_contents() 写入回车
- SQL的自增列如何重置
- c#里面的namespace基础(一)
- cocos2dx 各种环境的搭建
- HelloSilverlight
- 使用SndPlaySound从内存中播放WAV
- SQL Server 备份和还原
- ARM-LINUX自动采集温湿度传感器数据
- mac os x下的程序快速切换快捷键
- mysql5.6基于主从复制的mmm高可用架构详解
- mysql使用druid监控配置
- E - Closest Common Ancestors
- Linux内核分析期中总结
- 无线模块 RXB12-315m TXB12-315M 应用
- Linux vim 编辑命令
- windows命令行设置IP与DNS
- 【oracle笔记4】存储过程