自己寫makefile簡易教程

2022-02-16 02:27:32 字數 1969 閱讀 5944

前言:由於個人精力原因,我只寫makefile的內容,c語言以及shell指令又不了解的同學,請先學習c語言以及shell指令。

寫單個檔案的makefile時,我們需要了解最基本的格式

target:prerequistes...

command

......

target:是指生成的專案。

prerequistes:是指生成專案需要的檔案。

command:是指執行的命令。

下面是具體例子:

main:main.c

gcc -o main main.c

clean: #這是乙個清除命令,我們需要在shell中通過呼叫make clean 命令來實現他。

rm main

具體的makefile實現需要是需要自己的工程目錄下面的,建立乙個makefile檔案,在該目錄下,呼叫make,就會執行編譯。生成我們想要的工程檔案。如下圖所示

當我們需要編譯多個c檔案時,我們就需要把其它c檔案編譯成.o檔案,最後再編譯成main檔案。

main:main.c tool.o

gcc main.c tool.o -o main

tool.o:tool.c

gcc -c tool.c

clean:

rm *.o main

tool.o:tool.c表示tool.o專案以來的檔案是tool.c,使用的命令是gcc -c tool.cclean:專案下的命令rm *.o main*.o的含義是所有的.o檔案

執行make時,是先執行gcc -c tool.c,再執行gcc main.c tool.o -o main

在這裡呢,就出現了兩條新的命令

cc=gcc

flags=-lm -wall -g

在下面呼叫是這樣的

$(cc) $(flags) -c min.c
cc=gcc表示編譯器為gcc,flags=-ml -wall -g是特定的鏈結指令,類似c語言中的巨集的使用。

使用時,直接是$()去替換掉對應的命令即可。就像這樣

Makefile簡易教程

在軟體開發中,make通常被視為一種軟體構建工具。該工具主要經由讀取一種名為 makefile 或 makefile 的檔案來實現軟體的自動化建構。它會通過一種被稱之為 target 概念來檢查相關檔案之間的依賴關係,這種依賴關係的檢查系統非常簡單,主要通過對比檔案的修改時間來實現。在大多數情況下,...

Makefile簡易教程

本文部分內容引用 中文維基百科。乙個簡單的makefile教程。在軟體開發中,make通常被視為一種軟體構建工具。該工具主要經由讀取一種名為 makefile 或 makefile 的檔案來實現軟體的自動化建構。它會通過一種被稱之為 target 概念來檢查相關檔案之間的依賴關係,這種依賴關係的檢查...

Makefile簡易教程

makefile簡介 在軟體開發中,make通常被視為一種軟體構建工具。該工具主要經由讀取一種名為 makefile 或 makefile 的檔案來實現軟體的自動化建構。它會通過一種被稱之為 target 概念來檢查相關檔案之間的依賴關係,這種依賴關係的檢查系統非常簡單,主要通過對比檔案的修改時間來...