makefile命令基本運用(一)

來源:互聯網
上載者:User

標籤:

   一、makefile介紹:

     一個工程中的源檔案不計其數,其按類型、功能、模組分別放在若干個目錄中,makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至於進行更複雜的功能操作,因為 makefile就像一個Shell指令碼一樣,其中也可以執行作業系統的命令。

    Linux 環境下的程式員如果不會使用GNU make來構建和管理自己的工程,應該不能算是一個合格的專業程式員。在 Linux(unix )環境下使用GNU 的make工具能夠比較

容易的構建一個屬於你自己的工程,整個工程的編譯只需要一個命令就可以完成編譯、串連以至於最後的執行。不過這需要我們投入一些時間去完成一個或者多個稱之為

Makefile 檔案的編寫。

    所要完成的Makefile 檔案描述了整個工程的編譯、串連等規則。其中包括:工程中的哪些源檔案需要編譯以及如何編譯、需要建立那些庫檔案以及如何建立這些庫檔案、如何最後產生我們想要的可執行檔。儘管看起

來可能是很複雜的事情,但是為工程編寫Makefile 的好處是能夠使用一行命令來完成“自動化編譯”,一旦提供一個正確的Makefile。編譯整個工程你所要做的唯一的一件事就是在shell 提示符下輸入make命令。

整個工程完全自動編譯,極大提高了效率。

   二、makefile使用

        因為剛剛瞭解makefile,就簡單的實現一個建立動態函數庫和靜態函數庫的功能

        

 

三、makefile規則

   #第一條目標為總的目標,

  #依賴可以是檔案(目錄)或為其他目標

  #動作可以是Linux命令,動作的那一行第一個字元必須是以TAB鍵
  target: depend1 depend2 depend3 ...
  [TAB] action1
  [TAB ] action2
  target1:
 [TAB] action1
 [TAB] action2

四、make的使用

   make 找makefile或Makefile檔案執行總的目標

  make clean 執行makefile檔案中的clean目標

  make -C directory 進入到directory檔案夾中去執行總的目標

  make clean -c direcotry 進入到directory檔案夾中去執行clean目標

  make -f comm_makefile 通過-f選項指定一個makefile檔案

  make VAR=value 給Makefile傳一個參數VAR,其值為value

 

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.