X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Fmultipath%2FMakefile;h=ee7f60e472458f645c3ebf34c25854e9c5a7a5ca;hp=9e0ce124c66c6a9159189216207a1457b86004c5;hb=cbd2ea21e4eac53bb95465c7808c723b787a709c;hpb=359618cd6ed05adcad97380f51790198ff653f87 diff --git a/extras/multipath/Makefile b/extras/multipath/Makefile index 9e0ce124c..ee7f60e47 100644 --- a/extras/multipath/Makefile +++ b/extras/multipath/Makefile @@ -4,30 +4,77 @@ EXEC = multipath -prefix = /usr/local +prefix = exec_prefix = ${prefix} -bindir = ${exec_prefix}/bin +bindir = ${exec_prefix}/sbin +udevdir = ../.. +klibcdir = $(udevdir)/klibc +sysfsdir = $(udevdir)/libsysfs +mandir = /usr/share/man/man8 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 +GZIP = /bin/gzip -c -OBJS = main.o +GCCINCDIR := ${shell $(CC) -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp"} +KERNEL_DIR = /lib/modules/${shell uname -r}/build +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. -all: $(EXEC) - strip $(EXEC) +OBJS = devinfo.o main.o +CRT0 = ../../klibc/klibc/crt0.o +LIB = ../../klibc/klibc/libc.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 \ + ../../libsysfs/sysfs_dir.o ../../libsysfs/sysfs_driver.o \ + ../../libsysfs/sysfs_utils.o + +SUBDIRS = libdevmapper + +recurse: + @for dir in $(SUBDIRS); do\ + $(MAKE) KERNEL_DIR=$(KERNEL_DIR) -C $$dir ; \ + done + $(MAKE) $(EXEC) + $(MAKE) devmap_name + +all: recurse @echo "" @echo "Make complete" $(EXEC): $(OBJS) - $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS) $(CFLAGS) + $(LD) -o $(EXEC) $(CRT0) $(OBJS) $(SYSFSOBJS) $(DMOBJS) $(LIB) $(LIBGCC) + strip $(EXEC) + $(GZIP) $(EXEC).8 > $(EXEC).8.gz + +devmap_name: devmap_name.o + $(LD) -o devmap_name $(CRT0) devmap_name.o $(DMOBJS) $(LIB) $(LIBGCC) + strip devmap_name + $(GZIP) devmap_name.8 > devmap_name.8.gz clean: - rm -f core *.o $(EXEC) + rm -f core *.o $(EXEC) devmap_name *.gz + $(MAKE) -C libdevmapper clean install: - install -d $(bindir) - install -m 755 $(EXEC) $(bindir)/ + install -d $(DESTDIR)$(bindir) + install -m 755 $(EXEC) $(DESTDIR)$(bindir)/ + install -m 755 devmap_name $(DESTDIR)$(bindir)/ + install -d $(DESTDIR)/etc/hotplug.d/scsi/ + install -m 755 multipath.hotplug $(DESTDIR)/etc/hotplug.d/scsi/ + install -d $(DESTDIR)$(mandir) + install -m 644 devmap_name.8.gz $(DESTDIR)$(mandir) + install -m 644 multipath.8.gz $(DESTDIR)$(mandir) + +uninstall: + rm $(DESTDIR)/etc/hotplug.d/scsi/multipath.hotplug + rm $(DESTDIR)$(bindir)/$(EXEC) + rm $(DESTDIR)$(bindir)/devmap_name + rm $(DESTDIR)$(mandir)/devmap_name.8.gz + rm $(DESTDIR)$(mandir)/multipath.8.gz # Code dependencies -main.o: main.c main.h sg_include.h +main.o: main.c main.h sg_include.h devinfo.h