shell touch 命令在 Makefile 中不起作用

shell touch command dose not work inside Makefile

生成文件内部:

generate:
    touch file{1..10}

运行 它与 make

我得到一个文件名 file{1..10} 而不是 10 个不同的文件。 touch 命令在 shell.

上正常工作

为什么?

Make 按照名为 SHELL 的变量中的指定调用 shell。 *nix 系统的默认值为 SHELL=/bin/sh.

设置 SHELL=/bin/bash(或其他)使其正常工作。

注意:与其他 make 的变量不同,SHELL 的值永远不会从环境中导入(如果 运行 在 POSIX OS 下;这不是对于本机 Windows 构建是正确的)。