ubuntu下使用make快速編譯C語言程序

1.makefile文件
Make工具最主要也是最基本的功能就是通過makefile文件來描述源程序之間的相互關係並自動維護編譯工作。而makefile 文件需要按照某種語法進行編寫,文件中需要說明如何編譯各個源文件並連接生成可執行文件,並要求定義源文件之間的依賴關係。
Makefile文件作爲一種描述文檔一般需要包含以下內容:
(1) 宏定義 
(2) 源文件之間的相互依賴關係 
(3) 在依賴關係基礎上的可執行的命令序列
2.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 之前和之後,都顯示工作目錄。

3.
上面就是Makefile的內容,這樣在Makefile所在目錄執行make命令就可以快速編譯,爲什麼這樣會快呢,因爲make只編譯被修改過的文件,未修改的不編譯,用的是上一次編譯好的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章