将所有头文件移动到 /usr/local/include/<target>/
Move all header files to /usr/local/include/<target>/
我有一个小问题。我创建了一个可以使用以下命令安装的程序:
./configure && make && sudo make install
这很好用,但所有 .hpp 文件都在 /usr/local/include
中。是否可以将此 .hpp 文件移动到 /usr/local/include/<target>
?
因此,如果我有一个名为 my_program 的程序,假设头文件名为 Timer.hpp
,是否可以将此 Timer.hpp
移动到 /usr/local/include/my_program
中?
我想通过 automake 和 autoconf 来完成。如果您查看 /usr/include
,您会注意到还有一些用于其他程序的目录。我想要那个,但当然是在 /usr/local/include
中。
我也知道 ./configure --prefix=/path/my_program
然后,/path/my_program
中都有,但我不想那样。我想要在 /usr/local/include
中包含我的程序名称的目录,并且在该目录中我想要我的程序的所有 hpp 文件。
如何操作?
如果您使用的是 Automake,那么现在您可能有这样一行:
include_HEADERS = ...
解决此问题的最简单方法是使用预定义的 pkgincludedir
:
pkginclude_HEADERS = ...
这将使用您的包的名称作为子目录的名称。
或者,您可以引入自己的目录变量,例如:
myincludedir = $(includedir)/whatever
myinclude_HEADERS = ...
不清楚您是在请求包级别的解决方案,如 Tom Tromey 提供的那样,还是希望在配置期间应用解决方案。如果是后者:
configure --includedir=/usr/local/include/my_program
将设置构建以将包含文件放入指定路径。您可以通过传递给配置的选项来控制大多数文件的最终目的地(事实上,如果不是 s/most/all/,可能有人会争辩说包已损坏)。
我有一个小问题。我创建了一个可以使用以下命令安装的程序:
./configure && make && sudo make install
这很好用,但所有 .hpp 文件都在 /usr/local/include
中。是否可以将此 .hpp 文件移动到 /usr/local/include/<target>
?
因此,如果我有一个名为 my_program 的程序,假设头文件名为 Timer.hpp
,是否可以将此 Timer.hpp
移动到 /usr/local/include/my_program
中?
我想通过 automake 和 autoconf 来完成。如果您查看 /usr/include
,您会注意到还有一些用于其他程序的目录。我想要那个,但当然是在 /usr/local/include
中。
我也知道 ./configure --prefix=/path/my_program
然后,/path/my_program
中都有,但我不想那样。我想要在 /usr/local/include
中包含我的程序名称的目录,并且在该目录中我想要我的程序的所有 hpp 文件。
如何操作?
如果您使用的是 Automake,那么现在您可能有这样一行:
include_HEADERS = ...
解决此问题的最简单方法是使用预定义的 pkgincludedir
:
pkginclude_HEADERS = ...
这将使用您的包的名称作为子目录的名称。
或者,您可以引入自己的目录变量,例如:
myincludedir = $(includedir)/whatever
myinclude_HEADERS = ...
不清楚您是在请求包级别的解决方案,如 Tom Tromey 提供的那样,还是希望在配置期间应用解决方案。如果是后者:
configure --includedir=/usr/local/include/my_program
将设置构建以将包含文件放入指定路径。您可以通过传递给配置的选项来控制大多数文件的最终目的地(事实上,如果不是 s/most/all/,可能有人会争辩说包已损坏)。