Initial git import.
[platform/upstream/multipath-tools.git] / Makefile
1 # Makefile
2 #
3 # Copyright (C) 2003 Christophe Varoqui, <christophe.varoqui@free.fr>
4
5 BUILD = glibc
6
7 #
8 # Try to supply the linux kernel headers.
9 #
10 ifeq    ($(KRNLSRC),)
11 KRNLLIB = /lib/modules/$(shell uname -r)
12 ifeq    ($(shell test -r $(KRNLLIB)/source && echo 1),1)
13 KRNLSRC = $(KRNLLIB)/source
14 KRNLOBJ = $(KRNLLIB)/build
15 else
16 KRNLSRC = $(KRNLLIB)/build
17 KRNLOBJ = $(KRNLLIB)/build
18 endif
19 endif
20 export KRNLSRC
21 export KRNLOBJ
22
23 BUILDDIRS = libmultipath libcheckers path_priority \
24             devmap_name multipath multipathd kpartx
25 ALLDIRS = $(shell find . -type d -maxdepth 1 -mindepth 1)
26
27 VERSION = $(shell basename ${PWD} | cut -d'-' -f3)
28 INSTALLDIRS = devmap_name multipath multipathd kpartx path_priority
29
30 all: recurse
31
32 recurse:
33         @for dir in $(BUILDDIRS); do \
34         $(MAKE) -C $$dir BUILD=$(BUILD) VERSION=$(VERSION) \
35                 KRNLSRC=$(KRNLSRC) KRNLOBJ=$(KRNLOBJ) || exit $?; \
36         done
37
38 recurse_clean:
39         @for dir in $(ALLDIRS); do\
40         $(MAKE) -C $$dir clean || exit $?; \
41         done
42
43 recurse_install:
44         @for dir in $(INSTALLDIRS); do\
45         $(MAKE) -C $$dir install || exit $?; \
46         done
47
48 recurse_uninstall:
49         @for dir in $(INSTALLDIRS); do\
50         $(MAKE) -C $$dir uninstall || exit $?; \
51         done
52
53 clean:  recurse_clean
54         rm -f multipath-tools.spec
55         rm -rf rpms
56
57 install:        recurse_install
58
59 uninstall:      recurse_uninstall
60
61 release:
62         sed -e "s/__VERSION__/${VERSION}/" \
63         multipath-tools.spec.in > multipath-tools.spec
64
65 rpm: release
66         rpmbuild -bb multipath-tools.spec