blob: fdbded02ee0aeb9b1d656cf6d52460531c35a9d1 [file] [log] [blame]
San Mehate20e1342009-06-03 15:36:35 -07001CC = gcc
2CFLAGS = -Wall -O2 -g -W
3ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
4PROGS = blkparse blktrace verify_blkparse blkrawverify blkiomon
5LIBS = -lpthread
6SCRIPTS = btrace
7
8ALL = $(PROGS) $(SCRIPTS) btt/btt btreplay/btrecord btreplay/btreplay \
Wei Wangc80018f2018-08-29 14:04:30 -07009 btt/bno_plot.py iowatcher/iowatcher
San Mehate20e1342009-06-03 15:36:35 -070010
11all: $(ALL)
12
13btt/btt:
14 $(MAKE) -C btt
15
Wei Wangc80018f2018-08-29 14:04:30 -070016iowatcher/iowatcher:
17 $(MAKE) -C iowatcher
18
San Mehate20e1342009-06-03 15:36:35 -070019btreplay/btrecord:
20 $(MAKE) -C btreplay
21
22btreplay/btreplay:
23 $(MAKE) -C btreplay
24
25%.o: %.c
26 $(CC) -o $*.o -c $(ALL_CFLAGS) $<
27
28blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o
29 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
30
31blktrace: blktrace.o act_mask.o
32 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
33
34verify_blkparse: verify_blkparse.o
35 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
36
37blkrawverify: blkrawverify.o
38 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
39
40blkiomon: blkiomon.o rbtree.o
41 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt
42
43$(PROGS): | depend
44
45docs:
46 $(MAKE) -C doc all
47 $(MAKE) -C btt docs
48 $(MAKE) -C btreplay docs
49
50docsclean:
51 $(MAKE) -C doc clean
52 $(MAKE) -C btt clean
53 $(MAKE) -C btreplay clean
54
55depend:
56 @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend
57
58INSTALL = install
59prefix = /usr/local
60bindir = $(prefix)/bin
61mandir = $(prefix)/man
62RPMBUILD = rpmbuild
63TAR = tar
64
65export prefix INSTALL TAR
66
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
71 $(TAR) rf btrace-1.0.tar btrace-1.0/btrace.spec
72 @rm -rf btrace-1.0
73 @bzip2 btrace-1.0.tar
74
75rpm: dist
76 $(RPMBUILD) -ta btrace-1.0.tar.bz2
77
78clean: docsclean
79 -rm -f *.o $(PROGS) .depend btrace-1.0.tar.bz2
80 $(MAKE) -C btt clean
81 $(MAKE) -C btreplay clean
Wei Wangc80018f2018-08-29 14:04:30 -070082 $(MAKE) -C iowatcher clean
San Mehate20e1342009-06-03 15:36:35 -070083
84install: all
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
91
92ifneq ($(wildcard .depend),)
93include .depend
94endif