首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何扩展此Makefile以使用通配符?

要扩展Makefile以使用通配符,可以使用通配符规则来匹配多个文件。通配符规则使用通配符字符(如*)来匹配文件名中的任意字符。

下面是一个示例Makefile,展示了如何使用通配符来扩展:

代码语言:txt
复制
# 定义源文件目录和目标文件目录
SRC_DIR := src
OBJ_DIR := obj

# 获取源文件列表
SRCS := $(wildcard $(SRC_DIR)/*.c)

# 根据源文件列表生成目标文件列表
OBJS := $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRCS))

# 定义编译器和编译选项
CC := gcc
CFLAGS := -Wall -Iinclude

# 定义目标文件生成规则
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
    $(CC) $(CFLAGS) -c $< -o $@

# 定义默认目标
all: $(OBJS)

# 清理目标文件
clean:
    rm -rf $(OBJ_DIR)/*.o

在上面的示例中,首先定义了源文件目录和目标文件目录。然后使用wildcard函数获取源文件列表,该函数会将通配符展开为匹配的文件列表。接着使用patsubst函数将源文件列表转换为目标文件列表,将源文件目录替换为目标文件目录,并将文件扩展名从.c替换为.o

然后定义了编译器和编译选项。接下来定义了目标文件生成规则,使用了通配符%来匹配文件名中的任意字符。该规则指定了如何将源文件编译为目标文件。

最后定义了默认目标all,该目标依赖于所有的目标文件。通过运行make命令,可以编译所有的目标文件。还定义了清理目标clean,用于删除生成的目标文件。

这样,通过在源文件目录中添加新的源文件,Makefile会自动识别并编译新的目标文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2分52秒

如何使用 Docker Extensions,以 NebulaGraph 为例

2分22秒

Elastic Security 操作演示:上传脚本并修复安全威胁

2分25秒

R语言-“复现”TED-用酷炫的可视化方式诠释数据

6分9秒

Elastic 5分钟教程:使用EQL获取威胁情报并搜索攻击行为

1分21秒

11、mysql系列之许可更新及对象搜索

3分40秒

Elastic 5分钟教程:使用Trace了解和调试应用程序

5分29秒

041_ASCII码表_英文字符编码_键盘字符_ISO_646

1时5分

APP和小程序实战开发 | 基础开发和引擎模块特性

20分10秒

高效应用瀑布模型——CODING项目管理解决方案公开课(上)

37分37秒

高效应用瀑布模型——CODING项目管理解决方案公开课(下)

31分24秒

敏捷&精益开发落地指南

28分29秒

敏捷&精益开发落地指南实操演示

领券