makefile規則如下所示
目標:依賴檔案列表
命令列表
1、目標通常是要產生的檔名稱,目標可以是可執行檔案或obj檔案,也可是乙個動作的名稱.
2、依賴檔案是用來輸入從而產生目標的檔案.
乙個目標通常有幾個依賴檔案.
1、 make支援三種萬用字元:「*」,「?」和「[...]」
* :代替乙個和多個字元
?:代替乙個字元
2、makefile中的變數類似c/c++中的巨集
(1) eg:
objects = *.o(表示object的值就是'*.o'),如果想讓object的值是所有.o檔案的集合使用:
objects := $(wildcard *.o) (wildcard: makefile 關鍵字)
(2) 使用範圍:可以使用在makefile的各個部分中,在使用時,需要給在變數名前加上「$」符號,如果你要使用真實的「$」字元,那麼你需要用「$$」來表示
(3) :=(立即賦值) ?=(條件賦值,如果沒有被定義就被複製,否則什麼都不做)
3、makefile 中vpath變數和vpath關鍵字進行檔案搜尋
vpath: vpath = src:../headers 中間使用:分隔
vpath %.h ../headers 要求make在「../headers」目錄下搜尋所有以「.h」結尾的檔案
4、makefile有三個非常有用的變數,分別是$@,$^,$《代表的意義分別是:
$@--目標檔案,$^--所有的依賴檔案,$<--第乙個依賴檔案。
5、自動化變數
6、關鍵字
$(wildcard *.c)
」來獲取工作目錄下的所有的
.c檔案列表
7、使用函式
makefile學習筆記 makefile概述
20180411 makefile學習筆記 makefile概述 makefile主要是在unix下軟體編譯時寫的,window下一般不用 unix裡makefile做的事 相當於window裡ide所做的事 會不會寫makefile,從乙個側面說明了乙個人是否具備完成大型工程的能力。makefil...
Makefile學習筆記
makefile for boot asm nasm 定義變數 asmflags i include run qemu system i386 hdd boot.img boot.img boot.asm asm boot.asm f bin o boot.img install run clean...
Makefile學習筆記
本文為學習筆記,僅供參考,如有好的建議歡迎指出!makefile規則 目標檔案 依賴檔案 tab 命令 命令前必須有乙個tab exp test main.c gcc main.c o test 隱式規則 o c 同名匹配 變數 類似於c中的巨集,引用方式 arg 變數名 值 引用變數可在之後定義 ...