Linux 之十二 Makefile 从入门到放弃全解
緣起
??最近,本人在移植 U-Boot 時,需要查看及修改 U-Boot 的 Makefile。由于之前對于 Makefile 可以說是一知半解,之前學的那點東西基本也消耗的差不多了,對于 U-Boot 源碼中這種復雜的 Makefile 看起來是相當費力,于是在網上找到了《跟我一起寫Makefile》這篇文章來系統的復習一下。
??《跟我一起寫Makefile》是前輩 陳皓 發表在其 CSDN 博客 上的系列文章。對于 Makefile 的講解很透徹,并結合了一些示例。為了避免眼高手低,同時也為了后續查閱方便,現通過將其轉載并整理到 Github 的方式來學習一下(順便使用 Github 實現在線文檔托管)。
??作者的原文中沒有代碼高亮,排版也不是很規則,文中的示例也沒有提供代碼,為了加深學習印象,我會提供完整的示例代碼,并在原文中會添加了一些內容、圖示等等。因此,本文與作者的原文稍有差異,但主體內容沒有變化!我這里主要的更改有:
因此,我把作者的 make 的運行 章節的內容提到前面來,此外,對于原文中部分章節中關于 make 講解的內容也提前到這個章節中。在 make 的運行 這一章節,我們不需要理解 Makefile 的內容,只需要關于 make 的工作機制即可。
??在整理的時候,發現已經有網友做個這個工作了:https://github.com/seisman/how-to-write-makefile ,但是他這個使用的是 reStructuredText(擴展名 .rst)格式的文件,不是目前較為流行的 Markdown 格式(擴展名 .md)。而且這兩種格式的語法差的也比較多,我這里再整理一個 Markdown 格式的!
相關內容
前輩 陳皓 的 CSDN 博客地址:https://blog.csdn.net/haoel/article/details/2886 。本文中的內容版權歸 陳皓 所有,作者要求轉載注明作者及出處。
項目主頁: https://github.com/ZCShou/Makefile
網頁在線版: https://zcshou.github.io/Makefile/
英文比較好的也可以直接去看這個官方手冊:GNU Make Manual
關于本文檔
總結
以上是生活随笔為你收集整理的Linux 之十二 Makefile 从入门到放弃全解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: U-Boot 之三 U-Boot 源码文
- 下一篇: Network 之四 常用 Linux