Makefile.am将指明工程需要哪些源文件,建造的是什么,如何安装它们。
具体语法如下:
option_where_PRIMARY = targets …
targets是要建造的目标
PRIMARY可以是下面的一个:
可能值 解释
where 表示目标被安装那里,可以是下面的值:
可能项 解释
详细的文件结构看以前的文章。
[Autotools 使用一,文件结构]
()
在where前面还可以有一个可选项option
dist_ 分发目标(默认)。
nodist_ 不分发。
举例:Makefile.am
bin_PROGRAMS = foo run-me
foo_SOURCES = foo.c foo.h print.c print.h
run_me_SOURCES = run.c run.h print.c
首先第一句表示产生两个程序foo,run-me,并且将它们安装到bin中。
foo_SOURCES 表示foo需要的源文件。
run_me_SOURCES 表示run-me需要的源文件。
注意:不能转换的符号用’_’代替。
头文件不参加编译,列出来用于分发。automake将自动计算列表对象并编译链接它们。
第二个例子:Makefile.am
lib_LIBRARIES = libfoo.a libbar.a
libfoo_a_SOURCES = foo.c privfoo.h
libbar_a_SOURCES = bar.c privbar.h
include_HEADERS =