minimal/do: use ".did" stamp files instead of empty target files.

If all.do runs and creates no output, we shouldn't create a file called
'all', but we should remember that 'all' has been run successfully.  We do
this by creating 'all.did' during the build.

Since minimal/do always just wipes everything out every time it runs, we can
safely remove the .did files after minimal/do terminates, so this doesn't
clutter things too much in normal use.

This fixes some edge cases, particularly that 'minimal/do clean' no longer
leaves stupid files named "clean" lying around, and the redo-sh directory
can now be rebuilt correctly since we rebuild it as long as redo-sh.did
doesn't exist.  (We don't want to "rm -rf redo-sh" because it makes me
nervous.)
This commit is contained in:
Avery Pennarun 2011-01-01 03:42:35 -08:00
commit fb5275938d
2 changed files with 16 additions and 6 deletions

View file

@ -1,3 +1,4 @@
rm -rf t/.redo redo-sh
if [ -e .do_built ]; then
while read x; do
rm -f "$x"
@ -6,5 +7,4 @@ fi
[ -z "$DO_BUILT" ] && rm -rf .do_built .do_built.dir
redo t/clean Documentation/clean
rm -f *~ .*~ */*~ */.*~ *.pyc install.wrapper
rm -rf t/.redo redo-sh
find . -name '*.tmp' -exec rm -fv {} \;