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