2015-08-21 125 views
0

我有一個小問題。我創建了我可以用下面的命令來安裝程序:將所有頭文件移動到/ 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文件。

如何做到這一點?

回答

4

如果使用Automake的,那麼現在你可能有這樣一行:

include_HEADERS = ... 

解決這個問題的最簡單方法是使用預定義的pkgincludedir

pkginclude_HEADERS = ... 

這將使用您的軟件包名稱作爲子目錄的名稱。

或者,您可以介紹一下你自己的目錄變量,如:

myincludedir = $(includedir)/whatever 
myinclude_HEADERS = ... 
1

目前尚不清楚是否你所要求的在封裝級的解決方案湯姆Tromey提供,或者如果你想應用的解決方案在configury期間。如果後者:

configure --includedir=/usr/local/include/my_program 

將設置構建將包含文件放入指定的路徑。你可以控制大多數文件的最終目的地(事實上,有人可能會爭辯說,如果不是s/most/all /,程序包會被破壞),並傳遞給配置選項。

+0

謝謝你的回答。正如Tom Tromey所提供的那樣,我正在尋求解決方案。 – golobich

相關問題