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

Del*_*ani 14 automake autotools header-files

如果我编写一个库,并包含用于开发的头文件,并且具有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
Run Code Online (Sandbox Code Playgroud)

一切都很好.然而,a.hb.h被下直接安装/usr/include(或/usr/local/include).如何安装它们,在我的库特定的子目录中,例如/usr/include/mylibrary

pto*_*ato 23

除了pkginclude_HEADERS你提到的,你还可以将头文件安装到任意/usr/include名称的任意子目录中,如下所示:

otherincludedir = $(includedir)/arbitrary_name
otherinclude_HEADERS = a.h b.h
Run Code Online (Sandbox Code Playgroud)


Del*_*ani 7

看起来我问Stack Overflow太快了;)
通过更多的搜索,我发现如果我使用pkginclude_HEADERS而不是include_HEADERS,标题就会进入/usr/include/[package name].

http://realmike.org/blog/2010/07/18/gnu-automake-by-example/