Make libdmmp build optional
[multipath-tools/.git] / Makefile
1 #
2 # Copyright (C) 2003 Christophe Varoqui, <christophe.varoqui@opensvc.com>
3 #
4
5 #
6 # Try to supply the linux kernel headers.
7 #
8 ifeq ($(KRNLSRC),)
9         KRNLLIB = /lib/modules/$(shell uname -r)
10         ifeq ($(shell test -r $(KRNLLIB)/source && echo 1),1)
11                 KRNLSRC = $(KRNLLIB)/source
12                 KRNLOBJ = $(KRNLLIB)/build
13         else
14                 KRNLSRC = $(KRNLLIB)/build
15                 KRNLOBJ = $(KRNLLIB)/build
16         endif
17         export KRNLSRC
18         export KRNLOBJ
19 endif
20
21 ifeq ($(MULTIPATH_VERSION),)
22         VERSION = $(shell basename ${PWD} | cut -d'-' -f3)
23 else
24         VERSION = $(MULTIPATH_VERSION)
25 endif
26
27 BUILDDIRS = \
28         libmpathcmd \
29         libmultipath \
30         libmultipath/prioritizers \
31         libmultipath/checkers \
32         libmpathpersist \
33         multipath \
34         multipathd \
35         mpathpersist \
36         kpartx
37
38 ifneq ($(ENABLE_LIBDMMP),0)
39 BUILDDIRS += \
40         libdmmp
41 endif
42
43 all: recurse
44
45 recurse:
46         @for dir in $(BUILDDIRS); do \
47         $(MAKE) -C $$dir VERSION=$(VERSION) \
48                 KRNLSRC=$(KRNLSRC) KRNLOBJ=$(KRNLOBJ) || exit $?; \
49         done
50
51 recurse_clean:
52         @for dir in $(BUILDDIRS); do \
53         $(MAKE) -C $$dir clean || exit $?; \
54         done
55
56 recurse_install:
57         @for dir in $(BUILDDIRS); do \
58         $(MAKE) -C $$dir install || exit $?; \
59         done
60
61 recurse_uninstall:
62         @for dir in $(BUILDDIRS); do \
63         $(MAKE) -C $$dir uninstall || exit $?; \
64         done
65
66 clean: recurse_clean
67
68 install: recurse_install
69
70 uninstall: recurse_uninstall
71
72 .PHONY: TAGS
73 TAGS:
74         etags -a libmultipath/*.c
75         etags -a libmultipath/*.h
76         etags -a multipathd/*.c
77         etags -a multipathd/*.h