--- /dev/null
+AR = ar
+CC = @CC@
+CXX = @CXX@
+CFLAGS = -g -W -Wall -O3
+DEPSDIR := .deps
+DEPCFLAGS = -MD -MF $(DEPSDIR)/$*.d -MP
+ifeq ($(strip $(MEMMGR)), )
+ MEMMGR = @MALLOC_LIBS@
+endif
+ifneq ($(strip $(KEYSWAP)), )
+ CFLAGS += -DKEYSWAP
+endif
+ifneq ($(strip $(NOPREFETCH)), )
+ CFLAGS += -DNOPREFETCH
+endif
+ifneq ($(strip $(NOSUPERPAGE)), )
+ CFLAGS += -DNOSUPERPAGE
+endif
+LIBS = @LIBS@ -lpthread -lm
+LDFLAGS = @LDFLAGS@
+
+all: test_atomics mtd mtclient mttest
+
+%.o: %.c config.h $(DEPSDIR)/stamp
+ $(CXX) $(CFLAGS) $(DEPCFLAGS) -include config.h -c -o $@ $<
+
+%.o: %.cc config.h $(DEPSDIR)/stamp
+ $(CXX) $(CFLAGS) $(DEPCFLAGS) -include config.h -c -o $@ $<
+
+%.S: %.o
+ objdump -S $< > $@
+
+libjson.a: json.o string.o straccum.o str.o msgpack.o \
+ clp.o kvrandom.o compiler.o kvthread.o
+ @/bin/rm -f $@
+ $(AR) cru $@ $^
+
+KVTREES = query_masstree.o \
+ value_string.o value_array.o value_versioned_array.o \
+ string_slice.o
+
+mtd: mtd.o log.o checkpoint.o file.o misc.o $(KVTREES) \
+ kvio.o libjson.a
+ $(CXX) $(CFLAGS) -o $@ $^ $(MEMMGR) $(LDFLAGS) $(LIBS)
+
+mtclient: mtclient.o misc.o testrunner.o kvio.o libjson.a
+ $(CXX) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS)
+
+mttest: mttest.o misc.o checkpoint.o $(KVTREES) testrunner.o \
+ kvio.o libjson.a
+ $(CXX) $(CFLAGS) -o $@ $^ $(MEMMGR) $(LDFLAGS) $(LIBS)
+
+test_string: test_string.o string.o straccum.o compiler.o
+ $(CXX) $(CFLAGS) -o $@ $^ $(MEMMGR) $(LDFLAGS) $(LIBS)
+
+test_atomics: test_atomics.o string.o straccum.o kvrandom.o \
+ json.o compiler.o kvio.o
+ $(CXX) $(CFLAGS) -o $@ $^ $(MEMMGR) $(LDFLAGS) $(LIBS)
+
+jsontest: jsontest.o string.o straccum.o json.o compiler.o
+ $(CXX) $(CFLAGS) -o $@ $^ $(MEMMGR) $(LDFLAGS) $(LIBS)
+
+msgpacktest: msgpacktest.o string.o straccum.o json.o compiler.o msgpack.o
+ $(CXX) $(CFLAGS) -o $@ $^ $(MEMMGR) $(LDFLAGS) $(LIBS)
+
+config.h: stamp-h
+
+GNUmakefile: GNUmakefile.in config.status
+ CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+configure config.h.in: configure.ac
+ autoreconf -i
+ touch config.h.in
+
+config.status: configure
+ ./configure @ac_configure_args@
+
+$(DEPSDIR)/stamp:
+ mkdir -p $(DEPSDIR)
+ touch $@
+
+stamp-h: config.h.in config.status
+ CONFIG_FILES= $(SHELL) ./config.status
+ echo > stamp-h
+
+clean:
+ rm -f mtd mtclient mttest test_string test_atomics *.o libjson.a
+ rm -rf .deps
+
+DEPFILES := $(wildcard $(DEPSDIR)/*.d)
+ifneq ($(DEPFILES),)
+include $(DEPFILES)
+endif
+
+.PHONY: clean all