Makefile 变量替换

使用指定字符串替换掉变量中的字符串

.PHONY: all

SRC := main.c sub.c
OBJ := $(SRC:.c=.o)

all:
    @echo "SRC = $(SRC)"
    @echo "OBJ = $(OBJ)"

执行make命令,运行结果为:

# make
SRC = main.c sub.c
OBJ = main.o sub.o

模式匹配替换

使用匹配符%匹配变量,使用 % 保留变量值中的指定字符串,然后其他部分使用指定字符串代替。

.PHONY: all

SRC := main.c sub.c
OBJ := $(SRC:%.c=%.o)

all:
    @echo "SRC = $(SRC)"
    @echo "OBJ = $(OBJ)"

执行make命令,运行结果为:

# make
SRC = main.c sub.c
OBJ = main.o sub.o
《Makefile工程实践》视频教程,一线开发工程师独家录制,网上首家讲解Makefile的实战课程。从零开始,教你一步一步编写一个工程项目的Makefile,支持使用第三方静态库、动态库,支持指定模块或目录编译生成静态库、动态库,赠送企业级的Makefile模板,学完即可拿来使用,投入项目开发实战,具备独立开展项目开发和管理的能力。详情请点击淘宝链接:Linux三剑客