补全:按顺序列出要做的

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

(RULES 里每个目标记着它的依赖和命令;stale(目标) 判它要不要重做:目标不存在、或任何一个依赖比它新、或依赖自己就要重做;plan(目标) 按依赖先、目标后的顺序列出要重做的目标。)

贯穿 n05 的构建规则(目标 ← 依赖:命令):

dist/app.pyz ← build/app.py, build/lib.py : zipapp build -o dist/app.pyz
build/app.py ← src/app.py                  : cp src/app.py build/
build/lib.py ← src/lib.py, src/lib.cfg     : gen.py src/lib.py src/lib.cfg > build/lib.py

MTIME 是每个文件的修改时间(数越大越新):src/app.py 10、src/lib.py 12、src/lib.cfg 5、build/app.py 11、build/lib.py 13、dist/app.pyz 14。

补全 plan(target, done):先递归处理每个依赖,再看自己——过期且还没在 done 里就追加。

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论