我有一个小脚本,可将 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.py、style.css和script.js,目标将运行,但它不再依赖于文件,因此我可以在 中进行更改style.css,并且不会重新运行目标。
所有这些文件都在同一目录中:
my_project_directory/
content.md
compile.py
style.css
script.js
Run Code Online (Sandbox Code Playgroud)
如何在不导致错误的情况下将所有这些文件声明为依赖项?
您已经告诉 makeoutput.html需要style.css,但style.css当前目录中不存在该文件,并且您没有告诉 make 如何创建它。style.css指定(以及其他文件)的真实位置,依赖项将起作用。