【Makefile由浅入深完全学习记录1】认识make和makefile
學習交流加
- 個人qq:
1126137994 - 個人微信:
liu1126137994 - 學習交流資源分享qq群:
962535112
今天開始學習項目又多了一項:Makefile由淺入深完全學習。之前做嵌入式Linux時,就一直在用make,但是對Makefile的理解一直都處于表面,看一些大型的代碼工程的Makefile,也基本上只能看懂一點,索性,就來深入學習一下Makefile。
文章目錄
- 1、什么是make?為什么需要make?
- 2、什么是Makefile?
- 3、make和Makefile之間的關系
- 4、編程示例
- 5、總結
1、什么是make?為什么需要make?
make是一個應用程序
*make的作用:
-
解析源碼程序之間的依賴的關系
很多源碼程序的文件是非常多的,而且那些文件之間大多是有依賴關系的,make就是可以解析這些依賴的關系 -
根據依賴關系自動維護編譯工作
因為在我們編譯大型源碼的時候,需要編譯很多的程序,加入我們的程序在編譯到一大半的時候,有一個程序報錯停止編譯了,那么我們就需要改錯,然后重新make,重新make后,它會自動從上次編譯報錯的地方接著編譯,而不需要從頭開始編譯,這樣就可以節省很多時間!! -
執行宿主操作系統中的各種命令
Makefile其實可以理解為一種腳本,里面大多是執行相關宿主操作系統的命令
2、什么是Makefile?
Makefile是一個描述文件
Makefile的作用:
- 定義一系列的規則來指定源文件的編譯順序
- 擁有特定的語法規則,支持函數定義和函數調用
- 能夠直接集成操作系統中的各種命令
3、make和Makefile之間的關系
Makefile中的描述用于指導make程序如何完成工作 ;make根據Makefile中的規則執行命令,完成編譯輸出。
下面給一個最簡單的make示例讓我們理解一下:
注意: 目標后的命令,用tab鍵隔開!!!
make程序的使用示例:
make -f mf.txt hello說明:以hello關鍵字作為目標查找mf.txt文件,并執行hello處的命令。
上面的使用方法較為復雜,一般情況下我們是這樣使用的:
make hello功能說明: 以hello關鍵字作為目標查找Makefile或者makefile文件,并執行hello處的命令或者:
make 功能說明: 直接查找makefile或者Makefile文件中,最頂層目標,并執行最頂層目標的命令。4、編程示例
下面是一個簡單的Makefile文件:
hello :echo "hello Makefile"test :echo "test"pwdls執行make命令顯示:
可見,當執行make命令時,他會直接調用頂層目標處相應的命令。
執行命令make tsst顯示:
可見,當指定要執行的目標后,就會執行指定位置的目標所對應的命令!!!
5、總結
想一起探討以及獲得各種學習資源加我(有我博客中寫的代碼的原稿):
qq:1126137994
微信:liu1126137994
可以共同交流關于嵌入式,操作系統,C++語言,C語言,數據結構等技術問題。
本學習記錄完全來源于狄泰軟件學院的相關課程,可以加我q:1126137994或者Q群:199546072 ,給你推薦更多學習課程。
總結
以上是生活随笔為你收集整理的【Makefile由浅入深完全学习记录1】认识make和makefile的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 主机关机后第二天就无法开机_iphone
- 下一篇: 类的静态成量变量必须初始化