2012-06-27 26 views
2

我知道我可以使用install-data-hook做任何事情我想我的數據文件被複制之後,這樣一來,我可以調整文件的權限就是我想要的。的Automake:設置數據文件權限模式

我的問題,不過,之前就成了。

有沒有什麼辦法可以告訴automake設置一個標準的權限掩碼,在之前被複制?

我的意思是我希望得到的install使用正確的面具,而不是讓它使用標準0644和之後糾正所有文件的權限來完成其任務。

換句話說,我希望做任務得到完成就在第一和沒有後來解決它。

可以嗎?

謝謝!

回答

3

Automake的實現GNU Standards。這些狀態數據文件應該使用命令$(INSTALL_DATA)which should default to $(INSTALL) -m 644安裝。

你可以做的是覆蓋的INSTALL_DATA值在某些Makefile.am,然後這個Makefile.am安裝的所有數據文件將使用該定義。如果你有兩個羣體需要不同的模式的數據文件,你將不得不將它們移動在兩個不同的目錄,以便他們可以有自己的Makefile

+0

你如何設置''Makefile.am' INSTALL_DATA'?如果我嘗試'INSTALL_DATA = $(INSTALL)-m 600',我得到一個錯誤'「INSTALL_DATA」,但是用「INSTALLDIR」是undefined'。 –

+0

您是否知道如何根據您的建議覆蓋'INSTALL_DATA'?它可以在'Makefile.am'中完成 - 如果是的話,語法是什麼 - 或者它是否需要在另一個文件中完成? –

+0

你當然可以從'使用'AC_SUBST' configure.ac'覆蓋它(但是這是全球所有的makefile文件)。我沒有看到有什麼強有力的理由爲什麼不應該從'Makefile.am'覆蓋它;我建議你將它作爲一個錯誤進行存檔。 – adl