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