三 Makefile 生成多個目標檔案

2021-10-10 10:57:41 字數 1391 閱讀 1208

一、makefile規則

二、makefile案例-多個檔案生成乙個目標檔案

三、makefile–生成多個目標檔案

四、makefile包含 標頭檔案和庫檔案

我們工作的時候經常會遇到 要多寫幾個不同的測試案例,去測試不同的功能,這個時候 需要編譯多個 可執行檔案。

假如我們的目錄下有三個原檔案需要編譯成可執行檔案

test1.c test2.c test2.c

test1.c

#include

void

dofunc1

(void

)int

main

(int argc,

char

**ar**)

test2.c

#include

void

dofunc2

(void

)int main (

int argc,

char

**ar**)

test3.c

#include

void

dofunc3

(void

)int

main

(int argc,

char

**ar**)

makefile 編譯生成多個 可執行檔案

target1 = test1

target2 = test2

target3 = test3

.phony: all

all: $(target1)

$(target2)

$(target3)

$(target1)

:$(target1)

.o $(gcc)

-o $<

$@$(target2)

:$(target2)

.o $(gcc)

-o $<

$@$(target3)

:$(target3)

.o $(gcc)

-o $<

$@#build object

%.o:%.c

$(gcc)

-c $< -o $@

.phony: clean

clean:

-@rm -f $(target1)

$(target1)

.o -@rm -f $(target2)

$(target2)

.o -@rm -f $(target3)

$(target3)

.o

如何用乙個makefile編譯多個目標

使用 phony,使用方法見下面描述或參考鏈結.經過測試可行.phony 目標可以有依賴關係。當乙個目錄中有多個程式,將其放在乙個makefile 中會更方便。因為預設目標是makefile 中的第乙個目標,通常將這個phony 目標叫做 all 其依賴檔案為各個程式 all prog1 prog2...

Makefile的特殊目標

makefile的特殊目標 在makefile中,有一些名字,當它們作為規則的目標時,具有特殊含義。它們是一些特殊的目標,gnu make所支援的特殊的目標有 phony 目標 phony 的所有的依賴被作為偽目標。偽目標時這樣乙個目標 當使用make命令列指定此目標時,這個目標所在規則定義的命令 ...

makefile之偽目標

偽目標的目的不是根據依賴關係生成某個目標,而是為了執行某種任務 clean rm o 通過 make clean來使用目標小結 1.因為我們並不是生成clean這個檔案,因此 偽目標 並不是乙個檔案,只是乙個標籤。2.由於 偽目標 不是檔案,所以 make 無法生成它的依賴關係和決定它是否要執行,因...