我有一個自動工具項目。在其中一個目錄中,我想在完成製作過程後運行腳本。換句話說,我想有一個選項可以最後執行的「虛假」目標。或者,我可以使用專用的m4宏(我只知道哪一個...)。 任何想法?如何強制自動工具中的最終目標
感謝
我有一個自動工具項目。在其中一個目錄中,我想在完成製作過程後運行腳本。換句話說,我想有一個選項可以最後執行的「虛假」目標。或者,我可以使用專用的m4宏(我只知道哪一個...)。 任何想法?如何強制自動工具中的最終目標
感謝
我假設通過「自動工具」,你正在使用的Automake和Autoconf的。我可以看到兩種做法。
您可以在Makefile.am中制定-hook
規則。但是,這隻能針對某些默認目標完成:install-data
,install-exec
,uninstall
, dist
和distcheck
。因此,要制定一條將在install-exec
後立即生效的規則,請將其稱爲install-exec-hook
。然後在該規則的配方中運行腳本。
但是,根據您的問題的措辭,您似乎希望在構建後運行腳本。如果是這種情況,則可以使用all-local
目標自定義all
目標,然後在該目標的配方中運行腳本。請注意,根據Automake文檔,
對於'-local'目標,沒有特別保證 執行順序;通常情況下,它們運行得很早,但是並行make, 沒有辦法確定這一點。
但是,由於all
目標是虛假的,所以它不應該運行,直到所有東西都建成。不過,如果你可以在安裝後運行腳本,我會推薦這種方式,因爲執行順序是有保證的。