一般格式
文件类型 |
书写格式 |
---|---|
可执行文件 |
bin_PROGRAMES = foo |
foo_SOURCES = xxxx.c |
|
foo_LDADD = |
|
foo_LDFLAGS = |
|
foo_DEPENDENCIES = |
|
静态库 |
lib_LIBRARIES = libfoo.a |
foo_a_SOURCES = |
|
foo_a_LDADD = |
|
foo_a_LIBADD = |
|
foo_a_LDFALGS = |
|
头文件 |
include_HEADERS = foo.h |
数据文件 |
data_DATA = data1 data2 |
对于可执行文件和静态库类型,如果只想编译,不想安装到系统中,可以用 noinst_PROGRAMS代替bin_PROGRAMS,noinst_LIBRARIES代替lib_LIBRARIES。
全局变量
Makefile.am还提供了一些全局变量供所有的目标体使用 :
变量 |
含义 |
---|---|
INCLUDES |
比如链接时所需要的头文件 |
LDADD |
比如链接时所需要的库文件 |
LDFLAGS |
比如链接时所需要的库文件选项标志 |
EXTRA_DIST |
源程序和一些默认的文件将自动打入 .tar.gz 包,其他文件若要进入 .tar.gz 包可以使用这种方法,如配置文件,数据文件等。 |
SUBDIRS |
处理本目录前要递归处理哪些子目录 |
automake 安装路径
automake设置了默认的安装路径:
标准安装路径
默认安装路径为 : $(prefix) = /usr/local 可以通过 ./configure --prefix=<new_path> 的方法来覆盖。 其它的预定义目录还包括 : bindir = $(prefix)/bin, libdir = $(prefix)/lib, datadir = $(prefix)/share, sysconfdir = $(prefix)/etc 等等。
定义一个新的安装路径
比如test, 可定义
testdir = $(prefix)/test,
然后 test_DATA =test1 test2,则 test1,test2 会作为数据文件安装到 $(prefix)/test 目录下。