]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb/tools/Makefile
tdb: Add tdbtool to 'clean'
[ccan] / ccan / tdb / tools / Makefile
index 49e13732cf950f5bdd49c9d77f1398aa4f021371..f2a807aa799891ca3a4528d03b8854505982a99e 100644 (file)
@@ -2,7 +2,10 @@ LDLIBS:=-lccan
 CFLAGS:=-I../../.. -Wall -O3 #-g -pg
 LDFLAGS:=-L../../..
 
-default: replay_trace tdbtorture tdbdump
+default: replay_trace tdbtorture tdbdump tdbtool
+
+benchmark: replay_trace
+       @trap "rm -f /tmp/trace.$$$$" 0; for f in benchmarks/*.rz; do if runzip -k $$f -o /tmp/trace.$$$$ && echo -n "$$f": && ./replay_trace --quiet -n 5 replay.tdb /tmp/trace.$$$$ && rm /tmp/trace.$$$$; then rm -f /tmp/trace.$$$$; else exit 1; fi; done
 
 replay_trace: replay_trace.c keywords.c
        $(LINK.c) $< $(LOADLIBES) $(LDLIBS) -o $@
@@ -10,5 +13,20 @@ replay_trace: replay_trace.c keywords.c
 keywords.c: keywords.gperf
        gperf $< > $@
 
+check: replay_trace
+       @rm -f *.reduced_trace
+       @set -e; for f in tests/*.trace.tar.bz2; do             \
+               tar xvfj $$f;                                   \
+               ./replay_trace replay.tdb *.reduced_trace;      \
+               rm -f *.reduced_trace;                          \
+       done
+
+# Usage: make mytest.trace.tar.bz2 TRACEFILES=*.trace
+%.trace.tar.bz2: $(patsubst %.trace,%.reduced_trace,$(wildcard $(TRACEFILES)))
+       tar cvfj $@ $^
+
+%.reduced_trace: %.trace
+       @sed 's/\(^[0-9]* traverse\) .*/\1fn/' < $^ > $@
+
 clean:
-       rm -f replay_trace tdbtorture tdbdump *.o
+       rm -f replay_trace tdbtorture tdbdump tdbtool *.o