Makefile
Paul_0920
这个作者很懒,什么都没留下…
展开
-
跟我一起写 Makefile (一 Makefile概况)陈皓
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写make...转载 2019-04-17 14:03:30 · 291 阅读 · 0 评论 -
跟我一起写 Makefile (六 条件判断)陈皓
使用条件判断—————— 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。一、示例下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。libs_for_gcc = -lgnunormal_libs =foo: $(objects)...转载 2019-04-18 13:14:51 · 125 阅读 · 0 评论 -
跟我一起写 Makefile (五 变量)陈皓
在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中。 变量的命名字可以包含字符、数字,下划线(可以是数...转载 2019-04-18 10:47:25 · 165 阅读 · 0 评论 -
跟我一起写 Makefile (四书写命令)陈皓
书写命令————一、显示命令通常,make会把其要执行的命令行在命令执行前输出到屏幕上。当我们用“@”字符在命令行前,那么,这个命令将不被make显示出来,最具代表性的例子是,我们用这个功能来像屏幕显示一些信息。如:@echo 正在编译XXX模块......当make执行时,会输出“正在编译XXX模块......”字串,但不会输出命令,如果没有“@”,那么,make将输出...转载 2019-04-17 19:53:49 · 271 阅读 · 0 评论 -
跟我一起写 Makefile (三 书写规则)陈皓
书写规则————规则包含两个部分,一个是依赖关系,一个是生成目标的方法。 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那...转载 2019-04-17 17:17:49 · 761 阅读 · 0 评论 -
gcc/g++编译参数详解
简介gcc and g++现在是gnu中最主要和最流行的c & c++编译器 .gcc/g++在执行编译工作的时候,总共需要以下几步:1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld]GCC能够处理的后缀有:...转载 2019-04-17 15:21:40 · 2518 阅读 · 0 评论 -
跟我一起写 Makefile (二 总述)陈皓
Makefile 总述———————一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简...转载 2019-04-17 14:55:02 · 190 阅读 · 0 评论 -
跟我一起写 Makefile(七 函数)陈皓
使用函数————在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:$(<function> <arguments>)或是...转载 2019-04-18 13:29:44 · 127 阅读 · 0 评论