Makefile: ensure that iowatcher gets cleaned
[blktrace.git] / Makefile
CommitLineData
d0ca268b 1CC = gcc
b444507c 2CFLAGS = -Wall -O2 -g -W
13d928f0 3ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
cc19ddd6 4PROGS = blkparse blktrace verify_blkparse blkrawverify blkiomon
87b72777 5LIBS = -lpthread
42a58cd1 6SCRIPTS = btrace
d0ca268b 7
1306385d 8ALL = $(PROGS) $(SCRIPTS) btt/btt btreplay/btrecord btreplay/btreplay \
4eb0e11d 9 btt/bno_plot.py iowatcher/iowatcher
2885ecaa
VL
10
11all: $(ALL)
12
13btt/btt:
63eba147 14 $(MAKE) -C btt
d0ca268b 15
4eb0e11d
CM
16iowatcher/iowatcher:
17 $(MAKE) -C iowatcher
18
d47a3fec
AB
19btreplay/btrecord:
20 $(MAKE) -C btreplay
21
22btreplay/btreplay:
23 $(MAKE) -C btreplay
24
13d928f0
JA
25%.o: %.c
26 $(CC) -o $*.o -c $(ALL_CFLAGS) $<
27
98f8386b 28blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o
13d928f0 29 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
07a55d6c 30
99a55a03 31blktrace: blktrace.o act_mask.o
13d928f0 32 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
d0ca268b 33
42a58cd1 34verify_blkparse: verify_blkparse.o
13d928f0 35 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
42a58cd1 36
f17c879d
AB
37blkrawverify: blkrawverify.o
38 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
39
cc19ddd6
MP
40blkiomon: blkiomon.o rbtree.o
41 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt
42
fd977289
VT
43$(PROGS): | depend
44
ff8a07c9
JA
45docs:
46 $(MAKE) -C doc all
512566d4 47 $(MAKE) -C btt docs
d47a3fec 48 $(MAKE) -C btreplay docs
ff8a07c9
JA
49
50docsclean:
51 $(MAKE) -C doc clean
512566d4 52 $(MAKE) -C btt clean
d47a3fec 53 $(MAKE) -C btreplay clean
8865ed9c 54
c5d9acbb 55depend:
13d928f0 56 @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend
c5d9acbb 57
31382e5d
JA
58INSTALL = install
59prefix = /usr/local
60bindir = $(prefix)/bin
98eee4e4 61mandir = $(prefix)/man
31382e5d
JA
62RPMBUILD = rpmbuild
63TAR = tar
64
65export prefix INSTALL TAR
66
fa503a0c
JA
67dist: btrace.spec
68 git-tar-tree HEAD btrace-1.0 > btrace-1.0.tar
69 @mkdir -p btrace-1.0
70 @cp btrace.spec btrace-1.0
31382e5d 71 $(TAR) rf btrace-1.0.tar btrace-1.0/btrace.spec
fa503a0c
JA
72 @rm -rf btrace-1.0
73 @bzip2 btrace-1.0.tar
74
75rpm: dist
31382e5d 76 $(RPMBUILD) -ta btrace-1.0.tar.bz2
fa503a0c 77
ff8a07c9 78clean: docsclean
a6f3b5ba 79 -rm -f *.o $(PROGS) .depend btrace-1.0.tar.bz2
63eba147 80 $(MAKE) -C btt clean
d47a3fec 81 $(MAKE) -C btreplay clean
fe311e7c 82 $(MAKE) -C iowatcher clean
87b72777 83
2885ecaa 84install: all
e2d964ec
JB
85 $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
86 $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
87 $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man8
88 $(INSTALL) -m 755 $(ALL) $(DESTDIR)$(bindir)
89 $(INSTALL) -m 644 doc/*.1 $(DESTDIR)$(mandir)/man1
90 $(INSTALL) -m 644 doc/*.8 $(DESTDIR)$(mandir)/man8
87b72777 91
cdaf6af7 92ifneq ($(wildcard .depend),)
c5d9acbb 93include .depend
cdaf6af7 94endif