1. 程式人生 > >make學習第一篇

make學習第一篇

* make實質上是一個應用程式

    * 用於解析源程式之間的依賴關係

    * 根據依賴關係自動維護編譯的工作

    * 執行宿主作業系統的各種命令

    * make命令

        * make -f <file> <目標>,可簡化為make <目標> 或者直接make

 

* Makeflile是一個描述檔案

    * 定義各種規則來指定原始檔的編譯順序

    * 有特定的語法和函式定義,支援函式定義和呼叫

    * 能直接整合作業系統的命令

    * 用於定義源程式之間的依賴關係

    * 說明如何編譯原始檔各個原始檔並生成可執行檔案

    * makefile用於指導make如何完成工作,make根據makefile中的規則執行命令,完成編譯工作

    * 語法格式

        * targets(目標檔名或make需要的命令名稱) : prerequisites(依賴) '\n''\t'command(命令)

 

 

*makefile依賴規則

    *當目標檔名不存在是,執行對應命令

    *當依賴在時間上比目標更新,執行該命令

    *當依賴關係連續發生時,對比依賴鏈上的每一個目標

 

*makefile可在命令前加上@符號,使命令無回顯

 

*makefile示例程式碼

hello.out all : func.o main.o             //依賴可有多個,用空格隔開

    gcc -o hello.out func.o main.o

    

func.o : func.c                          

    gcc -o func.o -c func.c

    

main.o : main.c

    gcc -o main.o -c main.c