将头文件放在/ usr / include子目录中使用automake?

时间:2011-04-09 08:45:02

标签: header-files autotools automake

如果我编写了一个库,并且包含了用于开发的头文件,并且有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.hb.h直接安装在/usr/include(或/usr/local/include)下。我应该怎么做才能安装它们,在我的库特定的子目录中,例如/usr/include/mylibrary

2 个答案:

答案 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/