Makefile 语法中的自动化变量与函数

时间:2021-12-06 20:42:35
Makefile有三个非常有用的变量。分别是$@,$^,$<代表的意义分别是:

$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件,$?--代表依赖文件列表中被改变过的所有文件。


wildcard : 扩展通配符
notdir : 去除路径
patsubst :替换通配符:



一个极简化的makefile举例:


OUTPUT=execfile

SRC=(wildcard *.cpp)

OBJ:=one.o two.o three.o

all:$(OUTPUT)

$(OUTPUT):$(OBJ)
   gcc -o $@ $^

.c.o:
   gcc -c $<