Archive for 三月 19th, 2009
autotool简约指南
星期四, 三月 19th, 2009写项目最烦的一项就是写Makefile,虽然有autoconf/automake这套工具。但我一直不会搞,因为几次屡屡出错,损失了信心。一看到它就头大,感觉特别复杂。 不过这几天坚定信心,勇创难关,终于初窥门径。本文不打算教你啥原理,只是按步就班指导一下步骤。因为网上的原理教程多的是。但怕自己忘记操作的步骤,所以记下来. 众所周所automake支持三种目录层次:flat、shallow和deep。以下例子是deep的,因为这才是项目最常用到的结构(不知道是啥去找文章看看) 1.首先建立自己的源码目录,foo, foo下有src目录,src目录下才是真正的源码 foo.c leros@leros-desktop:/tmp$ ls foo/ src leros@leros-desktop:/tmp$ ls foo/src/ foo.c leros@leros-desktop:/tmp$ cat foo/src/foo.c #include <stdio.h> int main(int argc, char *argv[]) { printf("test autoconf\n"); return 0; } 2.进入foo目录执行autoscan,扫描生成configure.scan leros@leros-desktop:/tmp/foo$ autoscan leros@leros-desktop:/tmp/foo$ ls autoscan.log configure.scan src 3.把configure.scan改名为configure.in,然后修改内容 4 AC_PREREQ(2.61) 5 AC_INIT(foo,1.0,lerosua@lerosua.org) 6 AC_CONFIG_SRCDIR([src/foo.c]) 7 AC_CONFIG_HEADER([config.h]) 8 AM_INIT_AUTOMAKE(foo,1.0) 9 10 # Checks for [...]
