makefile 裡的函式跟它的變數很相似——使用的時候,你用乙個 $ 符號跟開括號,函式名,空格後跟一列由逗號分隔的引數,最後用關括號結束。
在 gnu make 裡有乙個叫 『wildcard』 的函 數,它有乙個引數,功能是展開成一列所有符合由其引數描述的文 件名,檔案間以空格間隔。你可以像下面所示使用這個命令:
sources= $(wildcard *.c)
這行會產生乙個所有以 『.c』 結尾的檔案的列表,然後存入變數 sources 裡。當然你不需要一定要把結果存入乙個變數。
notdir把展開的檔案的路徑去掉,只顯示檔名而不包含其路徑資訊,例如:
files =$(notdir $(sources))
這行的作用是把上面以'.c'結尾的檔案的檔案列表中附帶的路徑去掉,只顯示符合條件的檔名。
patsubst( patten substitude, 匹配替換的縮寫)函式。它需要3個引數:第乙個是乙個需要匹配的式樣,第二個表示用什麼來替換它,第三個是乙個需要被處理的由空格分隔的字列。例如,處理那個經過上面定義後的變數,
objs = (pa
tsub
st
(patsubst %.c,%.o,
(patsubst
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 變數名 值 引用變數可在之後定義 ...