使用变量替换Makefile字符串

使用变量替换Makefile字符串,makefile,string-substitution,Makefile,String Substitution,我想删除Makefile中目标路径的根目录 假设目标是这样的 OUTPUT = output PATH = $(OUTPUT)/a.txt 稍后在构建目标时,这会起作用 echo $(@:output/%=%) >>> a.txt 但如果我使用var$OUTPUT而不是字符串,则不会: echo $(@:$(OUTPUT)/%=%) >>> output/a.txt 这两种方法都适用于我。您称之为“target is like”的makefile部分不是

我想删除Makefile中目标路径的根目录

假设目标是这样的

OUTPUT = output
PATH = $(OUTPUT)/a.txt
稍后在构建目标时,这会起作用

echo $(@:output/%=%)
>>> a.txt
但如果我使用var$OUTPUT而不是字符串,则不会:

echo $(@:$(OUTPUT)/%=%)
>>> output/a.txt

这两种方法都适用于我。您称之为“target is like”的makefile部分不是目标。这些是可变的赋值。实际上,你没有显示目标;请显示有问题的整个makefile规则,而不仅仅是配方的一部分。SSCCE最好。