Makefile 文件格式;makefile伪目标

Makefile包含 目标文件、依赖文件、可运行命令三部分。

每部分的基本格式例如以下:

test: prog.o  code.o

gcc  -o  test   prog.o   code.o

当中,第一行的test是目标文件。 prog.o、code.o是依赖文件

第二行的gcc -o test prog.o code.o是可运行命令

整个Makefile文件都是这样的格式。

参考链接:

https://blog.csdn.net/haoel/article/details/2886

Makefile 伪目标:

https://www.cnblogs.com/hnrainll/archive/2011/04/12/2014082.html

https://blog.csdn.net/tanqiuwei/article/details/25381643

原文地址:https://www.cnblogs.com/xuyaowen/p/makefile-format.html

时间: 2024-11-13 07:59:38

Makefile 文件格式;makefile伪目标的相关文章

makefile中的伪目标

伪目标就是总是被执行的目标,相对于目标来说,伪目标不会去考虑它的依赖的时间戳与自己时间戳的新旧关系,从而决定是否执行规则.伪目标格式: .PHONY:clean clean: -rm *.o 在makefile里面通常会将clean这个目标指定为伪目标,这个目标有个特性就是无依赖,那么每次make clean的时候都会执行它的规则:-rm *.o,那么为什么要指定为伪目标,平时看到的makefile都是把它当中一般目标.假设不指定clean为伪目标,我当前文件夹下有1个文件: a.c.我的mak

.PHONY makefile中的伪目标

我的理解: 拿clean举例,如果make完成后,自己另外定义一个名叫clean的文件,再执行make clean时,将不会执行rm命令. 为了避免出现这个问题,需要.PHONY: clean ======================================================================================= 所谓伪目标就是这样一个目标,它不代表一个真正的文件名,在执行make时可以指定这个目标来执行其所在规则定义的命令,有时我们将一个伪

第3课 - makefile伪目标的引入

第3课 - makefile伪目标的引入 1. makefile中的目标究竟是什么? (1)默认情况下,make认为目标对应着一个文件 →  目标即文件名 (2)make首先会检测目标对应的文件是否存在,若不存在则执行依赖和命令.若存在则会比较目标文件和依赖文件的新旧关系,决定是否执行命令. (3)make以文件处理作为第一优先级 2. 伪目标的引入 下面的代码有什么意义? clean : rm *.o hello.out ↓ make clean 执行make clean会将第2课中编译生成的

Makefile伪目标

本节我们讨论一个Makefile中的一个重要的特殊目标:伪目标. 伪目标是这样一个目标:它不代表一个真正的文件名,在执行make时可以指定这个目标来执行其所在规则定义的命令,有时我们也可以将一个伪目标称为标签.使用伪目标有两点原因: 1. 避免在我们的Makefile中定义的只执行命令的的目标(此目标的目的为了执行执行一系列命令,而不需要创建这个目标)和工作目录下的实际文件出现名字冲突. 2. 提高执行make时的效率,特别是对于一个大型的工程来说,编译的效率也许你同样关心. 以下就这两个问题我

从头开始写项目Makefile(四):伪目标

[版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] 一般情况下,Makefile都会有一个clean目标,用于清除编译过程中产生的二进制文件.我们在第一节的Makefile就用到了这个 clean目标,该目标没有任何依赖文件,并且该目标对应的命令执行后不会生产clean文件. 像这种特点目标,它的规则所定义的命令不是去创建文件,而仅仅通过make指定目标来执行一些特定系统命令或其依赖为目标的规则(如all),称为

linux之Makefile 编写、规则、伪目标

什么是Makefile?首先,make是一个工具程序(Utility software),是一种控制编译或者重复编译软件的工具:make可以自动管理软件编译的内容.方式和时机从而使程序员能够把精力集中在编写代码上.那make怎样工作呢?其实make是通过makefile文件实现的.makefile是一个文本形式的数据库文件.其中包含一些规则,这些规则告诉make需要编译哪些文件.怎样编译这些文件以及在什么样的条件下去编译. 关于Makefile的基本规则: target: dependency

Makefile:如何写目标依赖

本文并不是Makefile的教程,仅是本人学习时的感悟. Makefile的基本格式 目标:依赖文件(or 目标) [tab]命令 目标: 是要生成的或操作的命令的索引 依赖: 是生成目标依赖的文件或目标 命令: 是为了生成目标需要执行的shell语句 任意一个依赖文件被改动,将导致已存在的目标文件过期,简单来说,依赖的作用就是决定目标是否过期,是否需要重新编译. 举个例子, #include <stdio.h> #include "mylib1.h" #include &

GNU-makefle (三) 规则语法、文件查找、伪目标

参考链接:http://blog.csdn.net/haoel/article/details/2889 当命令和依赖关系描述在同一行时,可以使用分号 分隔. 当命令太长时,也可以用反斜杠 \ 来分隔成多行,分隔出的行首有没有tab都可以(空格更无所谓了). 在指定文件目录时,可以用~来表示系统home目录,因为make会以shell来执行. VPATH Makefile文件中的特殊变量.它指定make可以去哪些目录找寻依赖文件和目标文件. 默认不定义它,则在当前目录找,多目录用冒号(:)分隔

Configure,Makefile.am, Makefile.in, Makefile

无论对于一个初学者还是一个资深的Linux程序员,编写Makefile文件都是一件很麻烦的事:再者,开发人员应该把主要的精力放在程序代码的编写上,而在Makefile文件花费太多的精力显然是不明智的:还有,对于不同的处理器架构,往往编译器不同,环境不同,特别是一些嵌入式系统中的各种程序的编译,于是移植问题也使Makefile文件编写趋于复杂,也显得这个问题很重要.对于这些问题Linux的高手们早已想到了,所以他们开发了一些能够自动生成Makefile文件的工具.他们就是下面这些工具: 〉GNU