博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
makefile
阅读量:4988 次
发布时间:2019-06-12

本文共 838 字,大约阅读时间需要 2 分钟。

1. makefile 文件描述了整个工程的编译,链接等规则。
 
规则:用于说明如何生成一个或多个目标文件,规则格式如下:
targets: prerequisites
       command
目标 : 依赖
       命令 (命令需要以[TAB]键开始)
例:
main.o: main.c
 gcc -c main.c
 
2. 目标:
Makefile 中只应该有一个最终目标,其他目标都是被这个目标所带出来的
一般,第一条规则中的目标将被认为是最终目标。
 
3. 文件名:
make 命令默认在当前目录下寻找名字为makefile或Makefile的文件。
或使用:
make -f 指定文件名。
 
4. 伪目标:
 
Makefile中把那些没有任何依赖的只有执行动作的目标称为“伪目
标”(phony targets).
 
如:
.PHONY: clean   ( .PHONY 将 clean 目标声明为伪目标)
clean:
 rm -f hello main.o
 
5. 变量:
obj=main.o func1.o func2.o
hello:$(obj)
 gcc $(obj) -o hello
 
在makefile中,存在系统默认的自动化变量
$^ --- 代表所有的依赖文件
$@ --- 代表目标
$< --- 代表第一个依赖文件
 
例:
hello: main.o func1.o func2.o
 gcc main.o func1.o func2.o
==>
hello: main.o func1.o func2.o
 gcc $^ -o $@
 
6. 杂项:
a. Makefile 中 “#” 字符后的内容被视为注释。
b. @ --- 取消回显,不会显示命令信息。
如:
hello: hello.c
 @gcc hello.c -o hello

转载于:https://www.cnblogs.com/wangfengju/archive/2013/01/28/6173296.html

你可能感兴趣的文章
关于Windows7下创建Cocos2D-X项目的小问题
查看>>
java之大文件断点续传
查看>>
全文搜索引擎Xapian
查看>>
QRadioButton 使用方法
查看>>
[LeetCode] Exclusive Time of Functions 函数的独家时间
查看>>
RN 开发常见小问题
查看>>
setjmp 与 longjmp
查看>>
Keil提示premature end of file错误 无法生成HEX文件
查看>>
JavaWeb学习总结第四篇--Servlet开发
查看>>
爬取翻译
查看>>
python中面向对象元类的自定义用法
查看>>
调试LD_PRELOAD注入的代码
查看>>
每天一个linux命令(8):cp 命令
查看>>
adb连接模拟器遇到的问题
查看>>
oc中字典的实现方法详解
查看>>
交叉验证
查看>>
手机页游再升级 腾讯出恶搞APEC元首换装小游戏
查看>>
关于formsauthentication注销登录
查看>>
20169207《Linux内核原理与分析》第十周作业
查看>>
ubuntu安装eclipse并添加快捷 方式
查看>>