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...