1、執行命令autoscan會生成configure.scan
在configure.scan中修改AC_INIT([name], [Vresion], [mail])
並添加AM_INIT_AUTOMAKE(test, 1.0)
修改AC_OUTPUT為AC_OUTPUT([Makefile])
2、執行autoheader命令生成config.h.in
3、創建Makefile.am文件,添加如下項
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=test
CURRENT_PATH=$(PWD)
test_SOURCES=test.c
INCLUDES=-I$(CURRENT_PATH)/include
4、執行命令automake --add-missing
5、執行命令autoconf,這樣就生成configure文件了,執行./configure可以生成Makefile文件
如果程序中依賴其他程序的動態庫,在configure.in裡需要增加該依賴庫選項
AC_ARG_ENABLE(sqlite3,[--enable-sqlite3
use sqlite3],LDFLAGS="${LDFLAGS} -lsqlite3";
CPPFLAGS="${CPPFLAGS} -DWITH_SQLITE3")
或者:
AC_ARG_WITH(sqlite3,
[ --with-sqlite3 use sqlite3],LDFLAGS="${LDFLAGS}
-L$withval/lib -lsqlite3";
CPPFLAGS="${CPPFLAGS} -I$withval/include -DWITH_SQLITE3")
這樣在生成configure後,就可以通過LDFLAGS增加依賴庫的路徑了
附:Makefile.am的有關選項
bin_PROGRAMS=test
test_SOURCEs=test.c
INCLUDES=-I
AM_LDFLAGS=-L
LDADD=(動態庫文件地址)
SUBDIRS=..