跟我一起学写makefile

时间:2012-03-15 13:58:46
【文件属性】:
文件名称:跟我一起学写makefile
文件大小:101KB
文件格式:RAR
更新时间:2012-03-15 13:58:46
makefile UNIX C 编译 Makefile 在 Unix 上写程式的人大概都碰过 Makefile,尤其是用 C 来开发程式的 人。用 make 来开发和编译程式的确很方便,可是要写出一个 Makefile 就不简单了。偏偏介绍 Makefile 的文件不多,GNU Make 那份印出来要几 百页的文件,光看完 Overview 就快阵亡了,难怪许多人闻 Unix 色变。 本文将介绍如何利用 GNU Autoconf 及 Automake 这两套软体来协助我们 『自动』产生 Makefile 档,并且让开发出来的软体可以像 Apache, MySQL 和常见的 GNU 软体一样,只要会 ``./configure'', ``make'', ``make install'' 就可以把程式安装到系统中。如果您有心开发 Open Source 的软体,或只是想在 Unix 系统下写写程式。希望这份介绍文件能 帮助您轻松地进入 Unix Programming 的殿堂。 1. 简介 Makefile 基本上就是『目标』(target), 『关连』(dependencies) 和 『动作』三者所组成的一连串规则。而 make 就会根据 Makefile 的规则 来决定如何编译 (compile) 和连结 (link) 程式。实际上,make 可做的 不只是编译和连结程式,例如 FreeBSD 的 port collection 中, Makefile 还可以做到自动下载原始程式套件,解压缩 (extract) ,修补 (patch),设定,然後编译,安装至系统中。 Makefile 基本构造虽然简单,但是妥善运用这些规则就也可以变出许多不 同的花招。却也因此,许多刚开始学习写 Makefile 时会感到没有规范可 循,每个人写出来的 Makefile 长得都不太一样,不知道从何下手,而且 常常会受限於自己的开发环境,只要环境变数不同或路径改一下,可能 Makefile 就得跟着修改。虽然有 GNU Makefile Conventions (GNU Makefile 惯例) 订出一些使用 GNU 程式设计时撰写 Makefile 的一些标 准和规范,但是内容很长而且很复杂, 并且经常做些调整,为了减轻程式 设计师维护 Makefile 的负担,因此有了 Automake。 程式设计师只需写一些预先定义好的巨集 (macro),交给 Automake 处理 後会产生一个可供 Autoconf 使用的 Makefile.in 档。再配合利用 Autoconf 产生的自动设定档 configure 即可产生一份符合 GNU Makefile 惯例的 Makeifle 了。
【文件预览】:
makefile
----跟我一起写 Makefile(8).doc(34KB)
----跟我一起写 Makefile(6).doc(25KB)
----Makefile.txt(14KB)
----跟我一起写 Makefile(11).doc(23KB)
----跟我一起写 Makefile(1).doc(44KB)
----跟我一起写 Makefile(7).doc(50KB)
----跟我一起写 Makefile(9).doc(52KB)
----跟我一起写 Makefile(3).doc(49KB)
----跟我一起写 Makefile(5).doc(45KB)
----跟我一起写 Makefile(4).doc(32KB)
----跟我一起写 Makefile(10).doc(25KB)
----跟我一起写 Makefile(2).doc(26KB)

网友评论

  • 实用,适合新手
  • 不错,适合初学者
  • 非常不错,挺适合新手
  • 非常好,强烈支持
  • 我只知道是大神写的
  • 很详细,比较容易入门。
  • 文档写的很详细,值得细看~
  • 写得不错,看了之后我确实在makefile上有所收获~
  • 文档比较详细,感谢分享
  • 比较详细,很好懂。
  • 很好,学会了很多
  • 写的很详细,学makefile就是这个
  • 很详细,当参考书看了
  • 全是doc文件,看得纠结啊,弄成pdf的好些
  • 由浅入深,全面学习makefile。学完后,完全可以应付日常工作需要。经典!
  • 很不错,看了解决很多问题
  • 循序渐进将的很明白,适合入门。
  • 讲的还是很详细的,只是多个doc文件看起来比较麻烦,应该是有html格式的。
  • 文档详细程度不及往上盛传的GUN make的文档,而且是多个doc文件,看起来很不舒服。