我厌倦了在 make 中查找魔法符号并决定尝试waf。
我正在尝试使用 calibre 制作电子书,我想创建一个 wscript,它接收一个文件,运行一个包含该文件的一些参数的程序,并产生一个输出。仅当输入文件比输出文件新时才应构建 Waf。
在make中,我会写一个像这样的makefile:
%.epub: %.recipe
ebook-convert $ .epub --test -vv --debug-pipeline debug
其中 % 是文件基本名称的魔术符号,$ 是输出文件名 (basename.epub) 的符号。
我可以打电话make soverflow.epub
,它会在 soverflow.recipe 上运行 ebook-convert。如果 .recipe 自上次构建以来没有更改,则它不会做任何事情。
我怎样才能在 waf 中做类似的事情?
(为什么是 waf?因为它使用了一种我已经知道的真实语言。如果这在 scons 中真的很容易使用,那也是一个很好的答案。)