.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 $@ $^

(通配符的意思)

最新文章

  1. WebEssentials 在vs2013 update5安装报错的解决方法.
  2. C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
  3. quartz(1)
  4. java读取properties配置文件总结
  5. Windows 之 CMD命令
  6. QT Windows下生成动态链接库
  7. C - 下沙小面的(2)
  8. 关于sql中去换行符的问题
  9. 使用java实现面向对象-File I/O
  10. Meteor的初步了解
  11. 使用jemeter手工编写注册、登陆脚本 运用 fiddler (一)
  12. spring-oauth-server实践:access_token的有效期分析
  13. Ubuntu 服务器443端口证书配置
  14. python3.0 第三天 文件操作
  15. The JRE_HOME environment variable is not defined correctly This environment
  16. mysql5.7 root用户默认密码
  17. webservice的简单使用,cxf框架的的使用
  18. Android View 绘制流程
  19. Spring Boot设置值:分别用@ConfigurationProperties和@Value给属性设值及其区别
  20. vue-cli 2.x 项目优化之:引入本地静态库文件

热门文章

  1. 关键词:ACM &amp; 大小端 &amp; 面试官
  2. Sublime怎样新建HTML文档
  3. 解决 “invalid resource directory name”, resource “crunch”
  4. COM编程概述
  5. android textView 添加超链接(两种实现方式)
  6. OBD 14230 Slow, Addr激活
  7. PayPal网站付款标准版(for PHP)
  8. Docker 端口映射问题解决
  9. JavaEE基础(六)
  10. HDU 3966:Aragorn&#39;s Story(树链剖分)