]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb/tools/Makefile
tdb: Add tdbtool to 'clean'
[ccan] / ccan / tdb / tools / Makefile
index 7c459353a681e6bd1666c533a3977c71af17112a..f2a807aa799891ca3a4528d03b8854505982a99e 100644 (file)
@@ -1,8 +1,32 @@
 LDLIBS:=-lccan
-CFLAGS:=-I../../.. -Wall -g -pg -O3
+CFLAGS:=-I../../.. -Wall -O3 #-g -pg
 LDFLAGS:=-L../../..
 
-default: replay_trace tdbtorture
+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 $@
+
+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 *.o
+       rm -f replay_trace tdbtorture tdbdump tdbtool *.o