作者shininglion (lionking - 辛巴)
看板NCTU_CS_EDA
标题[心得] autoconf - 自动产生 Makefile 的好东西 (1)
时间Mon Feb 13 16:41:31 2012
说是好东西但其实我被他折磨了 5 小时Orz
不知道大家有没有去网路上下载别人的 project 回家自己编过?
通常那种 project 的编译方式是这样:
$ ./configure (视情况加上一些参数)
$ make
$ make install (如果想安装在系统上的话)
这种 project 通常为了要能够省下大幅的打指令+手残问题
以及为了确保你在 compile 这个 project 前的准备工作有做完
(例如检查该装的程式或是这个 project 会用到的 library 等等)
所以会有一个 script (就是上面提到的 configure) 去检查这些事情
此时
如果检查通过,则会依照你系统的状态产生相对应的 Makefile
不然会有 error message 告诉你哪里出问题~
而 autoconf 就是帮你做到这件事情的工具!
并且这也是为什麽这种 project 不是直接给你 Makefile 的原因所在
因为 Makefile 不适合用来做到以上的检查工作
并且写起来也比较罗嗦~
------ 以上赚 P 币结束 ------
autoconf 其实是个很复杂的鬼东西,不过如果只是小型的 project
那其实就不难,短短几行就可以结束的事情
首先,我们需要安装以下套件:
autoconf, automake, m4, perl
再来,简单的说明一下整个的流程:
1. 先利用 autoscan (上面那些东西装完就会有的)
在 project 的根目录执行一次,执行完後会看到 configure.scan 这个档案
再来把她改名成 configure.ac 或是 cofigure.in
以下假设档名改为 cofigure.ac
2. 修改 configure.ac 成你要的内容
稍後再说明要怎麽改
3. 开新档案并命名成 Makefile.am,再依据你的 project 填入必要资讯
4. 依序执行以下指令
$ aclocal
$ autoconf
$ automake --add-missing
这样就会看到资料夹里出现 configure 这个 script 啦!
出现之後的编译步骤就照一开始提到的作法
让这个 script 跑出你要的 Makefile 後就可以了!
(如何修改 configure.ac 及 Makefile.am 下集待续)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.241.158
1F:推 sanctitysky:分两篇赚吗? 02/13 17:25
2F:→ shininglion:写在同一篇太长了XD 02/13 17:57