Make工具最主要也是最基本的功能就是通過makefile檔來描述根源程式之間的相互關係並自動維護編譯工作。而makefile 檔需要按照某種語法進行編寫,檔中需要說明如何編譯各個原始檔案並連接生成可執行檔,並要求定義原始檔案之間的依賴關係。makefile 檔是許多編譯器--包括 Windows NT 下的編譯器--維護編譯資訊的常用方法,只是在集成開發環境中,用戶通過友好的介面修改 makefile 檔而已。
在 UNIX 系統中,習慣使用 Makefile 作為 makefile 檔。如果要使用其他檔作為 makefile,則可利用類似下麵的 make 命令選項指定 makefile 檔。
make程式有助於您在開發大型程式跟蹤整個程式,其中部分已經改變,只有那些編譯自上次編譯的程式,它已經改變了部分。
一個檔,指示程式如何編譯和鏈接程式。makefile檔的默認名稱是名副其實的Makefile,但可以指定一個命令行選項的名稱。
關於編譯階段
編譯一個小的C程式至少需要一個單一的檔.h檔(如適用)。雖然命令執行此任務只需CC file.c中,有3個步驟,以取得最終的可執行程式,如下所示:
編譯階段:所有的C語言代碼.c檔中被轉換成一個低級語言組合語言;決策.s檔。
彙編階段:前階段所作的組合語言代碼,然後轉換成目標代碼的代碼片段,該電腦直接理解。目標代碼檔.o 結束。
鏈接階段:編譯程序涉及到鏈接的對象代碼的代碼庫,其中包含一定的“內置”的功能,如printf的最後階段。這個階段產生一個可執行程式,默認情況下,這是名為a.out。
開始學習 >> :為什麼需要Makefile?