You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Makefile如何实现单行多字符串替换以简化.o文件变量定义

精简写法方案

你可以直接用Make内置的notdir函数替代手动写的路径前缀替换逻辑,有1行和2行两种可选写法:

2行写法(可读性更高,推荐)

UTILS := $(notdir $(wildcard ./u/*.c))
OBJ := $(UTILS:.c=.o)

1行写法(完全合并逻辑)

OBJ := $(patsubst %.c, %.o, $(notdir $(wildcard ./u/*.c)))

说明

  • $(notdir) 是Make原生提供的去路径函数,刚好实现你去掉./u/前缀的需求,比自定义模式替换更简洁
  • 两种写法的输出和你原有三段式代码完全一致,没有兼容性问题

内容的提问来源于stack exchange,提问作者Bunyod Shams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:45:02