Makefile
主要总结Makefile 语法和使用
私房菜
独乐乐不如众乐乐!!!!
展开
-
makefile 规则的覆盖
makefile 中经常会使用规则的覆盖,同样一个target 可能有多个prerequisites,这种依赖关系可以放到一起,也可以分开指定。原创 2023-04-23 15:00:39 · 534 阅读 · 0 评论 -
将makefile中的宏传递给源码
前言:今天遇到一个问题,在makefile中定义个宏,宏为一个字符串,希望将该字符串传递给代码。但是一直传递不过去,最后才找到原因,这里小结一下。直接上代码,makefile 如下:C_FLAGS := -DTEST_MACRO_HEHE="abcd1234"test: test.o gcc -o $@ $^test.o: test.c gcc $(C_...原创 2019-05-29 16:51:05 · 4603 阅读 · 0 评论 -
Gcc编译时出现 [-Werror=unused-parameter]
项目在开发的时候可能要求将所有的warning 都暴露出来,在gcc 编译的时候需要加上flag -Wall。如果没有使用的变量或者函数,就会在这个时候暴露出来,并提示如下信息:error: unused parameter ‘spid’ [-Werror=unused-parameter]这里总结下解决的办法:1. 当然就是将flag 去掉,不要提示,这个属于下下策。...原创 2019-03-01 10:10:58 · 19114 阅读 · 0 评论 -
Makefile 详解——使用make更新函数库文件
请转载的朋友标明出处:http://blog.csdn.net/shift_wwx/article/details/21168845 函数库文件也就是对Object文件(程序编译的中间文件)的打包文件。在Unix下,一般是由命令"ar"来完成打包工作。 一、函数库文件的成员一个函数库文件由多个文件组成。你可以以如下格式指定函数库文件及其组成:archive(membe...原创 2014-03-13 14:09:22 · 1068 阅读 · 0 评论 -
Makefile 详解——隐含规则
请转载的朋友标明出处:http://blog.csdn.net/shift_wwx/article/details/21168655 在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的...原创 2014-03-13 14:07:39 · 1241 阅读 · 0 评论 -
Makefile 详解——运行
请转载的朋友标明出处:http://blog.csdn.net/shift_wwx/article/details/21168475 一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本...原创 2014-03-13 14:01:41 · 1336 阅读 · 0 评论 -
Makefile 详解——函数
请转载的朋友标明出处:http://blog.csdn.net/shift_wwx/article/details/21167399 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$...原创 2014-03-13 13:59:48 · 1140 阅读 · 0 评论 -
Makefile 详解——条件判断
请转载的朋友标明出处:http://blog.csdn.net/shift_wwx/article/details/21167311 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。 一、示例下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。libs_for_g...原创 2014-03-13 13:40:14 · 1551 阅读 · 0 评论 -
Makefile 详解——变量
请转载的朋友标明出处:http://blog.csdn.net/shift_wwx/article/details/21166887 在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在...原创 2014-03-13 13:34:36 · 1408 阅读 · 0 评论 -
Makefile 详解——命令书写
请转载的朋友标明出处:http://blog.csdn.net/shift_wwx/article/details/21166827 每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以 [Tab] 键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,...原创 2014-03-13 13:31:48 · 1194 阅读 · 0 评论 -
Makefile 详解——规则、语法
请转载的朋友标明出处:http://blog.csdn.net/shift_wwx/article/details/21166557 规则包含两个部分,一个是依赖关系,一个是生成目标的方法。在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Mak...原创 2014-03-13 13:25:42 · 1299 阅读 · 0 评论 -
Makefile 详解——简介
请转载的朋友标明出处:http://blog.csdn.net/shift_wwx/article/details/21166287 一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则 隐晦规则 变量定义 文件指示 注释1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖...原创 2014-03-13 13:23:54 · 1868 阅读 · 0 评论