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 之前和之後,都顯示工作目錄。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.