Merge branch 'master' of git://git.kernel.org/pub/scm/linux/storage/multipath-tools/
[multipath-tools/.git] / multipath / Makefile
1 # Makefile
2 #
3 # Copyright (C) 2003 Christophe Varoqui, <christophe.varoqui@free.fr>
4 BUILD = glibc
5
6 include ../Makefile.inc
7
8 OBJS = main.o $(MULTIPATHLIB)-$(BUILD).a $(CHECKERSLIB)-$(BUILD).a
9
10 CFLAGS += -I$(multipathdir) -I$(checkersdir)
11 LDFLAGS += -laio
12
13 ifeq ($(strip $(BUILD)),klibc)
14         OBJS += $(libdm)
15 else
16         LDFLAGS += -ldevmapper
17 endif
18
19 EXEC = multipath
20
21 all: $(BUILD)
22
23 prepare:
24         make -C $(multipathdir) prepare
25         rm -f core *.o *.gz
26         $(GZIP) $(EXEC).8 > $(EXEC).8.gz
27         $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz
28
29 glibc: prepare $(OBJS)
30         $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS)
31
32 klibc: prepare $(OBJS)
33         $(CC) -static -o $(EXEC) $(CRT0) $(OBJS) $(KLIBC) $(LIBGCC)
34
35 $(CHECKERSLIB)-$(BUILD).a:
36         make -C $(checkersdir) BUILD=$(BUILD) $(BUILD)
37
38 $(MULTIPATHLIB)-$(BUILD).a:
39         make -C $(multipathdir) BUILD=$(BUILD) $(BUILD)
40
41 install:
42         install -d $(DESTDIR)$(bindir)
43         $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
44         install -d $(DESTDIR)/etc/udev/rules.d
45         install -m 644 multipath.rules $(DESTDIR)/etc/udev/rules.d/
46         install -d $(DESTDIR)$(mandir)
47         install -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
48         install -d $(DESTDIR)$(man5dir)
49         install -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir)
50
51 uninstall:
52         rm $(DESTDIR)/etc/udev/rules.d/multipath.rules
53         rm $(DESTDIR)$(bindir)/$(EXEC)
54         rm $(DESTDIR)$(mandir)/$(EXEC).8.gz
55         rm $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
56
57 clean:
58         rm -f core *.o $(EXEC) *.gz