摘要: 启动脚本是bash启动时自动执行的脚本。用户可以把一些环境变量的设置和alias、umask设置放在启动脚本中,这样每次启动Shell时这些设置都自动生效。思考一下,bash在执行启动脚本时是以fork子Shell方式执行的还是以source方式执行的? /etc/profile 的作用 USER变 阅读全文
posted @ 2014-09-24 09:14 ivantang 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 后序 终于到写结束语的时候了,以上基本上就是GNU make的Makefile的所有细节了。其它的产商的make基本上也就是这样的,无论什么样的make,都是以文件的依赖性为基础的,其基本是都是遵循一个标准的。这篇文档中80%的技术细节都适用于任何的make,我猜测"函数"那一章的内容可能不是其它m 阅读全文
posted @ 2014-09-24 08:18 ivantang 阅读(31) 评论(0) 推荐(0) 编辑
摘要: make 的运行 一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述如何使用make 阅读全文
posted @ 2014-09-24 08:15 ivantang 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 隐含规则 在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规则。 “隐含 阅读全文
posted @ 2014-09-24 08:13 ivantang 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 使用函数 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。 一、函数的调用语法 函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: $(<func 阅读全文
posted @ 2014-09-24 08:12 ivantang 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 使用条件判断 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。 一、示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。 libs_for_gcc = -lgnu normal_libs  阅读全文
posted @ 2014-09-24 08:11 ivantang 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 使用变量 在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是 阅读全文
posted @ 2014-09-24 08:10 ivantang 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令。 我们在UNIX 阅读全文
posted @ 2014-09-24 08:09 ivantang 阅读(81) 评论(0) 推荐(0) 编辑