相关疑难解决方法(0)

在makefile中转义

我正在尝试在makefile中执行此操作,但它失败的可能性非常大:

M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}')
Run Code Online (Sandbox Code Playgroud)

你知道为什么吗?我想它与逃避有关,但是在哪里和哪里?

makefile g++ escaping gnu-make

81
推荐指数
2
解决办法
4万
查看次数

命令替换不适用于 makefile 中的 echo

这是一个在我的 bash shell 中运行良好的简单命令:

echo "Created at: $(date)" >> README.md
Run Code Online (Sandbox Code Playgroud)

它附加Created at: Wed Jan 24 10:04:48 STD 2018到 README.md。

但是,当我在 makefile 中包含相同的命令时,行为有所不同。

生成文件:

README.md:
    echo "Created at: $(date)" >> README.md
Run Code Online (Sandbox Code Playgroud)

运行时make README.md会将命令替换视为空字符串,如下所示:

echo "Created at: " >> README.md
Run Code Online (Sandbox Code Playgroud)

README.md 中附加的内容是Created at:.

如何在 makefile 中使用 echo 正确地进行命令替换输出?

bash shell scripting makefile gnu-make

5
推荐指数
1
解决办法
1762
查看次数

标签 统计

gnu-make ×2

makefile ×2

bash ×1

escaping ×1

g++ ×1

scripting ×1

shell ×1