1e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatCC	= gcc
2e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatCFLAGS	= -Wall -O2 -g -W
3e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
4e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatPROGS	= blkparse blktrace verify_blkparse blkrawverify blkiomon
5e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatLIBS	= -lpthread
6e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatSCRIPTS	= btrace
7e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
8e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatALL = $(PROGS) $(SCRIPTS) btt/btt btreplay/btrecord btreplay/btreplay \
9e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat      btt/bno_plot.py
10e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
11e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatall: $(ALL)
12e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
13e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatbtt/btt:
14e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C btt
15e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
16e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatbtreplay/btrecord:
17e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C btreplay
18e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
19e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatbtreplay/btreplay:
20e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C btreplay
21e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
22e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat%.o: %.c
23e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(CC) -o $*.o -c $(ALL_CFLAGS) $<
24e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
25e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatblkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o
26e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
27e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
28e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatblktrace: blktrace.o act_mask.o
29e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
30e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
31e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatverify_blkparse: verify_blkparse.o
32e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
33e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
34e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatblkrawverify: blkrawverify.o
35e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
36e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
37e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatblkiomon: blkiomon.o rbtree.o
38e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt
39e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
40e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat$(PROGS): | depend
41e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
42e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatdocs:
43e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C doc all
44e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C btt docs
45e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C btreplay docs
46e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
47e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatdocsclean:
48e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C doc clean
49e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C btt clean
50e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C btreplay clean
51e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
52e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatdepend:
53e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	@$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend
54e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
55e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatINSTALL = install
56e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatprefix = /usr/local
57e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatbindir = $(prefix)/bin
58e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatmandir = $(prefix)/man
59e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatRPMBUILD = rpmbuild
60e20e1347b9914aa05e30548c15d7cd5e412cc0e2San MehatTAR = tar
61e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
62e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatexport prefix INSTALL TAR
63e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
64e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatdist: btrace.spec
65e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	git-tar-tree HEAD btrace-1.0 > btrace-1.0.tar
66e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	@mkdir -p btrace-1.0
67e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	@cp btrace.spec btrace-1.0
68e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(TAR) rf btrace-1.0.tar btrace-1.0/btrace.spec
69e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	@rm -rf btrace-1.0
70e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	@bzip2 btrace-1.0.tar
71e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
72e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatrpm: dist
73e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(RPMBUILD) -ta btrace-1.0.tar.bz2
74e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
75e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatclean: docsclean
76e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	-rm -f *.o $(PROGS) .depend btrace-1.0.tar.bz2
77e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C btt clean
78e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(MAKE) -C btreplay clean
79e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
80e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatinstall: all
81e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
82e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
83e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man8
84e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(INSTALL) -m 755 $(ALL) $(DESTDIR)$(bindir)
85e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(INSTALL) -m 644 doc/*.1 $(DESTDIR)$(mandir)/man1
86e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat	$(INSTALL) -m 644 doc/*.8 $(DESTDIR)$(mandir)/man8
87e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehat
88e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatifneq ($(wildcard .depend),)
89e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatinclude .depend
90e20e1347b9914aa05e30548c15d7cd5e412cc0e2San Mehatendif
91