makefile學習筆記

2021-10-03 12:49:51 字數 613 閱讀 8016

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 變數名 值 引用變數可在之後定義 ...