shell touch命令在Makefile中不起作用

时间:2019-07-01 17:04:57

标签: makefile gnu-make

内部Makefile:

generate:
    touch file{1..10}

使用make

运行

,我得到一个文件名文件{1..10},而不是10个不同的文件。 touch命令在外壳上可以正常工作。

为什么?

1 个答案:

答案 0 :(得分:1)

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

设置SHELL=/bin/bash(或其他任何功能)以使其正常工作。

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