具体步骤见“Autoconf与Automake”。
主要介绍Makefile.am的书写 :
AUTOMAKE_OPTIONS:设置 automake 的选项。Automake 主要是帮助开发 GNU 软件的人员来维护软件,所以在执行 automake 时,会检查目录下是否存在标准 GNU 软件中应具备的文件,例如 NEWS、AUTHOR、ChangeLog 等文件。设置 foreign 时,automake 会改用一般软件的标准来检查。
bin_PROGRAMS:定义要产生的执行文件名。如果要产生多个执行文件,每个文件名用空白符隔开。
hello_SOURCES:定义 hello 这个执行程序所需要的原始文件。如果 hello这个程序是由多个原始文件所产生,必須把它所用到的所有原始文件都列出来,以空白符隔开。假设 hello 还需要 hello.c、main.c、hello.h 三个文件的话,则定义
hello_SOURCES= hello.c main.c hello.h
如果定义多个执行文件,则对每个执行程序都要定义相对的filename_SOURCES。编辑好 Makefile.am 文件,就可以用 automake --add-missing来产生 Makefile.in。加上 --add-missing 选项来告诉 automake顺便假如包装一个软件所必须的文件。Automake产生生出來的 Makefile.in 文件是完全符合 GNU Makefile 的惯例,只要执行 configure这个shell script 便可以产生合适的 Makefile 文件了。
如我的设置为:
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=core_server seg_client seg_server
core_server_SOURCES=core_server.c utils.c debug.c
seg_client_SOURCES=seg_client.c queue.c utils.c file_op.c debug.c hash_table.c
seg_server_SOURCES=seg_server.c utils.c converter.c debug.c