如果我编写了一个库,并且包含了用于开发的头文件,并且有src/Makefile.am
这样的话:
AM_CFLAGS = -std=c99 -Wall -Werror -Os
lib_LTLIBRARIES = libmylibrary.la
libmylibrary_la_SOURCES = a.c b.c
include_HEADERS = a.h b.h
一切都很好用。但是,a.h
和b.h
直接安装在/usr/include
(或/usr/local/include
)下。我应该怎么做才能安装它们,在我的库特定的子目录中,例如/usr/include/mylibrary
?
答案 0 :(得分:23)
除了您提到的pkginclude_HEADERS
之外,您还可以使用您喜欢的任何名称将头文件安装到/usr/include
的任意子目录中,如下所示:
otherincludedir = $(includedir)/arbitrary_name
otherinclude_HEADERS = a.h b.h
答案 1 :(得分:7)
看起来我问Stack Overflow太快了;)
通过更多搜索,我发现如果我使用pkginclude_HEADERS
而不是include_HEADERS
,标题会进入/usr/include/[package name]
。
http://realmike.org/blog/2010/07/18/gnu-automake-by-example/