将路径字符串列表解析为make中其他路径的更好方法?

时间:2018-07-30 20:57:15

标签: makefile gnu-make

我正在使用来自Atmel的自动生成的文件。链接时,它使用变量$(OBJS_AS_ARGS)。

fill_type

我的目标是将每个字符串的路径更改为相对于父字符串的路径,即:

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" \

我在添加../我在想某种vpath的方式。或字符串串联。但是,该变量是字符串列表。我最终在每个字符串中添加了../。有没有办法设置一个可以工作的变量/ vpath,而不用我修改每个字符串?谢谢你。

1 个答案:

答案 0 :(得分:1)

我不清楚您要确切执行的操作,但是通过举例说明,这样做是否符合您的要求?有关patsubst function的更多信息。

NEW_ARGS := $(patsubst "%","../%",$(OBJS_AS_ARGS))