【问题标题】:TCSH Makefile - copy file to name and change permissionsTCSH Makefile - 将文件复制到名称并更改权限
【发布时间】:2014-11-13 23:35:27
【问题描述】:

我正在尝试为 tcsh 脚本创建一个 makefile,该脚本将文件复制到名称 proj3 并更改每个人都可以执行的权限。我知道如何为 c++ 和 c 等制作 makefile,但我不知道我们为什么要为 shell 脚本做这些。

我的文件名为 proj3final

这是我目前所拥有的:

proj3final:
    cp final proj3
    chmod 755 proj3

每当我运行make proj3make 时,它都会提示nothing to be done

【问题讨论】:

    标签: shell scripting makefile tcsh


    【解决方案1】:

    makefile 规则应始终创建与目标同名的文件。

    如果您希望 make 能够判断它何时需要运行规则,则您的规则需要先决条件。

    您的规则告诉 make 它将创建 proj3final 文件,但它实际上创建了 proj3 文件。这会让 make 感到困惑。

    此外,您的规则没有为该目标提供任何先决条件,因此只要存在 proj3final 文件,make 就会假定它是最新的,并且不必进行任何工作。

    假设您的输入文件名为 final 并且您希望将其复制到名为 proj3final 的文件中,那么您想要的规则是

    proj3final: final
            cp $< $@
            chmod 755 $@
    

    哪个应该做你想做的,并将Automatic Variables用于当前目标($@)和第一个先决条件($&lt;)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多