Makefile 将路径字符串列表解析为make中不同路径的更好方法?

Makefile 将路径字符串列表解析为make中不同路径的更好方法?,makefile,gnu-make,Makefile,Gnu Make,我正在使用Atmel自动生成的make文件。链接时,它使用变量$OBJS_作为参数。其中: OBJS_AS_ARGS += \ "hal/src/hal_io.o" \ "hpl/systick/hpl_systick.o" \ "samd21a/gcc/gcc/startup_samd21.o" \ "hal/utils/src/utils_syscalls.o" \ "hal/src/hal_delay.o" \ "hpl/pm/hpl_pm.o" \ "hpl/core/hpl_init

我正在使用Atmel自动生成的make文件。链接时,它使用变量$OBJS_作为参数。其中:

OBJS_AS_ARGS +=  \
"hal/src/hal_io.o" \
"hpl/systick/hpl_systick.o" \
"samd21a/gcc/gcc/startup_samd21.o" \
"hal/utils/src/utils_syscalls.o" \
"hal/src/hal_delay.o" \
"hpl/pm/hpl_pm.o" \
"hpl/core/hpl_init.o" \
"samd21a/gcc/system_samd21.o" \
"hpl/core/hpl_core_m0plus_base.o" \
我的目标是将每个字符串的路径更改为相对于父字符串的路径,即:

OBJS_AS_ARGS +=  \  
"../hal/src/hal_io.o" \
"../hpl/systick/hpl_systick.o" \

我预先准备了…/我正在考虑用vpath的方法来做这件事。或者字符串连接。但是,变量是字符串列表。最后,我在每个字符串中添加了../。有没有一种方法可以设置一个变量/vpath来代替我修改每个字符串?谢谢。

我不清楚您到底想做什么,但通过举例说明,这是否符合您的要求?更多关于该网站的信息


哇!对非常感谢。我真的很感谢你花时间教我一些新东西。再次感谢你。
NEW_ARGS := $(patsubst "%","../%",$(OBJS_AS_ARGS))