我想把它写到一个文件中:
-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" ""
使用$$放一个美元符号成一个Makefile食谱
all:
echo '-MF"$$(@:%.o=%.d)" -MT"$$(@)" -o "$$@" "$$<"' > $file
Run Code Online (Sandbox Code Playgroud)