[PATCH] Add Alan's btt tool
[blktrace.git] / Makefile
1 CC      = gcc
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
5 LIBS    = -lpthread
6 SCRIPTS = btrace
7
8 all: depend $(PROGS) $(SCRIPTS)
9         $(MAKE) -C btt
10
11 %.o: %.c
12         $(CC) -o $*.o -c $(ALL_CFLAGS) $<
13
14 blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o
15         $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
16
17 blktrace: blktrace.o act_mask.o $(LIBS)
18         $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
19
20 verify_blkparse: verify_blkparse.o
21         $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
22
23 blkrawverify: blkrawverify.o
24         $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
25
26 docs:
27         $(MAKE) -C doc all
28
29 docsclean:
30         $(MAKE) -C doc clean
31
32 depend:
33         @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend
34
35 INSTALL = install
36 prefix = /usr/local
37 bindir = $(prefix)/bin
38 RPMBUILD = rpmbuild
39 TAR = tar
40
41 export prefix INSTALL TAR
42
43 dist: btrace.spec
44         git-tar-tree HEAD btrace-1.0 > btrace-1.0.tar
45         @mkdir -p btrace-1.0
46         @cp btrace.spec btrace-1.0
47         $(TAR) rf btrace-1.0.tar btrace-1.0/btrace.spec
48         @rm -rf btrace-1.0
49         @bzip2 btrace-1.0.tar
50
51 rpm: dist
52         $(RPMBUILD) -ta btrace-1.0.tar.bz2
53
54 clean: docsclean
55         -rm -f *.o $(PROGS) .depend btrace-1.0.tar.bz2
56         $(MAKE) -C btt clean
57
58 install: $(PROGS) $(SCRIPTS)
59         $(INSTALL) -m755 -d $(DESTDIR)$(bindir)
60         $(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir)
61         $(INSTALL) btt/btt $(DESTDIR)$(bindir)
62
63 ifneq ($(wildcard .depend),)
64 include .depend
65 endif