[PATCH] Improve dependency checking on builds
[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
f17c879d 4PROGS = blkparse blktrace verify_blkparse blkrawverify
87b72777 5LIBS = -lpthread
42a58cd1 6SCRIPTS = btrace
d0ca268b 7
fd977289 8all: $(PROGS) $(SCRIPTS)
63eba147 9 $(MAKE) -C btt
d0ca268b 10
13d928f0
JA
11%.o: %.c
12 $(CC) -o $*.o -c $(ALL_CFLAGS) $<
13
98f8386b 14blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o
13d928f0 15 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
07a55d6c 16
98f8386b 17blktrace: blktrace.o act_mask.o $(LIBS)
13d928f0 18 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
d0ca268b 19
42a58cd1 20verify_blkparse: verify_blkparse.o
13d928f0 21 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
42a58cd1 22
f17c879d
AB
23blkrawverify: blkrawverify.o
24 $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^)
25
fd977289
VT
26$(PROGS): | depend
27
ff8a07c9
JA
28docs:
29 $(MAKE) -C doc all
30
31docsclean:
32 $(MAKE) -C doc clean
8865ed9c 33
c5d9acbb 34depend:
13d928f0 35 @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend
c5d9acbb 36
31382e5d
JA
37INSTALL = install
38prefix = /usr/local
39bindir = $(prefix)/bin
40RPMBUILD = rpmbuild
41TAR = tar
42
43export prefix INSTALL TAR
44
fa503a0c
JA
45dist: btrace.spec
46 git-tar-tree HEAD btrace-1.0 > btrace-1.0.tar
47 @mkdir -p btrace-1.0
48 @cp btrace.spec btrace-1.0
31382e5d 49 $(TAR) rf btrace-1.0.tar btrace-1.0/btrace.spec
fa503a0c
JA
50 @rm -rf btrace-1.0
51 @bzip2 btrace-1.0.tar
52
53rpm: dist
31382e5d 54 $(RPMBUILD) -ta btrace-1.0.tar.bz2
fa503a0c 55
ff8a07c9 56clean: docsclean
a6f3b5ba 57 -rm -f *.o $(PROGS) .depend btrace-1.0.tar.bz2
63eba147 58 $(MAKE) -C btt clean
87b72777 59
1be606ce 60install: $(PROGS) $(SCRIPTS)
87b72777 61 $(INSTALL) -m755 -d $(DESTDIR)$(bindir)
1be606ce 62 $(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir)
63eba147 63 $(INSTALL) btt/btt $(DESTDIR)$(bindir)
87b72777 64
cdaf6af7 65ifneq ($(wildcard .depend),)
c5d9acbb 66include .depend
cdaf6af7 67endif