makefile笔记8 - make的运行
摘要:一般来说,最简单的就是直接在命令行下输入 make 命令, make 命令会找当前目录的makefile 来执行,一切都是自动的。但也有时你也许只想让 make 重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述如何使用 make
阅读全文
makefile笔记7 - makefile函数
摘要:在 Makefile 中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。 make 所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。 一、函数的调用语法 函数调用,很像变量的使用,也是以“$\$$”来标识的,其语法如下: 或是 这里
阅读全文
makefile笔记6 - makefile条件判断
摘要:使用条件判断,可以让 make 根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是变量和常量的值。 一、示例 下面的例子,判断$\$$(CC)变量是否“gcc”,如果是的话,则使用 GNU 函数编译目标。 可见,在上面示例的这个规则中,目标“foo”可以根据变量“$\$$(C
阅读全文
makefile笔记5 - makefile变量
摘要:在 Makefile 中的定义的变量,就像是 C/C++语言中的宏一样,他代表了一个文本字串,在 Makefile 中执行的时候其会自动原模原样地展开在所使用的地方。其与 C/C++所不同的是,你可以在 Makefile 中改变其值。在 Makefile 中,变量可以使用在“目标”,“依赖目标”,“
阅读全文
makefile笔记4 - makefile命令
摘要:每条规则中的命令和操作系统 Shell 的命令行是一致的。 make 会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。 在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以 Tab 键开头的,那么make 会认为其是一个空命令。
阅读全文
makefile笔记3 - makefile规则
摘要:规则包含两个部分,一个是依赖关系,一个是生成目标的方法。 在 Makefile 中,规则的顺序是很重要的,因为, Makefile 中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让 make 知道你的最终目标是什么。一般来说,定义在 Makefile 中的目标可能会有很多,
阅读全文
makefile笔记2 - makefile总述
摘要:一、makefile的组成 Makefile 里主要包含了五个东西:显示规则、隐晦规则、变量定义、文件指示和注释。 1. 显示规则。显示规则说明了,如何生成一个或多的的目标文件。这是由 Makefile 的书写者明显指出,包括①生成的文件,②文件的依赖文件,③生成的命令。在 Makefile 中的命
阅读全文
makefile笔记1 - 初识makefile
摘要:前情提要 上一篇《编译入门》讲了变成的基本问题。如果源文件只有一个,就如之前的例子,那么用gcc命令直接编译就可以了。但是很多实际的工程用到的源文件都是相当多的,这时候用命令一个个编译是很不现实的。所以需要一个自动化编译系统来做这件事情,那就是make和makefile了。 make和makefil
阅读全文
编译入门:传说中的编译是在做什么
摘要:一、 编译的定义 编译程序(Compiler)是一种程序。它把用高级语言写的源程序作为数据接收,经过翻译转换,产生面向机器的代码作为输出。 这当中代码还可能要由汇编程序或装配程序作进一步加工,得出目标程序,交给计算机执行。 二、 Linux下的编译过程概述 根据编译的定义,编译就是把高级语言的源文件
阅读全文