Makefile文件简单整理
.PHONY:clean
main:hello.o
gcc -o main hello.c
hello.o:hello.c
gcc -c hello.c
clean:
rm -f hello.o main
---------------------------------------
makefile伪目标
只包含目标,没有任何依赖的目标称为伪目标。上例中clean即为伪目标
使用 .PHONY 将 clean 声明为伪目标
---------------------------------------
Makefile构成规则
目标 依赖 命令
hello.o:hello.c
gcc -c hello.c
命令行必须使用 table键开头
--------------------------------------
最终目标:Makefile文件第一个目标
make + 目标名字
make hello.o
make clean
make 后面不跟内容,执行生成最终目标
-------------------------------------------
Makefile规则---变量
obj=func1.o func2.o ( = 的两侧不能有空格)
app1:app1.o $(obj)
gcc app1.o $(obj) -o app1
-----------------------------------------
存在于系统之中定义好了的变量
$^ 代表所有的依赖文件
$@ 代表目标文件
$< 代表第一个依赖文件
------------------------------
去回显功能
只需要在命令行前面加上@即可
@gcc -c hello.c
----------------------------
指定Makefile文件
执行make命令时,默认会找Makefile文件或者makefile文件
可以使用 -f选项指定 make文件
make -f mk
make clean -f mk
---------------------------------
通用规则:
目标名字和依赖文件名字相同,只是后缀不同,且依赖文件只有一个
%.o:%.S
arm-linux-gcc -o $@ $^
(通配符的意思)
最新文章
- WebEssentials 在vs2013 update5安装报错的解决方法.
- C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
- quartz(1)
- java读取properties配置文件总结
- Windows 之 CMD命令
- QT Windows下生成动态链接库
- C - 下沙小面的(2)
- 关于sql中去换行符的问题
- 使用java实现面向对象-File I/O
- Meteor的初步了解
- 使用jemeter手工编写注册、登陆脚本 运用 fiddler (一)
- spring-oauth-server实践:access_token的有效期分析
- Ubuntu 服务器443端口证书配置
- python3.0 第三天 文件操作
- The JRE_HOME environment variable is not defined correctly This environment
- mysql5.7 root用户默认密码
- webservice的简单使用,cxf框架的的使用
- Android View 绘制流程
- Spring Boot设置值:分别用@ConfigurationProperties和@Value给属性设值及其区别
- vue-cli 2.x 项目优化之:引入本地静态库文件
热门文章
- 关键词:ACM &; 大小端 &; 面试官
- Sublime怎样新建HTML文档
- 解决 “invalid resource directory name”, resource “crunch”
- COM编程概述
- android textView 添加超链接(两种实现方式)
- OBD 14230 Slow, Addr激活
- PayPal网站付款标准版(for PHP)
- Docker 端口映射问题解决
- JavaEE基础(六)
- HDU 3966:Aragorn&#39;s Story(树链剖分)