blkparse: split off the timestamp correction code in to a separate function
[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
519fd9a5 7SUBDIRS = btreplay btt iowatcher
d0ca268b 8
519fd9a5
RJ
9ALL = $(PROGS) $(SCRIPTS)
10INSTALL_ALL = $(ALL) btt/btt btreplay/btrecord btreplay/btreplay \
4eb0e11d 11 btt/bno_plot.py iowatcher/iowatcher
2885ecaa 12
519fd9a5 13all: $(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 24blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o
d1398e33 25 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^)
07a55d6c 26
99a55a03 27blktrace: blktrace.o act_mask.o
d1398e33 28 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
d0ca268b 29
42a58cd1 30verify_blkparse: verify_blkparse.o
d1398e33 31 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^)
42a58cd1 32
f17c879d 33blkrawverify: blkrawverify.o
d1398e33 34 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(filter %.o,$^)
f17c879d 35
cc19ddd6 36blkiomon: 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
41docs:
42 $(MAKE) -C doc all
512566d4 43 $(MAKE) -C btt docs
d47a3fec 44 $(MAKE) -C btreplay docs
ff8a07c9
JA
45
46docsclean:
47 $(MAKE) -C doc clean
512566d4 48 $(MAKE) -C btt clean
d47a3fec 49 $(MAKE) -C btreplay clean
8865ed9c 50
c5d9acbb 51depend:
13d928f0 52 @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend
c5d9acbb 53
31382e5d
JA
54INSTALL = install
55prefix = /usr/local
56bindir = $(prefix)/bin
98eee4e4 57mandir = $(prefix)/man
31382e5d
JA
58RPMBUILD = rpmbuild
59TAR = tar
60
61export prefix INSTALL TAR
62
fa503a0c
JA
63dist: 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
71rpm: dist
31382e5d 72 $(RPMBUILD) -ta btrace-1.0.tar.bz2
fa503a0c 73
ff8a07c9 74clean: 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 80install: 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 88ifneq ($(wildcard .depend),)
c5d9acbb 89include .depend
cdaf6af7 90endif