一、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 無法生成它的依賴關係和決定它是否要執行,因...