[Pvfs2-cvs] commit by slang in pvfs2: Makefile.in
CVS commit program
cvs at parl.clemson.edu
Wed Apr 9 11:53:48 EDT 2008
Update of /projects/cvsroot/pvfs2
In directory parlweb1:/tmp/cvs-serv23649
Modified Files:
Tag: pvfs-2-7-branch
Makefile.in
Log Message:
merge make dist tweaks to 2.7 branch
Index: Makefile.in
===================================================================
RCS file: /projects/cvsroot/pvfs2/Makefile.in,v
diff -p -u -r1.255.2.4 -r1.255.2.5
--- Makefile.in 24 Mar 2008 15:10:59 -0000 1.255.2.4
+++ Makefile.in 9 Apr 2008 15:53:47 -0000 1.255.2.5
@@ -49,13 +49,17 @@
###############################################################
# Generic makefile setup
-# define a few generic variables that we need to use
+# define a few generic variables that we need to use; DESTDIR may
+# be overridden on the command line during make install
DESTDIR =
srcdir = @srcdir@
-prefix = $(DESTDIR)@prefix@
-datarootdir = $(DESTDIR)@datarootdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+includedir = $(DESTDIR)@includedir@
mandir = $(DESTDIR)@mandir@
-exec_prefix = $(DESTDIR)@exec_prefix@
+sbindir = $(DESTDIR)@sbindir@
+bindir = $(DESTDIR)@bindir@
+libdir = $(DESTDIR)@libdir@
VPATH = $(srcdir)
SHELL = @SHELL@
@@ -63,6 +67,7 @@ INSTALL = @INSTALL@
# TODO: should probably check for bison and flex in configure
BISON = bison
FLEX = flex
+LN_S = ln -snf
BUILD_BMI_TCP = @BUILD_BMI_TCP@
BUILD_GM = @BUILD_GM@
BUILD_MX = @BUILD_MX@
@@ -157,11 +162,17 @@ LDSHARED = $(CC) -shared
PICFLAGS = -fPIC
LIBS += -lpvfs2 @LIBS@
LIBS_THREADED += -lpvfs2-threaded @LIBS@
+# need to include external dependency libs when building shared libraries
+DEPLIBS := @LIBS@
MMAP_RA_CACHE = @MMAP_RA_CACHE@
TRUSTED_CONNECTIONS = @TRUSTED_CONNECTIONS@
REDHAT_RELEASE = @REDHAT_RELEASE@
NPTL_WORKAROUND = @NPTL_WORKAROUND@
STRICT_CFLAGS = @STRICT_CFLAGS@
+SO_VER = @PVFS2_VERSION_MAJOR@
+SO_MINOR = @PVFS2_VERSION_MINOR@
+SO_RELEASE = @PVFS2_VERSION_SUB@
+SO_FULLVER = $(SO_VER).$(SO_MINOR).$(SO_RELEASE)
# for Solaris:
# LIBS += -lsocket -lnsl
@@ -285,6 +296,7 @@ endif
LIBCFLAGS=@LIBCFLAGS@ -D__PVFS2_CLIENT__
LIBTHREADEDCFLAGS=-D__GEN_POSIX_LOCKING__ -D__PVFS2_JOB_THREADED__ -D__PVFS2_CLIENT__
LIBS += @THREAD_LIB@
+DEPLIBS += @THREAD_LIB@
LIBS_THREADED += @THREAD_LIB@
################################################################
@@ -299,32 +311,26 @@ endif
# enable GM if configure detected it
ifdef BUILD_GM
- CFLAGS += -I @GM_HOME@/include -I @GM_HOME@/include/gm
- CFLAGS += -D__STATIC_METHOD_BMI_GM__
- # TODO: later on we will want the ability to modify this at configure
- # time
- CFLAGS += -DENABLE_GM_BUFPOOL
- LDFLAGS += -L at GM_HOME@/lib
- SERVER_LDFLAGS += -L at GM_HOME@/lib
- LIBS += -lgm
- LIBS_THREADED += -lgm
- SERVERLIBS += -lgm
+ # other settings in bmi_gm/module.mk.in
+ CFLAGS += -D__STATIC_METHOD_BMI_GM__
+ GMLIBS := -L at GM_LIBDIR@ -lgm
+ LIBS += $(GMLIBS)
+ DEPLIBS += $(GMLIBS)
+ LIBS_THREADED += $(GMLIBS)
+ SERVERLIBS += $(GMLIBS)
endif
################################################################
# enable MX if configure detected it
ifdef BUILD_MX
- CFLAGS += -I @MX_HOME@/include
- CFLAGS += -D__STATIC_METHOD_BMI_MX__
- # TODO: later on we will want the ability to modify this at configure
- # time
- CFLAGS += -g -O0
- LDFLAGS += -L at MX_HOME@/lib
- SERVER_LDFLAGS += -L at MX_HOME@/lib
- LIBS += -lmyriexpress -lpthread
- LIBS_THREADED += -lmyriexpress -lpthread
- SERVERLIBS += -lmyriexpress -lpthread
+ # other settings in bmi_mx/module.mk.in
+ CFLAGS += -D__STATIC_METHOD_BMI_MX__
+ MXLIBS := -L at MX_LIBDIR@ -lmyriexpress -lpthread
+ LIBS += $(MXLIBS)
+ DEPLIBS += $(MXLIBS)
+ LIBS_THREADED += $(MXLIBS)
+ SERVERLIBS += $(MXLIBS)
endif
#####################################
@@ -336,6 +342,7 @@ ifdef BUILD_IB
IBLIBS := -L at IB_LIBDIR@ \
-lvapi -lmtl_common -lmosal -lmpga -lpthread -ldl
LIBS += $(IBLIBS)
+ DEPLIBS += $(IBLIBS)
LIBS_THREADED += $(IBLIBS)
SERVERLIBS += $(IBLIBS)
endif
@@ -346,6 +353,7 @@ ifndef BUILD_IB
endif
OPENIBLIBS := -L at OPENIB_LIBDIR@ -libverbs
LIBS += $(OPENIBLIBS)
+ DEPLIBS += $(OPENIBLIBS)
LIBS_THREADED += $(OPENIBLIBS)
SERVERLIBS += $(OPENIBLIBS)
endif
@@ -356,6 +364,7 @@ ifdef BUILD_PORTALS
ifneq (, at PORTALS_LIBS@)
PORTALS_LIBS := @PORTALS_LIBS@
LIBS += $(PORTALS_LIBS)
+ DEPLIBS += $(PORTALS_LIBS)
LIBS_THREADED += $(PORTALS_LIBS)
SERVERLIBS += $(PORTALS_LIBS)
endif
@@ -401,6 +410,8 @@ ADMINSRC_SERVER :=
LIBSRC :=
# SERVERSRC is souce code for the pvfs2 server
SERVERSRC :=
+# SERVERBINSRC is source files that don't get added to the server library but must be added to the server binary
+SERVERBINSRC :=
# DOCSRC is source code for documentation
DOCSRC :=
# VISSRC is the source code for visualization tools
@@ -412,8 +423,7 @@ VISMISCSRC :=
KARMASRC :=
# userland helper programs for kernel drivers
KERNAPPSRC :=
-#
-KERNAPPSTHRSRC :=
+KERNAPPTHRSRC :=
# MISCSRC are sources that don't fall into the other categories
MISCSRC :=
# c files generated from state machines
@@ -431,18 +441,18 @@ SERVER_STUB := src/server/pvfs2-server-s
SERVER := src/server/pvfs2-server
endif
-# LIBRARIES is a list of the pvfs2 client libraries
+# LIBRARIES is a list of the pvfs2 client libraries that will be installed
LIBRARIES :=
LIBRARIES_THREADED :=
ifeq ($(build_shared),yes)
LIBRARIES_SHARED = lib/libpvfs2.so
LIBRARIES += $(LIBRARIES_SHARED)
+LIBRARIES_THREADED += lib/libpvfs2-threaded.so
endif
ifeq ($(build_static),yes)
LIBRARIES_STATIC = lib/libpvfs2.a
LIBRARIES += $(LIBRARIES_STATIC)
-LIBRARIES_THREADED_STATIC = lib/libpvfs2-threaded.a
-LIBRARIES_THREADED += $(LIBRARIES_THREADED_STATIC)
+LIBRARIES_THREADED += lib/libpvfs2-threaded.a
endif
################################################################
@@ -493,6 +503,9 @@ ifdef BUILD_SERVER
SERVEROBJS := $(patsubst %.c,%-server.o, $(filter %.c,$(SERVERSRC)))
# SERVERDEPENDS is a list of dependency files for the server
SERVERDEPENDS := $(patsubst %.c,%.d, $(filter %.c,$(SERVERSRC)))
+ # SERVERBINOBJS is a list of objects not in SERVEROBJS to put into the server
+ SERVERBINOBJS := $(patsubst %.c,%-server.o, $(filter %.c,$(SERVERBINSRC)))
+ SERVERBINDEPENDS := $(patsubst %.c,%.d, $(filter %.c,$(SERVERBINSRC)))
endif
# MISCOBJS is a list of misc. objects not in the above categories
@@ -501,14 +514,21 @@ MISCOBJS := $(patsubst %.c,%.o, $(filter
MISCDEPENDS := $(patsubst %.c,%.d, $(filter %.c,$(MISCSRC)))
# KERNAPPOBJS is a list of kernel driver userland objects
-KERNAPPOBJS := $(patsubst %.c,%.o, $(filter %.c,$(KERNAPPSRC)))
+KERNAPPOBJS := $(patsubst %.c,%.o, $(filter %.c,$(KERNAPPSRC))) \
+ $(patsubst %.c,%-threaded.o, $(filter %.c,$(KERNAPPTHRSRC)))
# KERNAPPS is a list of kernel driver userland executables
KERNAPPS := $(patsubst %.c,%, $(filter %.c, $(KERNAPPSRC)))
+KERNAPPSTHR := $(patsubst %.c,%, $(filter %.c, $(KERNAPPTHRSRC)))
# KERNAPPDEPENDS is a list of dependency files for kernel driver userland
# objects
-KERNAPPDEPENDS := $(patsubst %.c,%.d, $(filter %.c,$(KERNAPPSRC)))
-
-KERNAPPSTHR := $(patsubst %.c,%-threaded, $(filter %.c, $(KERNAPPSTHRSRC)))
+KERNAPPDEPENDS := $(patsubst %.c,%.d, $(filter %.c,$(KERNAPPSRC) $(KERNAPPTHRSRC)))
+# Be sure to build/install the threaded lib too; just pick the shared
+# one if configure asked for both.
+ifneq (,$(KERNAPPSTHR))
+ifeq (,$(filter $(firstword $(LIBRARIES_THREADED)),$(LIBRARIES)))
+LIBRARIES += $(firstword $(LIBRARIES_THREADED))
+endif
+endif
# VISOBJS is a list of visualization program objects
VISOBJS := $(patsubst %.c,%.o, $(filter %.c,$(VISSRC)))
@@ -545,7 +565,8 @@ DOCSCRUFT += $(patsubst %.tex,%.toc, $(f
# DEPENDS is a global list of all of our dependency files.
# NOTE: sort is just a trick to remove duplicates; the order
# doesn't matter at all.
-DEPENDS := $(sort $(LIBDEPENDS) $(SERVERDEPENDS) $(MISCDEPENDS) \
+DEPENDS := $(sort $(LIBDEPENDS) $(SERVERDEPENDS) $(SERVERBINDEPENDS) \
+ $(MISCDEPENDS) \
$(ADMINDEPENDS) $(ADMINDEPENDS_SERVER) $(KERNAPPDEPENDS) $(VISDEPENDS) \
$(VISMISCDEPENDS) $(KARMADEPENDS) $(STATECOMPDEPS))
@@ -603,7 +624,7 @@ modldflags = $(MODLDFLAGS_$(call canonna
# SHORT_NAME and the object
# rule for building the pvfs2 server
-$(SERVER): src/server/pvfs2-server-server.o lib/libpvfs2-server.a
+$(SERVER): $(SERVERBINOBJS) lib/libpvfs2-server.a
$(Q) " LD $@"
$(E)$(LD) $^ -o $@ $(SERVER_LDFLAGS) $(SERVERLIBS)
@@ -633,13 +654,13 @@ lib/libpvfs2-threaded.a: $(LIBTHREADEDOB
lib/libpvfs2.so: $(LIBPICOBJS)
$(Q) " LDSO $@"
$(E)$(INSTALL) -d lib
- $(E)$(LDSHARED) -o $@ $(LIBPICOBJS)
+ $(E)$(LDSHARED) -Wl,-soname,libpvfs2.so -o $@ $(LIBPICOBJS) $(DEPLIBS)
# rule for building the pvfs2 _multithreaded_ library
lib/libpvfs2-threaded.so: $(LIBTHREADEDPICOBJS)
$(Q) " LDSO $@"
$(E)$(INSTALL) -d lib
- $(E)$(LDSHARED) -o $@ $(LIBTHREADEDPICOBJS)
+ $(E)$(LDSHARED) -Wl,-soname,libpvfs2-threaded.so -o $@ $(LIBTHREADEDPICOBJS) $(DEPLIBS)
# rule for building the pvfs2 server library
lib/libpvfs2-server.a: $(SERVEROBJS)
@@ -717,8 +738,11 @@ $(VISS): %: %.o $(VISMISCOBJS) $(LIBRARI
# all applications depend on the pvfs2 library
$(ADMINTOOLS): %: %.o $(LIBRARIES)
$(ADMINTOOLS_SERVER): %: %.o $(LIBRARIES) lib/libpvfs2-server.a
+
$(KERNAPPS): %: %.o $(LIBRARIES)
$(KERNAPPSTHR): %: %.o $(LIBRARIES_THREADED)
+ $(Q) " LD $@"
+ $(E)$(LD) -o $@ $(LDFLAGS) $< $(LIBS_THREADED) $(call modldflags,$<)
# special rules to build state machine compiler using build host compiler
$(STATECOMPOBJS): %.o: %.c
@@ -773,7 +797,8 @@ endif
# top rule for cleaning up tree
clean::
$(Q) " CLEAN"
- $(E)rm -f $(LIBOBJS) $(LIBTHREADEDOBJS) $(SERVEROBJS) $(MISCOBJS) \
+ $(E)rm -f $(LIBOBJS) $(LIBTHREADEDOBJS) \
+ $(SERVEROBJS) $(SERVERBINOBJS) $(MISCOBJS) \
$(LIBRARIES) $(LIBRARIES_THREADED) $(DEPENDS) $(SERVER) \
$(ADMINOBJS) $(ADMINOBJS_SERVER) $(ADMINTOOLS)\
$(ADMINTOOLS_SERVER) lib/libpvfs2-server.a\
@@ -890,43 +915,54 @@ install_doc:
install -m 644 $(srcdir)/doc/man/*.5 $(mandir)/man5
install:: all install_doc
- install -d $(prefix)/include
- install -m 644 $(srcdir)/include/pvfs2.h $(prefix)/include
- install -m 644 $(srcdir)/include/pvfs2-request.h $(prefix)/include
- install -m 644 $(srcdir)/include/pvfs2-debug.h $(prefix)/include
- install -m 644 $(srcdir)/include/pvfs2-sysint.h $(prefix)/include
- install -m 644 $(srcdir)/include/pvfs2-mgmt.h $(prefix)/include
- install -m 644 $(srcdir)/include/pvfs2-types.h $(prefix)/include
- install -m 644 $(srcdir)/include/pvfs2-util.h $(prefix)/include
- install -m 644 $(srcdir)/include/pvfs2-encode-stubs.h $(prefix)/include
-
- install -d $(prefix)/lib
- install -m 755 $(LIBRARIES) $(prefix)/lib
+ install -d $(includedir)
+ install -m 644 $(srcdir)/include/pvfs2.h $(includedir)
+ install -m 644 $(srcdir)/include/pvfs2-request.h $(includedir)
+ install -m 644 $(srcdir)/include/pvfs2-debug.h $(includedir)
+ install -m 644 $(srcdir)/include/pvfs2-sysint.h $(includedir)
+ install -m 644 $(srcdir)/include/pvfs2-mgmt.h $(includedir)
+ install -m 644 $(srcdir)/include/pvfs2-types.h $(includedir)
+ install -m 644 $(srcdir)/include/pvfs2-util.h $(includedir)
+ install -m 644 $(srcdir)/include/pvfs2-encode-stubs.h $(includedir)
+
+ install -d $(libdir)
+ifneq (,$(LIBRARIES_STATIC))
+ for i in $(notdir $(LIBRARIES_STATIC)) ; do \
+ install -m 755 lib/$$i $(libdir) ;\
+ done
+endif
+ifneq (,$(LIBRARIES_SHARED))
+ for i in $(notdir $(LIBRARIES_SHARED)) ; do \
+ install -m 755 lib/$$i $(libdir)/$$i.$(SO_FULLVER) ;\
+ $(LN_S) $$i.$(SO_FULLVER) $(libdir)/$$i.$(SO_VER) ;\
+ $(LN_S) $$i.$(SO_VER) $(libdir)/$$i ;\
+ done
+endif
ifdef TARGET_OS_DARWIN
# TOC needs to be regenerated in libs after they get moved
ranlib $(patsubst %,$(prefix)/%,$(LIBRARIES))
endif
- install -d $(prefix)/bin
- install -m 755 $(ADMINTOOLS) $(prefix)/bin
- install -m 755 src/apps/admin/pvfs2-config $(prefix)/bin
+ install -d $(bindir)
+ install -m 755 $(ADMINTOOLS) $(bindir)
+ install -m 755 src/apps/admin/pvfs2-config $(bindir)
@# if we ever auto-generate genconfig, remove the $(srcdir)
- install -m 755 $(srcdir)/src/apps/admin/pvfs2-genconfig $(prefix)/bin
- install -m 755 $(srcdir)/src/apps/admin/pvfs2-config-convert $(prefix)/bin
+ install -m 755 $(srcdir)/src/apps/admin/pvfs2-genconfig $(bindir)
+ install -m 755 $(srcdir)/src/apps/admin/pvfs2-config-convert $(bindir)
ifdef BUILD_KARMA
- install -m 755 $(KARMA) $(prefix)/bin
+ install -m 755 $(KARMA) $(bindir)
endif
- install -d $(prefix)/sbin
+ install -d $(sbindir)
ifdef BUILD_SERVER
- install -m 755 $(ADMINTOOLS_SERVER) $(prefix)/bin
+ install -m 755 $(ADMINTOOLS_SERVER) $(bindir)
ifeq ($(NPTL_WORKAROUND),)
- install -m 755 $(SERVER) $(prefix)/sbin
+ install -m 755 $(SERVER) $(sbindir)
else
- install -m 755 $(srcdir)/$(SERVER_STUB) $(prefix)/sbin/pvfs2-server
- install -m 755 $(SERVER) $(prefix)/sbin/pvfs2-server.bin
+ install -m 755 $(srcdir)/$(SERVER_STUB) $(sbindir)/pvfs2-server
+ install -m 755 $(SERVER) $(sbindir)/pvfs2-server.bin
endif
endif
@@ -947,8 +983,8 @@ just_kmod_install: just_kmod
.PHONY: kmod_install
kmod_install: kmod kernapps just_kmod_install
- install -d $(prefix)/sbin
- install -m 755 $(KERNAPPS) $(prefix)/sbin
+ install -d $(sbindir)
+ install -m 755 $(KERNAPPS) $(KERNAPPSTHR) $(sbindir)
endif
ifneq (,$(LINUX24_KERNEL_SRC))
@@ -968,11 +1004,11 @@ just_kmod24_install: just_kmod24
.PHONY: kmod24_install
kmod24_install: kmod24 kernapps just_kmod24_install
- install -d $(prefix)/sbin
- install -m 755 $(KERNAPPS) $(prefix)/sbin
- install -m 755 src/apps/kernel/linux/mount.pvfs2 $(prefix)/sbin
+ install -d $(sbindir)
+ install -m 755 $(KERNAPPS) $(KERNAPPSTHR) $(sbindir)
+ install -m 755 src/apps/kernel/linux/mount.pvfs2 $(sbindir)
@echo ""
@echo "For improved linux-2.4 support,"
- @echo "install $(prefix)/sbin/mount.pvfs2 to /sbin/mount.pvfs2"
+ @echo "install $(sbindir)/mount.pvfs2 to /sbin/mount.pvfs2"
@echo ""
endif
More information about the Pvfs2-cvs
mailing list