Files
libiscsi/Makefile.in
Stefan Hajnoczi 7ed8707633 Let DESTDIR and LIBDIR override prefix and libdir
The following used to fail:

  ./configure --prefix=/tmp/libiscsi
  make install

This was because DESTDIR was unconditionally used in Makefile.in.
Instead, use the prefix from ./configure unless overriden by DESTDIR
and/or LIBDIR.

Note that this commit drops ldconfig from the Makefile but I'm not sure
this is wanted outside of packaging anyway.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
2011-02-19 15:57:47 +00:00

69 lines
2.0 KiB
Makefile

prefix = $(DESTDIR)
ifeq ($(prefix),)
prefix = @prefix@
endif
exec_prefix = @exec_prefix@
libdir = $(LIBDIR)
ifeq ($(libdir),)
libdir = @libdir@
endif
bindir = @bindir@
LIBS=-lpopt @LIBS@
CC=gcc
CFLAGS=-g -O2 -fPIC -Wall -W -I. -I./include "-D_U_=__attribute__((unused))"
LIBISCSI_OBJ = lib/connect.o lib/crc32c.o lib/discovery.o lib/init.o lib/login.o lib/md5.o lib/nop.o lib/pdu.o lib/scsi-command.o lib/scsi-lowlevel.o lib/socket.o lib/sync.o lib/task_mgmt.o
INSTALLCMD = @install@ -c
LIBISCSI_SO_NAME=libiscsi.so.1
VERSION=1.0.0
LIBISCSI_SO=libiscsi.so.$(VERSION)
all: bin/iscsi-inq bin/iscsi-ls lib/$(LIBISCSI_SO) bin/ld_iscsi.so
bin/ld_iscsi.so: src/ld_iscsi.o lib/libiscsi.a
mkdir -p bin
ld -shared -o $@ src/ld_iscsi.o lib/libiscsi.a -ldl
bin/iscsi-ls: src/iscsi-ls.c lib/libiscsi.a
mkdir -p bin
$(CC) $(CFLAGS) -o $@ src/iscsi-ls.c lib/libiscsi.a $(LIBS)
bin/iscsi-inq: src/iscsi-inq.c lib/libiscsi.a
mkdir -p bin
$(CC) $(CFLAGS) -o $@ src/iscsi-inq.c lib/libiscsi.a $(LIBS)
lib/$(LIBISCSI_SO): $(LIBISCSI_OBJ)
@echo Creating shared library $@
$(CC) -shared -Wl,-soname=$(LIBISCSI_SO_NAME) -o $@ $(LIBISCSI_OBJ)
lib/libiscsi.a: $(LIBISCSI_OBJ)
@echo Creating library $@
ar r lib/libiscsi.a $(LIBISCSI_OBJ)
ranlib lib/libiscsi.a
examples: bin/iscsiclient
bin/iscsiclient: examples/iscsiclient.c lib/libiscsi.a
mkdir -p bin
$(CC) $(CFLAGS) -o $@ examples/iscsiclient.c lib/libiscsi.a $(LIBS)
install: lib/libiscsi.a lib/$(LIBISCSI_SO) bin/iscsi-ls bin/iscsi-inq
$(INSTALLCMD) -m 755 lib/$(LIBISCSI_SO) $(libdir)
$(INSTALLCMD) -m 755 lib/libiscsi.a $(libdir)
$(INSTALLCMD) -m 755 bin/iscsi-ls $(bindir)
$(INSTALLCMD) -m 755 bin/iscsi-inq $(bindir)
mkdir -p $(exec_prefix)/include/iscsi
$(INSTALLCMD) -m 644 include/iscsi.h $(exec_prefix)/include/iscsi
$(INSTALLCMD) -m 644 include/scsi-lowlevel.h $(exec_prefix)/include/iscsi
distclean: clean
rm -f config.h config.log config.status configure Makefile
clean:
rm -f lib/*.o src/*.o examples/*.o
rm -f bin/*
rm -f lib/libiscsi.so*
rm -f lib/libiscsi.a
rm -f iscsi-inq iscsi-ls