make笔记

原创 2006年06月15日 11:10:00

规则:. 1

目标(target):. 1

缺省最终目标... 1

假想目标... 1

命令... 2

依赖... 2

没有命令或依赖的规则... 2

 

规则:

规则形式如下:

targets : prerequisites

        command

        ...

或:

targets : prerequisites ; command

        command

        ...

目标(target:

是文件的名称,中间由空格隔开。通配符可以在文件名中使用(参阅在文件名中使用通配符),‘am)’形式的文件名表示成员m在文件a中(参阅档案成员目标)。一般情况下,一条规则只有一个目标,但偶尔由于其它原因一条规则有多个目标(参阅具有多个目标的规则)。

缺省最终目标

缺省最终目标是makefile文件中的第一条规则的目标。如果第一条规则有多个目标,只有第一个目标被认为是缺省最终目标。有两种例外的情况:以句点(‘.’)开始的目标不是缺省最终目标(如果该目标包含一个或多个斜杠‘/’,则该目标也可能是缺省最终目标);另一种情况是格式规则定义的目标不是缺省最终目标

假想目标

假想目标的名称前带‘.’。假想目标并不是一个真正的文件名,它仅仅是您制定的一个具体规则所执行的一些命令的名称。使用假想目标有两个原因:避免和具有相同名称的文件冲突和改善性能。

命令

行以Tab字符开始,第一个命令可以和依赖在一行,命令和依赖之间用分号隔开,也可以在依赖下一行,以Tab字符为行的开始。这两种方法的效果一样。

依赖

也由文件名构成,文件名之间由空格隔开,通配符和档案成员也允许在依赖中出现。

没有命令或依赖的规则

如果一个规则没有依赖、也没有命令,而且这个规则的目标也不是一个存在的文件,则make认为只要该规则运行,该目标就已被更新。这意味着,所有以这种规则的目标为依赖的目标,它们的命令将总被执行。这里举一个例子:

clean: FORCE

        rm $(objects)

FORCE:

这里的目标‘FORCR’满足上面的特殊条件,所以以其为依赖的目标‘clean’将总强制它的命令执行。关于‘FORCR’的名字没有特别的要求,但‘FORCR’是习惯使用的名字。

也许您已经明白,使用‘FORCR’的方法和使用假想目标(.PHONY: clean)的结果一样,但使用假想目标更具体更灵活有效,由于一些别的版本的make不支持假想目标,所以‘FORCR’出现在许多makefile文件中。

 

make学习笔记.rar

  • 2011年11月24日 16:59
  • 267KB
  • 下载

openwrt学习:make menuconfig的一些笔记

由于公司对于新CPU开发很着急,似乎明年2月份就能达到量产的目标。之前只有2个人在做平台级的开发,于是就另外抽调人手,而我就在其中。我之所心搞openwrt是因为硬件部门的样机一直未有时间表,而我总不...
  • subfate
  • subfate
  • 2015年10月31日 12:38
  • 3013

linux编程学习笔记(五) make的使用和Makefile

原地址:http://blog.csdn.net/a8887396/article/details/8996358 1 基本构成语法 基本单位目标target 目标名:依赖目标 依赖目标...

Make编译学习笔记(三)Makefile基本规则

所有的规则都以目标、依赖、和命令组成,最最简单的规则就是前面提到的这种规则 Makefile 中规定了一些特殊目标,以伪目标为例 一个规则可以有个多目标,如果其依赖更新了那么所有的目标都会更新 通常使...

《笑傲股市 How to Make Money in Stocks》读书笔记

第一部分 CAN SLIM法则 第一章 最重要的选股秘诀        本书概述,略 第二章 学会识图以提高选股和选时 最普遍的价格形态:带柄茶杯形态 持续7~65周不等,多数为3~6个月...

读书笔记-Don't Make Me Think(Steve Krug)

如果一个东西很难用,我就不会经常使用它。 第一章:别让我思考(Krug可用性第一定律)    设计者应该尽量做到让每一个页面都不言而喻、一目了然、自我解释的。普通用户只需看他一眼就知道是什么内容,...

Managing Projects with GNU make 学习笔记

1. 简介 makefile定义了一种语言来描述源代码、中间文件及可执行文件之间的关系。 如果命令行指定了目标,则更新指定的目标,如果没有,则取第一个目标,也即默认目标。 1.1 目标与依赖...
  • yarsen
  • yarsen
  • 2012年03月31日 14:31
  • 1287

FX3学习笔记2-cs-make[1]: [post-build] Error 2 (ignored)

1、实验环境硬件平台:CYUSB3KIT-003 EZ-USB® FX3™ SuperSpeed Explorer Kitdk版本:EZ-USB FX3 SDK1.3 / SuperSpeed Exp...
  • gyb510
  • gyb510
  • 2016年12月30日 15:45
  • 719

GUN学习笔记之make变量

在之前的学习中,我们曾使用到变量,现在,让我们回顾曾在范例中出现的一些变量。其中最简单的变量语法如下: $(variable-name) 这表明我们想扩展名字为variable-name的变量。变量...
  • Kai_gai
  • Kai_gai
  • 2015年05月13日 10:01
  • 937

make 学习笔记

make 是用来构建和管理工程的工具,它是一个命令,需要解释一个称为 makefile 中的指令,makefile 是描述工程中所有文件的编译、链接的规则。 make 可以根据依赖文件和目标文件的最...
  • hazir
  • hazir
  • 2015年04月01日 11:07
  • 918
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:make笔记
举报原因:
原因补充:

(最多只允许输入30个字)