防止makefile中的变量扩展

apr*_*amc 2 shell makefile

我想把它写到一个文件中:

-MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
Run Code Online (Sandbox Code Playgroud)

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

PSecho '-MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"'在生成文件中调用。

在我的makefile中,我假设我有:

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

我在文件中看到的是

-MF"all" -MT"all" -o "all" ""

Dmi*_*rov 6

使用$$放一个美元符号成一个Makefile食谱

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