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