(一)make之make和makefile初識

2021-10-03 15:40:37 字數 1488 閱讀 5593

1.1 make 和makefile

1.1.1 make

make 是乙個應用程式

1.1.2 makefile

makefile是乙個描述檔案

1.1.3 makefile本質

makefile實際就是乙個指令碼程式,類似於shell指令碼。

由於**塊中沒有make的,所以用bash來代替make的**塊

1.1.4 案例

make.txt檔案內容

hello:

echo

"hello makefile"

注意,echo前面是tab鍵,也就是\t

執行命令 : make -f make.txt hello

1.2 初始makefile的結構

1.2.1 makefile的意義

1.2.2 makefile 中的元素含義

1.2.3 規則中的注意事項

prerequisites 可以包含多個依賴

[tab] 鍵 : 『\t』

續行符 : \

1.2.4 make的依賴示例

all :

test

echo

"make all"

test:

echo

"make test"

1.2.5 依賴規則重要

小技巧,makefile中可以在命令前加上@符,作用為命令無回顯

1.2.6 makefile 案例

小技巧,工程專案中可以將最終可以執行檔名和all同時作為makefile中第一條規則的目標

hello.out all : main.o func.o

gcc -o hello.out main.o func.o

hello.out all : func.o main.o

gcc -o hello.out func.o main.o

func.o : func.c

gcc -o func.o -c func.c

main.o : main.c

gcc -o main.o -c main.c

1.3 偽目標的引入

1.3.1 偽目標的語法

1.3.2 偽目標的妙用

偽目標的妙用: 規則呼叫(函式呼叫)

.phony : clean rebuild all

rebuild : clean all

clean :

rm *.o hello.out

1.3.3 技巧

clean : force

rm *.o hello.out

force:

參考一 : 狄泰軟體課程

MAKE 巢狀執行make

在一些大的工程中,我們會把我們不同模組或是不同功能的原始檔放在不同的目錄中,我們可以在每個目錄中都書寫乙個該目錄的makefile,這有利於讓我們的makefile變得更加地簡潔,而不至於把所有的東西全部寫在乙個makefile中,這樣會很難維護我們的makefile,這個技術對於我們模組編譯和分段...

程式設計開發之make

make命令是gnu的工程化編譯工具,用於編譯眾多相互關聯的源 問價,以實現工程化的管理,提高開發效率。語法 make 選項 引數 選項 f 指定 makefile 檔案 i 忽略命令執行返回的出錯資訊 s 沉默模式,在執行之前不輸出相應的命令列資訊 r 禁止使用build in規則 n 非執行模式...

make學習筆記(一)

1 由於實際開發中,乙個程式往往是由多個原始檔組成的,所以單用gcc除錯往往是很麻煩的,加上若在除錯過程中只修改了部分原始檔,用gcc命令編譯的話會將連同沒被修改的原始檔一起編譯,這大大地降低了編譯效率,由此引入了make工程管理器。2 make是乙個半自動化的工程管理器,它需要依賴makefile...