redo: 5.4s redo -j4: 3.0s make: 2.3s make -j4: 1.4s make SHELL=/bin/dash: 1.2s make SHELL=/bin/dash -j4: 0.83s We have some distance to go yet. Of course, redo is still written in python, not C, so it's very expensive, and the on-disk dependency store is very inefficient.
26 lines
449 B
Makefile
26 lines
449 B
Makefile
all:
|
|
. ./check-1.sh
|
|
$(MAKE) 1.n0 2.n0 3.n0
|
|
$(MAKE) $(shell seq 10 | sed 's/$$/.n1/')
|
|
. ./check-2.sh
|
|
|
|
%.n0: $(shell seq 10 | sed 's/$$/.n1/')
|
|
: >$@
|
|
|
|
%.n1: $(shell seq 100 | sed 's/$$/.n2/')
|
|
echo n1-$* >$@
|
|
|
|
.PRECIOUS: %.n2
|
|
%.n2:
|
|
echo n2-$* >$@
|
|
echo $* >>$*.count
|
|
echo $* >>in.countall
|
|
$(MAKE) countall
|
|
|
|
.PHONY: countall
|
|
countall:
|
|
echo $@ >>out.countall
|
|
echo hello >$@
|
|
|
|
clean:
|
|
rm -f *~ .*~ *.n0 *.n1 *.n2 *.tmp *.count countall *.countall
|