chiark / gitweb /
c039e2a19fd49c79c68a4d3e3b36d32945062e8a
[elogind.git] / extras / multipath / Makefile
1 # Makefile
2 #
3 # Copyright (C) 2003 Christophe Varoqui, <christophe.varoqui@free.fr>
4
5 EXEC = multipath
6
7 prefix      = 
8 exec_prefix = ${prefix}
9 bindir      = ${exec_prefix}/sbin
10 udevdir     = ../..
11 klibcdir    = $(udevdir)/klibc
12 sysfsdir    = $(udevdir)/libsysfs
13
14 CC = gcc
15 GCCINCDIR := ${shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp"}
16 KERNEL_DIR = /lib/modules/${shell uname -r}/build
17 CFLAGS = -pipe -g -O2 -Wall -Wunused -Wstrict-prototypes -nostdinc \
18          -I$(klibcdir)/klibc/include -I$(klibcdir)/klibc/include/bits32 \
19          -I$(GCCINCDIR) -I$(KERNEL_DIR)/include -I$(sysfsdir) -I.
20
21 OBJS = main.o
22 CRT0 = ../../klibc/klibc/crt0.o
23 LIB = ../../klibc/klibc/libc.a
24 LIBGCC := $(shell $(CC) -print-libgcc-file-name )
25
26 DMOBJS = libdevmapper/libdm-common.o libdevmapper/ioctl/libdevmapper.o
27 SYSFSOBJS = ../../libsysfs/dlist.o ../../libsysfs/sysfs_bus.o \
28             ../../libsysfs/sysfs_class.o ../../libsysfs/sysfs_device.o \
29             ../../libsysfs/sysfs_dir.o ../../libsysfs/sysfs_driver.o \
30             ../../libsysfs/sysfs_utils.o
31
32 SUBDIRS = libdevmapper
33
34 recurse:
35         @for dir in $(SUBDIRS); do\
36         $(MAKE) KERNEL_DIR=$(KERNEL_DIR) -C $$dir ; \
37         done
38         $(MAKE) $(EXEC)
39         $(MAKE) devmap_name
40
41 all:    recurse
42         @echo ""
43         @echo "Make complete"
44
45 $(EXEC): $(OBJS)
46         $(LD) -o $(EXEC) $(CRT0) $(OBJS) $(SYSFSOBJS) $(DMOBJS) $(LIB) $(LIBGCC)
47         strip $(EXEC)
48
49 devmap_name: devmap_name.o
50         $(LD) -o devmap_name $(CRT0) devmap_name.o $(DMOBJS) $(LIB) $(LIBGCC)
51         strip devmap_name
52
53 clean:
54         rm -f core *.o $(EXEC) devmap_name
55         $(MAKE) -C libdevmapper clean
56
57 install:
58         install -d $(bindir)
59         install -m 755 $(EXEC) $(bindir)/
60         install -m 755 devmap_name $(bindir)/
61         install -d /etc/hotplug.d/scsi/
62         install -m 755 multipath.hotplug /etc/hotplug.d/scsi/
63
64 uninstall:
65         rm /etc/hotplug.d/scsi/multipath.hotplug
66         rm $(bindir)/$(EXEC)
67         rm $(bindir)/devmap_name
68
69 # Code dependencies
70 main.o: main.c main.h sg_include.h