关闭

(杂记)Makefile的几种规则

标签: linuxMakefile编写规范
194人阅读 评论(0) 收藏 举报
分类:

Makefile文件用来告诉make如何编译生成一个程序,它也是make读入的唯一的配置文件 。

1.Makefile基本结构

简写为:
<strong>目标体:目标体依赖文件
(TAB)命令体</strong>
详细一点的解释如下:
<strong>目标文件/可执行文件/一个标签 :依赖文件*h/*.c/*.S/...
(TAB)命令体</strong>

2.编写规范

规则有三种:
<h2>1.普通规则</h2><span style="white-space:pre">	</span>例如:
<span style="white-space:pre">	</span>hello.o:hello.c hello.h
<span style="white-space:pre">		</span>gcc -c hello.c -o hello.o
<h2>2.隐式规则</h2><span style="white-space:pre">	</span>例如
<span style="white-space:pre">	</span>hello.o:hello.c hello.h
<span style="white-space:pre">		</span>命令体直接省略,
<span style="white-space:pre">	</span>因为编译器默认会根据hello.o这个目标体找到hello.c这个.c文件,然后编译。但隐式规则只适用于对应的.c文件,如果文件名不一致,则无法编译出来。
<h2>3.模式规则</h2><span style="white-space:pre">	</span>模式规则不同于隐式规则,是用来定义相同处理规则的多个文件,模式规则能引入用户自定义的变量,为多个文件建立相同的规则。简化Makefile的写法。
模式规则类似于普通规则,这个规则中的相关文件前必须用“%”标明。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:47640次
    • 积分:1187
    • 等级:
    • 排名:千里之外
    • 原创:68篇
    • 转载:0篇
    • 译文:1篇
    • 评论:2条