簡單Makefile的編寫

2021-09-19 07:39:03 字數 1039 閱讀 1482

在乙個較大的工程中,工程的原始檔按不同的型別、功能、模組分類,這樣給我們在編譯的過程中就增加了較大的工程量,並且有些還有可能要進行一些較為複雜的操作。編譯一次還可以,但我們在除錯的過程中不可能只編譯一次,為了解決這個麻煩,做到一勞永逸。我們就可以通過編寫makefile將這些需要執行的步驟寫進去。《因為makefile就像乙個shell指令碼語言一樣,也可以執行作業系統的命令。>然後呼叫make命令。整個工程完全自動編譯。

makefile的通用結構

#以『#』開頭的行表示注釋

#定義變數var ,強行賦值為test

var = test

#第一條目標為總的目標

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

#動作可以是linux命令,動作的那一行必須以tab鍵開頭

target:depend1 depend2 depend3 . . .

[tab] action1

[tab] action2

target1:

[tab] action1

[tab] action2

**注意:**目標可以只有依賴沒有動作,也可以只有動作沒有依賴。

如果目標有依賴它將先執行依賴再執行動作

如下是我的簡單**示例:

libpath = /home/iot/luofang //路徑

ldflags += -l$

cc = gcc

all: //總目標

clean:

執行結果及分析:

在執行make命令之後該路徑下增加了乙個 編譯後的可執行檔案 temper_client

執行該檔案

要執行出總目標之外的其他目標,只要執行 make+目標名 就行

簡單編寫makefile

乙個makefile基本的規則 a b tab tab a為目標檔案,b為依賴檔案 可能含有多個 接下來為命令 必須含有tab 操作依賴檔案得到目標檔案 以乙個簡單的示例來演示如何編寫乙個基礎的makefile ifndef file1 h define file1 h ifdef cplusplu...

編寫簡單的makefile

假如有乙個上百個檔案的 構成的專案,如果只是對其中乙個或少數幾個檔案進行了修改,若用gcc編譯工具就不得不把整個專案裡的檔案重新編譯一遍。編譯過程分為編譯 彙編鏈結等階段。其中,編譯階段僅檢查語法錯誤以及函式與變數的宣告是否正確,在鏈結階段則主要完成函式鏈結和全域性變數的鏈結。因此,沒有改動的源 根...

簡單的makefile編寫

cc gcc cflags wall i home coc target sysroots corei7 64 poky linux usr include libxml2 ldflags l home coc target sysroots corei7 64 poky linux usr lib...