+%.o: %.c
+ $(CC) -o $*.o -c $(ALL_CFLAGS) $<
+
+blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o
+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^)
+
+blktrace: blktrace.o act_mask.o
+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
+
+verify_blkparse: verify_blkparse.o
+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^)
+
+blkrawverify: blkrawverify.o
+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^)
+
+blkiomon: blkiomon.o rbtree.o
+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt
+
+$(PROGS): | depend
+
+docs:
+ $(MAKE) -C doc all
+ $(MAKE) -C btt docs
+ $(MAKE) -C btreplay docs
+
+docsclean:
+ $(MAKE) -C doc clean
+ $(MAKE) -C btt clean
+ $(MAKE) -C btreplay clean
+
+depend:
+ @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend