GNU 的專案建製工具 (Make)
GNU 程式設計GNU 程式簡介GNU 與 C 語言gcc 編譯器glibc 函式庫make 建置ld 連結器as 組譯器ar 函式庫objdumpobjcopy訊息相關網站參考文獻最新修改簡體版English |
當程式越來越多時,編譯、連結與測試的動作會變得相當繁瑣,此時就必須使用專案建置工具。GNU 的 make 是專案編譯上相當著名的典型工具,在此,我們將用 make 來學習大型專案開發所需的專案管理技巧。並且透過make觀察大型專案的開發過程,讓讀者得以學習到專業的系統程式開發流程。 專案編譯工具make 是用來編譯專案的強有力工具,使用 make 工具可以有效的整合許多程式,並且進行快速的大型專案編譯動作。像是著名的 Linux 作業系統就是以 gcc 與 make 等 GNU 工具所建構出來的。因此,學習 GNU 工具更是進入 Linux 系統程式設計的捷徑。 對於初學者而言,可能會覺得make 的語法相當怪異,然而,對於有經驗的程式設計人員而言,卻會覺得 make 專案管理工具相當方便。 在此,我們將利用上述的範例程式 (StackType.c, StackFunc.c, StackMain.c),示範如何使用 make 工具。這些檔案在光碟中被放在範例的 ch05 資料夾中,其中包含一個名為 Makefile 的專案檔案,該檔案的內容如下:
接著,我們進行專案編譯的動作,其過程如以下範例所示。您可以看到當專案編譯指令make執行時,一連串的動作被觸發。
在make 的建置過程中,第一個目標 all會先被觸發。接著,根據all : $(BIN) 規則,其中 $(BIN) 指的是前面所定義的 BIN = stack,因此,$(BIN) 會被觸發。接著,由於 $(BIN): $(AR) 規則,於是目標 $(AR) 被觸發。根據這樣的連鎖反應規則,您可以看到如圖 5.18的觸發樹與執行過程,請讀者仔細追蹤,應可理解 make 檔案的執行原理。
|
page revision: 1, last edited: 11 Oct 2010 07:39
Post preview:
Close preview