相关推荐
-
跟我一起写 Makefile 作者:陈皓 整理:祝冬华
跟我一起写 Makefile 作者:陈皓 整理:祝冬华 来源网络,希望能与大家分享这份学习资料,资源分数也设置了最低值,如有侵权,请联系我删除文件。 第一部分、概述 (6) 第二部分、关于程序的编译和链接 (6) 第三部分、Makefile 介绍 (7) 一、Makefile的规则 (7) 二、一个示例 (8) 三、make是如何工作的 (9) 四、makefile中使用变量 (10) 五、让make自动推导 (11) 六、另类风格的makefile (12) 七、清空目标文件的规则 (13) 第四部分、Makefile 总述 (13) 一、Makefile里有什么? (13) 1、显式规则。 (14) 2、隐晦规则。 (14) 3、变量的定义。 (14) 4、文件指示。 (14) 5、注释。 (14) 二、Makefile的文件名 (15) 三、引用其它的Makefile (15) 四、环境变量 MAKEFILES (16) 五、make的工作方式 (16) 第五部分、书写规则 (17) 一、规则举例 (17) 二、规则的语法 (17) 三、在规则中使用通配符 (18) 四、文件搜寻 (19) 五、伪目标 (20) 六、多目标 (22) 七、静态模式 (22) 八、自动生成依赖性 (24) 第六部分书写命令 (25) 一、显示命令 (26) 二、命令执行 (26) 三、命令出错 (27) 四、嵌套执行make (28) 五、定义命令包 (30) 第七部分使用变量 (30) 一、变量的基础 (31) 二、变量中的变量 (32) 三、变量高级用法 (34) 四、追加变量值 (37) 五、override 指示符 (37) 六、多行变量 (38) 八、目标变量 (39) 九、模式变量 (40) 第八部分使用条件判断 (40) 一、示例 (40) 二、语法 (42) 第九部分使用函数 (43) 一、函数的调用语法 (44) 二、字符串处理函数 (44) 1、subst (44) 2、patsubst (45) 3、strip (45) 4、findstring (46) 5、filter (46) 6、filter-out (46) 7、sort (47) 8、word (47) 9、wordlist (47) 10、words (47) 11、firstword (48) 12、字符串函数实例 (48) 三、文件名操作函数 (48) 1、dir (48) 2、notdir (48) 3、suffix (49) 4、basename (49) 5、addsuffix (49) 6、addprefix (49) 7、join (50) 四、foreach 函数 (50) 五、if 函数 (50) 六、call函数 (51) 七、origin函数 (51) “undefined” (52) “default” (52) “file” (52) “command line” (52) “override” (52) “automatic” (52) 八、shell函数 (53) 九、控制make的函数 (53) 1、error (53) 2、warning (54) 第十部分 make 的运行 (54) 二、指定Makefile (54) 三、指定目标 (55) “all” (56) “clean” (56) “install” (56) “print” (56) “tar” (56) “dist” (56) “TAGS” (56) “check”和“test” (56) 四、检查规则 (57) 五、make的参数 (57) 第十一部分隐含规则 (61) 一、使用隐含规则 (61) 二、隐含规则一览 (62) 1、编译C程序的隐含规则 (63) 2、编译C++程序的隐含规则 (63) 3、编译Pascal程序的隐含规则 (63) 4、编译Fortran/Ratfor程序的隐含规则 (63) 5、预处理Fortran/Ratfor程序的隐含规则 (63) 6、编译Modula-2程序的隐含规则 (63) 7、汇编和汇编预处理的隐含规则 (64) 8、链接Object文件的隐含规则 (64) 9、Yacc C程序时的隐含规则 (64) 10、Lex C程序时的隐含规则 (64) 11、Lex Ratfor程序时的隐含规则 (65) 12、从C程序、Yacc文件或Lex文件创建Lint库的隐含规则 (65) 三、隐含规则使用的变量 (65) 1、关于命令的变量。 (65) 2、关于命令参数的变量 (66) 四、隐含规则链 (67) 五、定义模式规则 (68) 1、模式规则介绍 (68) 2、模式
-
跟我一起写 Makefile -- 陈皓
跟我一起写 Makefile(一) 概述 关于程序的编译和链接 Makefile 介绍 一、Makefile的规则 二、一个示例 跟我一起写 Makefile(二) 三、make是如何工作的 四、makefile中使用变量 五、让make自动推导 六、另类风格的makefile 七、清空目标文件的规则 跟我一起写 Makefile(三) Makefile 总述 一、Makefile里有什么? 二、Makefile的文件名 三、引用其它的Makefile 四、环境变量 MAKEFILES 五、mak
-
跟我一起写Makefile(工程笔记版)
实操如下
-
Makefile快速入门
问:什么是Makefile?答:定义make工具编译所参照的规则和依赖关系的文件make工具:它可以帮助我们找出项目里面修改变更过的文件,并根据依赖关系,找出受修改影响的其他相关文件,然后对这些文件按照规则进行单独的编译,如此就能避免重新编译项目的所有的文件。Makefile 文件:上面提到的规则、依赖关系主要是定义在这个Makefile文件中的,我们在其中合理地定义好文件的依赖关系之后,make工具就能精准地进行编译工作。
-
Makefile中的匹配符%
以前不用匹配符%的Makefile这么写:如果没有指定输出项目的时候Make会自动找到makefile中第一个目标中没有通配符的目标进行构造构造all,发现需要test1.o和test2.o这个时候他就会在Makefile文件中找到目标能匹配test1.o和test2.o的规则。找到test1.o的规则并且知道test1.c存在,运行下面的命令。同步骤三构造出test2.o现在构造all的源文件已经齐全,构建all其中最重要的是第2步。
-
Makefile 教程及详细示例解析(跟我一起写 Makefile)
在Makefile中,自动化变量是一组特殊的变量,它们在执行规则时会自动被设置为相应的值。这些自动化变量可以帮助我们在规则中引用与当前规则相关的文件名、目录名等信息。以下是常用的自动化变量:- $@:代表当前规则的目标文件名。- $
-
makefile学习总结
Make file 学习总结 一. make file有什么? Make file主要包含了五个东西,显示规则,隐晦规则,变量定义,文件指示和注释说明 1.1. 显示规则:说明了如何生成一个或多个目标文件 1.2. 隐晦规则:利用make 的自动推导功能,可以使我们可以粗糙简略地写make 1.3. 变量定义:类似
-
Makefile:从零开始入门Makefile
在构建项目的时候在哪个目录下执行构建make命令,则这个目录下的makefile文件就会执行,因此在一个项目中可以存在多个makefile文件,分别位于不同的项目目录中。:查看当前规则的目标文件和依赖文件的修改时间,如果目标文件修改时间晚于依赖文件则不执行操作,早于依赖文件则执行步骤3。:当规则中的依赖文件不存在时,则会遍历Makefile文件中的其他规则,寻找能生成当前依赖文件的规则,并执行。:查看Makefile文件的规则中的依赖文件是否存在,存在则执行命令,不存在则执行步骤3。
-
Makefile 保姆级使用教程
Makefile 使用教程 设计思想 Makefile 菜鸟教程Makefile 规则 Makefile的使用介绍 make 命令的使用 即时变量、延时变量介绍和使用使用make命令编译多个文件假想目标 常用函数 1.$(foreach var,list,text) 2.$(wildcard pattern) 3.$(filter pattern...,text) 4.$(filter-out pattern...,text) 5.$(patsubstpattern,replacement,text)
-
Makefile 学习
1.1 通配符 % 代表一个或多个字符,%.o 就是代表所有以.o为结尾的文件 makefile 自动规则 1.2 makefile 定义和使用变量 直接定义使用, 引用变量$var 1.3 伪目标(.PHONY) (1)伪目标是这个目标不是得到一个文件,执行这个目标不是为了得到某个某个文件或东西,而是单纯为了执行这个目标下面的命令: (2)为目标一般都没有依赖,因为不加依赖就是无条件执行 (3)伪目标可以直接写,不影响使用,但有时候为了能看清可以前在面添加(.PHONY) 1.4 Makefile 中引用
-
makefile学习
一、文本处理函数 以下是GNU make内嵌的文本(字符串)处理函数。 $(subst FROM,TO,TEXT) 函数名称:字符串替换函数—subst。 函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。 返回值:替换后的新字符串。 示例: $(subst ee,EE,feet on the street) 替换“feet on the street”中的“...
-
makefile常用参数
CFLAGS = -Wall -O -g -Wall 是打开警告开关,-O代表默认优化,可选:-O0不优化,-O1低级优化,-O2中级优化,-O3高级优化,-Os代码空间优化。 -g是生成调试信息,生成的可执行文件具有和源代码关联的可调试的信息。
-
makefile 中 $@ $^ %< 使用
这篇文章介绍在LINUX下进行C语言编程所需要的基础知识。在这篇文章当中,我们将会学到以下内容: 源程序编译 Makefile的编写 程序库的链接 程序的调试 头文件和系统求助 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。 下面我们以一个实例来说明如何使用gcc编译器。 假设我们有下面一个非
-
教你写Makefile(很全,含有工作经验的)
原文 转载文 Makefile 值得一提的是,在Makefile中的命令,必须要以[Tab]键开始。 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是...
-
跟我一起写Makefile
支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 这篇文章是对多篇博客的修改和整合,有意见可以私信我,谢谢! Make程序的命令行选项和参数 Make命令参数的典型序列如下所示: make [-f makefile文件名][选项][宏定义][目标] 这里用[]括起来的表示是可选的。命令行选项由破折号“...
-
makefile 中,出现$$(M) 是什么意思
在makefile中,会经常使用shell命令,也经常见到$var 和 $$var的情况,有什么区别呢,区别大了。不要认为在makefile的规则的命令行中使用$var就是将makefile的变量和shell共享了,这里仅仅是读取makefile的变量然后扩展开,将其值作为参数传给了一个shell命令。而$$var是在访问一个shell命令内定义的变量,而非makefile的变量。此外,如果某规...
-
Makefile语法
在Makefile中的命令,必须要以 Tab 键开始 通配符 make支持三个通配符: * , ? 和 ~ 1. ~:~/test ,这就表示当前用户 的 $HOME 目录下的test目; ~hchen/test: 则表示用户hchen的宿主目录下的test 目录 # 1. 列出一确定文件夹中的所有 .c 文件 objects := $(wildcard *.c) # 2. 列出...
-
makefile中 DIR = $(CURDIR)的疑问
http://blog.sina.com.cn/s/blog_89fa41ef0100u09h.html
-
makefile中命令前加一个@
makefile中命令前加一个@。。 makefile中命令前加一个@。。 好像是不显示错误的信息,不加也是可以的 以上理解有误。。下面是正确的。 通常,make会把其要执行的命令行在命令执行前输出到屏幕上。当我们用“@”字符在命令 行前,那么,这个命令将不被make显示出来,最具代表性的例子是,我们用这个功能来像 屏幕显示一些信息。如: @echo 正在编译XXX模
-
跟我一起写 Makefile(完整版)
文章目录作者介绍概述关于程序的编译和链接Makefile 介绍Makefile的规则一个示例make是如何工作的makefile中使用变量让make自动推导另类风格的makefile清空目标文件的规则Makefile 总述Makefile里有什么?显式规则隐晦规则变量的定义文件指示注释Makefile的文件名引用其它的Makefile环境变量 MAKEFILESmake的工作方式书写规则规则举例规...