makefile命令基本運用(一)

2021-07-24 06:50:10 字數 1483 閱讀 4374

makefile命令基本運用(一)

一、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編寫(一)基本規則

一 乙個簡單的例子 建立乙個malefile檔案如下 mian.o main.c a.h gcc c main.c 1.o 1.c a.h b.h gcc c 1.c 2.o 2.c b.h c.h gcc c 2.c 2 3 cc gcc 4 5 debug 6 cflags i.g wall a...

Makefile基本使用

首先我們先來看乙個示例 c hello.c include using namespace std int main makefile檔案 hello hello.o g hello.o o hello hello.o hello.s g c hello.s o hello.o hello.s he...

makefile基本語法

main.c為主體,input.c負責接收從鍵盤輸入的數值,calcu.h進行任意兩個數相加 這裡面當 特別多的時候 gcc main.c input.c calcu.c o main 這行 就比較長 有一種辦法是分別把main,input,calcu編譯成點o檔案,然後再gcc連線 gcc c m...