make--makefile
阿新 • • 發佈:2019-01-14
makefile重要的三個概念:目標 依賴關係 命令
一 make與makefile
make是一個應用程式
1.解析源程式之間的依賴關係
2.根據依賴關係自動維護編譯工作
3.執行宿主作業系統中的各種命令
makefile是一個描述檔案
1.定義一系列的規則來指定原始檔編譯的先後順序
2.擁有特定的語法規則,支援函式定義和函式呼叫
3.能夠直接整合作業系統的各種命令
兩者之間的關係
1.makefile中的描述用於指導make程式如何完成工作,make根據makefile中的規則執行命令,最後完成編譯輸出
關係可以用下圖表示
簡單的makefile示例以及列印結果
在這個示例中:all是一個目標,echo "hello dandanxiaohai"是生成目標的命令
echo的命令的用處是將字串列印到終端上,需要注意的是:命令所在的行必須是以Tab鍵開頭
示例改動
從執行的結果我們可以得出
1.一個Makefile中可以定義多個目標
2.呼叫make命令時,得告訴它我們希望它構建的目標是什麼,即要它幹什麼。當沒有指定的具體的目標時,make將以檔案中定義的第一個目標作為這次執行的目標。“第一個”目標,也被稱為預設的目標
3.當make得到目標後,先找到構建目標的對應規則,然後執行規則中的命令來達到構建目標的目的。目前的Makefile中的每個規則中都只有一條命令,實際上,一個規則中可以根據需要存在多條命令
在echo前加上@可以去掉上面輸出結果的第一行輸出結果,使閱讀起來更方便