linux下的make命令__linux
來源:互聯網
上載者:User
make命令的關鍵是找出上一次各個檔案的修改時間,利用此修改時間來比較相依 賴檔案最後一次修改的時間。若目標檔案的修改時間早於其相依檔案的修 改時間,則必須先對相依檔案進行處理(編譯),進而來更新目標檔案,若目標檔案的修改時間遲於其相依檔案的修改時間,則不對該相依檔案進行處理(編譯)。 利用它可以每次只編譯自上次編譯後發生變化的檔案,從而可以減少一些不必要的編譯工作,提高效率。 執行make命令所需要的資訊: (1)使用者定義的描述檔案,一般為makefile (2)檔案系統有關的資料和與時間有關的資訊 (3)一組尾碼規則 2.makefile檔案 Make工具最主要也是最基本的功能就是通過makefile檔案來描述來源程式之間的相互關係並自動維護編譯工作。而makefile 檔案需要按照某種文法進行編寫,檔案中需要說明如何編譯各個源檔案並串連產生可執行檔,並要求定義源檔案之間的依賴關係。 Makefile檔案作為一種描述文檔一般需要包含以下內容: (1) 宏定義
(2) 源檔案之間的相互依賴關係
(3) 在依賴關係基礎上的可執行檔命令序列 3.make命令 make命令的一般格式: make【選項】【make描述檔案】【宏定義】【目的檔案】 make首先分析所有的宏定義參數(帶嵌入等號的參數)並進行賦值,宏命令列覆蓋在makefile中進行的定義,然後檢驗選項標誌,最後遞迴的對每一個目的依賴檔案進行檢查。 unix下常用的選項如下: f file 指定file檔案為描述檔案,如果file參數為"-"符,那麼描述檔案指向標準輸入。如果沒有"-f"參數,則系統將預設目前的目錄下名為 makefile或者名為Makefile的檔案為描述檔案。在Linux中, GNU make 工具在當前工作目錄中按照GNUmakefile、makefile、Makefile的順序搜尋 makefile檔案。 -i 忽略命令執行返回的出錯資訊。
-s 沉默模式,在執行之前不輸出相應的命令列資訊。
-r 禁止使用build-in規則。
-n 非執行模式,輸出所有執行命令,但並不執行。
-t 更新目標檔案。
-q make操作將根據目標檔案是否已經更新返回"0"或非"0"的狀態資訊。
-p 輸出所有宏定義和目標檔案描述。
-d Debug模式,輸出有關檔案和檢測時間的詳細資料。 Linux下常用選項與Unix系統中稍有不同,下面是不同的部分: -c dir 在讀取 makefile 之前改變到指定的目錄dir。
-I dir 當包含其他 makefile檔案時,利用該選項指定搜尋目錄。
-h help文擋,顯示所有的make選項。
-w 在處理 makefile 之前和之後,都顯示工作目錄。