gpt4 book ai didi

Makefile:如何更改var的前缀?

转载 作者:行者123 更新时间:2023-12-04 00:11:38 25 4
gpt4 key购买 nike

我有包含 src、obj 和 inc 目录的项目文件夹。

我用 obj - OBJS 声明 var

SDIR = src
ODIR = obj

# I change /src/*.c to /obj/*.o
_OBJS = $(patsubst %.c, %.o, $(wildcard $(SDIR)/*.c))
# I need to change /src/*.o to /obj/*.o
OBJS = $(??? $ODIR ??? $_OBJS ???)

现在在 _OBJS - ./src/*.o 中,如何将 OBJS 中的 /src/ 更改为 /obj/

谢谢。

最佳答案

这个呢(如果我理解正确的话):

SDIR = src
ODIR = obj

# I change /src/*.c to /obj/*.o
_OBJS = $(patsubst %.c, %.o, $(wildcard $(SDIR)/*.c))
# I need to change /src/*.o to /obj/*.o
_OBJS := $(subst $(SDIR), $(ODIR), $(_OBJS))

debug:
@echo $(_OBJS)

输出/测试:

$ mkdir ./src/
$ touch ./src/a.c
$ touch ./src/b.c
$ touch ./src/c.c
$ ls ./src/
a.c b.c c.c
$ make debug
obj/a.o obj/b.o obj/c.o

关于Makefile:如何更改var的前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34240501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com