Imported Upstream version 0.6.3
[platform/upstream/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 endif
18
19 ifeq ($(MULTIPATH_VERSION),)
20         VERSION = $(shell basename ${PWD} | cut -d'-' -f3)
21 else
22         VERSION = $(MULTIPATH_VERSION)
23 endif
24
25 export KRNLSRC
26 export KRNLOBJ
27
28 BUILDDIRS = \
29         libmpathcmd \
30         libmultipath \
31         libmultipath/prioritizers \
32         libmultipath/checkers \
33         libmpathpersist \
34         multipath \
35         multipathd \
36         mpathpersist \
37         kpartx
38
39 all: recurse
40
41 recurse:
42         @for dir in $(BUILDDIRS); do \
43         $(MAKE) -C $$dir VERSION=$(VERSION) \
44                 KRNLSRC=$(KRNLSRC) KRNLOBJ=$(KRNLOBJ) || exit $?; \
45         done
46
47 recurse_clean:
48         @for dir in $(BUILDDIRS); do \
49         $(MAKE) -C $$dir clean || exit $?; \
50         done
51
52 recurse_install:
53         @for dir in $(BUILDDIRS); do \
54         $(MAKE) -C $$dir install || exit $?; \
55         done
56
57 recurse_uninstall:
58         @for dir in $(BUILDDIRS); do \
59         $(MAKE) -C $$dir uninstall || exit $?; \
60         done
61
62 clean: recurse_clean
63
64 install: recurse_install
65
66 uninstall: recurse_uninstall
67
68 .PHONY: TAGS
69 TAGS:
70         etags -a libmultipath/*.c
71         etags -a libmultipath/*.h
72         etags -a multipathd/*.c
73         etags -a multipathd/*.h