最近工做很忙,但這不是爲何一個多星期沒有更新博客的緣由。相反,最近一直在寫這篇文章。如今終於讓它與你們見面了!這是一篇長達60多頁的文章(見附件),但願與你渴望學習Makefile的熱情相比,不會顯得短,並且我相信你不會失望!
在兩年多前,我曾經給單位的同事作過了Makefile方面的培訓,培訓是採用“作項目”的形式進行的,經過將項目越作越複雜和真實的方式來學習Makefile。我發現這種形式很是的好,它告訴你的不單單是Makefile的知識點,還告訴了你爲何Makefile要寫成那樣,即,讓你知其然也知其因此然。一直以來也想將其寫成文章與你們分享,藉着此次寫《跟我學嵌入式開發》的機會,我如願地寫出了這篇文章。但願你喜歡,也指望這是你所看到的寫得最好的關於Makefile的學習文章!
在網上你能找到不少關於Makefile的學習資料,但絕大部分給你的只是一個知識點,與將Makefile運用到項目中(尤爲是大型項目)的差距很是的大。由於,將Makefile運用到項目中,須要的知識是線、甚至是面。這篇文章以helloworld做爲開篇,接着是simple項目、complicated項目以及huge項目,一步一步的引入了Makefile中的概念,以及告訴你作一個實用的編譯環境須要注意什麼。
學習Makefile,很重要的一點是掌握目標和依賴關係的概念,而且,採用依賴關係去思考問題,這一點很是的重要。這如同面向對象的設計,須要咱們採用面象對象的思考方式去思考問題同樣。此外,這篇文章的實踐性很是的強,你須要跟着個人思路去實踐,而後思考,最後達到融會貫通。爲了方便學習,在附件中你能找到文章中使用到的一些Makefile。
Enjoy!
ide