chiark / gitweb /
[PATCH] add KERNEL_DIR option so that the distros will be happy
[elogind.git] / extras / multipath / Makefile
index bccf1264f090fbc29cdb5481edccc205f77bea41..0aac146a8789781098c429a0f514f9162a27716e 100644 (file)
@@ -4,18 +4,24 @@
 
 EXEC = multipath
 
-prefix      = /usr/local
+prefix      = 
 exec_prefix = ${prefix}
-bindir     = ${exec_prefix}/bin
+bindir      = ${exec_prefix}/sbin
+udevdir            = ../..
+klibcdir    = $(udevdir)/klibc
+sysfsdir    = $(udevdir)/libsysfs
 
 CC = gcc
-CFLAGS = -pipe -g -O2 -Wall -Wunused -Wstrict-prototypes -nostdinc -I../../klibc/klibc/include -I../../klibc/klibc/include/bits32 -I/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/include -I../../klibc/linux/include -I../../libsysfs -I.
-LDFLAGS = -lsysfs -ldevmapper -ldlist
+GCCINCDIR := ${shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp"}
+CFLAGS = -pipe -g -O2 -Wall -Wunused -Wstrict-prototypes -nostdinc \
+         -I$(klibcdir)/klibc/include -I$(klibcdir)/klibc/include/bits32 \
+         -I$(GCCINCDIR) -I$(KERNEL_DIR)/include -I$(sysfsdir) -I.
 
 OBJS = main.o
 CRT0 = ../../klibc/klibc/crt0.o
 LIB = ../../klibc/klibc/libc.a
-LIBGCC = /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/libgcc.a
+LIBGCC := $(shell $(CC) -print-libgcc-file-name )
+
 DMOBJS = libdevmapper/libdm-common.o libdevmapper/ioctl/libdevmapper.o
 SYSFSOBJS = ../../libsysfs/dlist.o ../../libsysfs/sysfs_bus.o \
            ../../libsysfs/sysfs_class.o ../../libsysfs/sysfs_device.o \
@@ -26,7 +32,7 @@ SUBDIRS = libdevmapper
 
 recurse:
        @for dir in $(SUBDIRS); do\
-       $(MAKE) -C $$dir ; \
+       $(MAKE) KERNEL_DIR=$(KERNEL_DIR) -C $$dir ; \
        done
        $(MAKE) $(EXEC)
 
@@ -46,6 +52,12 @@ clean:
 install:
        install -d $(bindir)
        install -m 755 $(EXEC) $(bindir)/
+       install -d /etc/hotplug.d/scsi/
+       install -m 755 multipath.hotplug /etc/hotplug.d/scsi/
+
+uninstall:
+       rm /etc/hotplug.d/scsi/multipath.hotplug
+       rm $(bindir)/$(EXEC)
 
 # Code dependencies
 main.o: main.c main.h sg_include.h