【问题标题】:Appending directory to pkginclude_header将目录附加到 pkginclude_header
【发布时间】:2012-07-27 14:36:03
【问题描述】:

无论如何我可以修改 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/

我想要发生的是包含安装在..

/usr/include/My_Project/fruits/

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

在 ineterweb 上进行挖掘。找不到答案,虽然我可能错过了。我比较不喜欢 autotools 文档。

【问题讨论】:

    标签: c++ makefile autotools autoconf automake


    【解决方案1】:

    怎么样:

    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
    

    【讨论】:

    • 谢谢。我也理解正统的方式,只是此时不想改变我的目录结构。感谢您的提示和回答
    【解决方案2】:

    在 Makefile.am 中:

    pkgincludedir = $(includedir)/$(PACKAGE)/fruits
    

    【讨论】:

    • 感谢分享您的解决方案。我按照我在下面回答的方式解决了它,但这也有效
    【解决方案3】:

    我用这个方法解决了,

    在 Makefile.am 中

    nobase_pkginclude_HEADERS=fruits/*.h
    

    【讨论】:

      猜你喜欢
      • 2012-04-27
      • 2012-08-31
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      • 2012-05-25
      • 1970-01-01
      相关资源
      最近更新 更多