4 ms·
The build system does record all the actual dependencies and: 1) Only executes stuff after their actual dependencies changed (over-specified dependencies are i
by Peaker 15y ago
The build system does record all the actual dependencies and:
1) Only executes stuff after their actual dependencies changed (over-specified dependencies are ignored here)
2) Yell if dependencies are under-specified (can't access files not specified as dependencies)
3) Correctly handle parallelism -- this is where overspecifying dependencies may hurt somewhat, because it can under-parallelize. However, if inputs change -- the dependencies can also change, so if you use previous dependency lists you will also get parallelism wrong. So parallelism makes it a harder problem.
If you don't care that much about fine-grained parallelism, you can simply over-specify your dependencies, and tup will do the right thing.