阻止makefile中的变量扩展

时间:2017-06-01 13:29:32

标签: shell makefile

我想将其写入文件:

-MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"

但是当我将此回显到文件中时,使用""'',变量将会扩展,如何阻止扩展并按原样写入?

P.S。在makefile中调用echo '-MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"'

在我的makefile中,我想说我有:

all:
    echo '-MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"' > $file

我在文件中看到的是

  

-MF“all”-MT“all”-o“all”“”

1 个答案:

答案 0 :(得分:2)

使用$$将美元符号放入Makefile配方

all:
    echo '-MF"$$(@:%.o=%.d)" -MT"$$(@)" -o "$$@" "$$<"' > $file