makefile中重載與取消隱藏規則示例

學習《跟我一起寫Makefile-陳皓》後一直不懂,如何重載或取消隱藏規則

爲了博客版面整潔,何爲隱藏規則,Makefile基本規則編寫等基礎支持請自行百度。

需要聲明的是:這些知識可能在大牛們看來很淺顯,百度找到的博客基本都是複製《跟我一起寫Makefile-陳皓》的,正因爲在此文件上沒解釋清楚,我這等渣渣一直搞不懂

==========================================================================

重載隱藏規則:顯式寫出規則,目標+依賴目標與隱藏規則相同,且有命令,則爲重載隱藏規則

eg.有隱藏規則:%.o:%.c

在makefile中顯式地寫明:

%.o:%.c    #目標+依賴與隱藏規則同

         echo "test"   #且有命令


取消隱藏規則:顯式寫出規則,且無命令,利用顯式規則會取締隱藏規則,使得隱藏規則無效

 

eg.有隱藏規則:%.o:%.c

在makefile中顯式地寫明:

%.o:%.c    #目標+依賴與隱藏規則同,但後續無命令


需要注意的是,由於make會儘可能達成目標,因此你取消了某條隱藏規則,但是make從另外一個方向完成了目標

例如:

取消隱藏規則:

%.o:%.c   #後面無命令


make通過另外的隱藏規則的組合也實現了編譯:
1、%.o:%.c
2、%:%.o


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章