一般格式
文件类型 | 书写格式 |
---|---|
可执行文件 | 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设置了默认的安装路径:
标准安装路径
默认安装路径为 可以通过的方法来覆盖。 其它的预定义目录还包括 等等。
定义一个新的安装路径
比如test, 可定义
然后 test_DATA =test1 test2,则 test1,test2 会作为数据文件安装到 $(prefix)/test 目录下。
转载于:https://blog.51cto.com/7sun7/999242