Makefile 在make文件中拆分变量

Makefile 在make文件中拆分变量,makefile,environment-variables,split,Makefile,Environment Variables,Split,我有一个变量 x=tpm/tpm 在makefile中,我希望能够将x拆分为两半 在bash中,这类似于${x%/}和${x#/} 但是如何在makefile中实现呢 提前感谢。如果这是一个路径名(或者即使不是,并且分隔符总是/),您可以使用dir和notdir函数 half1 = $(dir $(x)) half2 = $(notdir $(x)) 对于更一般的解决方案(例如,如果有两个以上的零件,或者如果分隔符不总是“/”),您可以使用以下方法: y = $(subst /, ,$(x))

我有一个变量 x=tpm/tpm

在makefile中,我希望能够将x拆分为两半

在bash中,这类似于${x%/}和${x#/}

但是如何在makefile中实现呢

提前感谢。

如果这是一个路径名(或者即使不是,并且分隔符总是
/
),您可以使用
dir
notdir
函数

half1 = $(dir $(x))
half2 = $(notdir $(x))

对于更一般的解决方案(例如,如果有两个以上的零件,或者如果分隔符不总是“/”),您可以使用以下方法:

y = $(subst /, ,$(x))

half1 = $(word 1, $(y))
half2 = $(word 2, $(y))

@阿列克斯利斯,没错,不是那么一般。下一步将是调用
sed
。如果分隔符是一个空格,那么我认为如果您声明一个包含空格的变量,然后在
subst
中使用该变量,它就会起作用。