2 CFLAGS = -Wall -O2 -g -W
3 ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
4 PROGS = blkparse blktrace verify_blkparse blkrawverify blkiomon
7 SUBDIRS = btreplay btt iowatcher
9 ALL = $(PROGS) $(SCRIPTS)
10 INSTALL_ALL = $(ALL) btt/btt btreplay/btrecord btreplay/btreplay \
11 btt/bno_plot.py iowatcher/iowatcher
13 all: $(ALL) $(SUBDIRS)
15 # We always descend into subdirs because they contain their own dependency
16 # information which we don't track in this top level Makefile.
22 $(CC) -o $*.o -c $(ALL_CFLAGS) $<
24 blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o
25 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^)
27 blktrace: blktrace.o act_mask.o
28 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
30 verify_blkparse: verify_blkparse.o
31 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^)
33 blkrawverify: blkrawverify.o
34 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^)
36 blkiomon: blkiomon.o rbtree.o
37 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt
44 $(MAKE) -C btreplay docs
49 $(MAKE) -C btreplay clean
52 @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend
56 bindir = $(prefix)/bin
57 mandir = $(prefix)/man
61 export prefix INSTALL TAR
64 git-tar-tree HEAD btrace-1.0 > btrace-1.0.tar
66 @cp btrace.spec btrace-1.0
67 $(TAR) rf btrace-1.0.tar btrace-1.0/btrace.spec
72 $(RPMBUILD) -ta btrace-1.0.tar.bz2
75 -rm -f *.o $(PROGS) .depend btrace-1.0.tar.bz2
77 $(MAKE) -C btreplay clean
78 $(MAKE) -C iowatcher clean
81 $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
82 $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
83 $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man8
84 $(INSTALL) -m 755 $(INSTALL_ALL) $(DESTDIR)$(bindir)
85 $(INSTALL) -m 644 doc/*.1 $(DESTDIR)$(mandir)/man1
86 $(INSTALL) -m 644 doc/*.8 $(DESTDIR)$(mandir)/man8
88 ifneq ($(wildcard .depend),)