2013-02-21 44 views
0

我注意到,如果你有一個Makefile,即使是一個空的,如果你有一個名爲「install.sh」的文件調用「make install」會導致make 「install.sh」到「安裝」並設置其權限。我怎樣才能防止這種情況發生?如何停止創建「安裝」的GNU make

回答

0

撥打電話make與選項-r,即make -r install。這將禁用預定義的規則。

編輯

當然,你也可以只覆蓋外殼規則。只需加上

%: %.sh 
     # empty line 

到您的Makefile

+0

有沒有辦法我可以重寫預定義的規則?我想使用make install,但只能執行我編寫的規則。另外,當我爲自動化系統準備Makefile時,我不一定依賴'make -r'的使用。 – user1063042 2013-02-21 18:08:47

+0

@ user1063042:參見編輯。 – Matthias 2013-02-21 20:18:23

+0

注意包含'#空行'的行必須用_TAB縮進。沒有命令的模式規則會刪除模式。有關詳細信息,請參閱GNU make手冊。另一種選擇是,如果你很高興擺脫大部分內置規則,那就是添加'SUFFIXES:'這行,它將禁用這條規則以及幾乎所有其他的內置規則。 – MadScientist 2013-02-22 13:10:03