具有多个依赖项的 Makefile 目标

aar*_*acy 5 makefile gnu-make

我有一个小脚本,可将 Markdown 文件编译为 html,并将其与一些样式表和 javascript 一起插入到模板的主体中。我有一个 GNU makefile 来完成这个:

output.html: content.md compile.py style.css script.js
    python compile.py < $< > $@
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到错误:

make: *无规则生成目标style.css', needed byoutput.html'。停止。

如果我删除compile.pystyle.cssscript.js,目标将运行,但它不再依赖于文件,因此我可以在 中进行更改style.css,并且不会重新运行目标。

所有这些文件都在同一目录中:

my_project_directory/
    content.md
    compile.py
    style.css
    script.js
Run Code Online (Sandbox Code Playgroud)

如何在不导致错误的情况下将所有这些文件声明为依赖项?

Kyl*_*nes 4

您已经告诉 makeoutput.html需要style.css,但style.css当前目录中不存在该文件,并且您没有告诉 make 如何创建它。style.css指定(以及其他文件)的真实位置,依赖项将起作用。