![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Makefile
文章平均质量分 80
思识己
时间能解释一切
展开
-
Makefile学习笔记(七)
Makefile学习笔记隐含规则一、使用隐含规则二、关于命令参数的变量定义模式规则一、自动化变量隐含规则水能载舟,亦能覆舟,隐含规则既能带来方便,也可能带来麻烦一、使用隐含规则例:abc: abc.o bcd.0[Tab]gcc -o abc abc.o bcd.o $(CFLAGS) $(LDFLAGS)我们可以注意到,这个makefile中并没有写下如何生成abc.o和bcd.o这两个目标的规则和命令。因为make的硬干规则功能会自动为我们自动去推导这两个目标的依赖目标原创 2021-01-24 18:50:58 · 87 阅读 · 0 评论 -
Makefile学习笔记(六)
Makefile学习笔记一、foreach函数二、if函数三、call函数四、origin函数五、shell函数六、控制make的函数七、make的运行1、make的退出码2、指定makefile3、指定目标4、检查规则5、make的参数一、foreach函数foreach函数是用来做循环的,语法规则是:$(foreach <var>,<list>,<text>)函数的功能就是把参数list中的单词逐个取出放在参数var所指定的变量中,然后执行text所包含的表原创 2021-01-24 17:52:53 · 303 阅读 · 0 评论 -
Makefile学习笔记(五)
Makefile学习笔记使用条件判断一、示例二、语法使用函数一、函数的调用语法二、字符串处理函数三、文件名操作函数使用条件判断使用条件判断可以让make根据不同的情况执行不同的分支。一、示例举例:判断$(CC)是否是gcc,如果是的话则使用GNU函数编译目标libs_for_gcc = -lgnunormal_libs =foo: $(objects)ifeq ($(CC),gcc)[Tab]$(CC) -o foo $(objects) $(libs_for_gcc)else[Ta原创 2021-01-23 23:59:51 · 124 阅读 · 0 评论 -
Makefile学习笔记(四)
Makefile学习笔记使用变量一、变量基础二、变量中的变量三、变量的高级用法四、追加变量值五、override指示符六、多行变量七、目标变量八、模式变量使用变量变量的名字可以包含字符、数字、下划线(可以是数字开头,在C中只允许字母和下划线开头),但不应该含有“:”、“#”、“=”或者空字符,比如回车,空格。变量区分大小写。一、变量基础变量在初始化时需要给予初值,而在使用时需要在变量名前加上“$$”符号但最好用小括号“()”或者大括号“{} ”把变量名给包括起来。如果想使用""这个字符的话,那么原创 2021-01-23 23:12:32 · 172 阅读 · 0 评论 -
Makefile学习笔记(三)
Makefile学习笔记书写命令一、显示命令二、命令执行三、命令出错四、嵌套执行make五、定义命令包书写命令每条命令必须以[Tab]键开头,除非命令紧跟在依赖规则后面的分号后。在命令行之间的空格和空行会被忽略,但是如果该空格或者空行是[Tab]键开头的话,那么make还是会认为这是一个命令。一、显示命令通常,make会把在执行每行命令之前先把它输出在屏幕上后再执行。不过我们也可以让它不输出在屏幕上。当我们用@字符放在命令行前时,那么命令将不会被显示出来。二、命令执行make是一条接一条的执行原创 2021-01-23 18:11:47 · 155 阅读 · 0 评论 -
Makefile学习笔记(二)
Makefile学习笔记Makefile里有什么makefile的文件名引用其它makefilemake的工作方式书写规则规则的语法在规则中使用通配符文件搜寻Makefile里有什么1、显式规则:要生成的文件,依耐文件和命令2、隐晦规则:make有自动推导功能,所以我们有些地方可以不用写那么全, make会自动推导出来3、变量的定义:makefile中变量经常被用到,这样会很方便修改,对后期的调试会带来很多好处。变量一般都是字符串,这里的作用其实和C语言的宏很想。4、文件指示: 一个原创 2021-01-23 16:55:55 · 146 阅读 · 0 评论 -
Makefile学习笔记(一)
Makefile学习笔记关于程序的编译和链接Makefile的规则Makefile中的变量make自动推导功能清空目标文件的规则关于程序的编译和链接一般针对于C、C++而言,第一步是把源文件编译成中间代码文件,Windows下面的中间代码文件的后缀是.obj文件(Object File),Unix中间代码文件的后缀是.o。这个步骤称为编译(compile)。下一步就是链接了,链接就是把所有的中间代码文件合起来生成可执行文件头文件中放声明,.c和.cpp(源文件)中放定义一般来说每个源文件都应对应一个原创 2021-01-23 02:15:16 · 858 阅读 · 0 评论