c++ - 将目录附加到 pkginclude_header

标签 c++ makefile autotools autoconf automake

我是否可以在不实际更改项目结构的情况下修改 pkginclude_ 的路径?这是我的目录结构。

My_Project >
       include >
             banana.h
             apple.h
             pear.h
Makefile.am
configure

在 Makefile.am 中我有..

pkginclude_HEADERS=include/*.h

运行 make install 将文件放在..

/usr/include/My_Project/

我希望发生的事情是将 includes 安装在..

/usr/include/My_Project/fruits/

我想在不将任何标志传递给 configure 或 make 并且不更改我机器上的目录结构的情况下执行此操作。有没有办法将此指定为默认行为?

在互联网周围挖掘。找不到答案,尽管我可能已经错过了。我相当不喜欢 autotools 文档。

最佳答案

怎么样:

fruitsdir=$(pkgincludedir)/fruits
fruits_HEADERS=include/*.h

更正统的方法是重组您的项目以拥有 fruits/目录:

My_Project > 
   includes > 
      fruits > 
         apple.h
         banana.h
         pear.h

然后添加到My_Project/includes/Makefile.am

nobase_pkginclude_HEADERS = fruits/apple.h fruits/banana.h fruits/pear.h

关于c++ - 将目录附加到 pkginclude_header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11690006/

相关文章:

python - 如何禁用 pyc 和 pyo 文件的生成?

c++ - 如何告诉 AC_SUBST 不要替换参数中的变量?

c++ - 构造函数中的 fp 赋值崩溃 [C++]

c++ - 如何回到C++的上一步

c++ - boost asio有状态服务器设计

c++ - 错误编译 Unresolved external 错误

windows - 如何在Windows中安装和使用 "make"?

android - Android NDK make 程序中的错误找不到

gcc - DLDFLAGS 和 LDFLAGS 有什么区别

debian - 如何创建 Debian 软件包作为 autotools 构建的一部分?