summaryrefslogtreecommitdiff
path: root/src/interfaces/libpq++
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>1998-10-18 19:41:00 +0000
committerTom Lane <tgl@sss.pgh.pa.us>1998-10-18 19:41:00 +0000
commite1942f5b9e1c71e3f5e912ab9ffeb1e34339845d (patch)
treebd94766d228875c33dc468f3deb2c53c5dec69c3 /src/interfaces/libpq++
parent14f4ca009c259330dbb43b1cccc49c9fd7a98c58 (diff)
downloadpostgresql-e1942f5b9e1c71e3f5e912ab9ffeb1e34339845d.tar.gz
Clean up shared makefile install procedures.
Get the permissions right, don't overwrite real files with symlinks, etc. plpgsql and odbc still aren't fully up to speed, but at least they don't crash and burn...
Diffstat (limited to 'src/interfaces/libpq++')
-rw-r--r--src/interfaces/libpq++/Makefile.in153
1 files changed, 97 insertions, 56 deletions
diff --git a/src/interfaces/libpq++/Makefile.in b/src/interfaces/libpq++/Makefile.in
index dcd50fbd2a..f3a8eaead9 100644
--- a/src/interfaces/libpq++/Makefile.in
+++ b/src/interfaces/libpq++/Makefile.in
@@ -7,20 +7,23 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/Makefile.in,v 1.8 1998/10/13 14:12:22 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/Makefile.in,v 1.9 1998/10/18 19:40:55 tgl Exp $
#
#-------------------------------------------------------------------------
-SRCDIR= ../..
+NAME= pq++
+SO_MAJOR_VERSION= 2
+SO_MINOR_VERSION= 0
+
+SRCDIR= @top_srcdir@
include $(SRCDIR)/Makefile.global
-SRCHEADERDIR = $(SRCDIR)/include
-LIBPQHEADERDIR = $(SRCHEADERDIR)/libpq
-LIBNAME= libpq++
+PORTNAME=@PORTNAME@
CXX=@CXX@
-PORTNAME=@PORTNAME@
+SRCHEADERDIR = $(SRCDIR)/include
+LIBPQHEADERDIR = $(SRCHEADERDIR)/libpq
# We have to override -Werror, which makes warnings, fatal, because we
# inevitably get the warning, "abstract declarator used as declaration"
@@ -48,41 +51,69 @@ endif
OBJS = pgenv.o pgconnection.o pgtransdb.o pgcursordb.o pglobject.o
# Shared library stuff
-SHLIB :=
-INSTALL-SHLIB-DEP :=
+shlib :=
+install-shlib-dep :=
+
ifeq ($(PORTNAME), linux)
- INSTALL-SHLIB-DEP := install-shlib
- SHLIB := libpq++.so.1
- LDFLAGS_SL = -shared -soname $(SHLIB)
- CFLAGS += $(CFLAGS_SL)
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ LDFLAGS_SL := -shared -soname lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ CFLAGS += $(CFLAGS_SL)
+endif
+
+ifeq ($(PORTNAME), bsd)
+ ifdef BSD_SHLIB
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ LDFLAGS_SL := -x -Bshareable -Bforcearchive
+ CFLAGS += $(CFLAGS_SL)
+ endif
+endif
+
+ifeq ($(PORTNAME), bsdi)
+ ifdef BSD_SHLIB
+ ifeq ($(DLSUFFIX), .so)
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ LDFLAGS_SL += -shared
+ CFLAGS += $(CFLAGS_SL)
+ endif
+ ifeq ($(DLSUFFIX), .o)
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ LD := shlicc
+ LDFLAGS_SL += -O -r
+ CFLAGS += $(CFLAGS_SL)
+ endif
+ endif
endif
ifeq ($(PORTNAME), solaris_sparc)
- INSTALL-SHLIB-DEP := install-shlib
- SHLIB := libpq++.so.1
- LDFLAGS_SL = -G -shared
- CFLAGS += $(CFLAGS_SL)
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ LDFLAGS_SL := -G
+ CFLAGS += $(CFLAGS_SL)
endif
ifeq ($(PORTNAME), solaris_i386)
- INSTALL-SHLIB-DEP := install-shlib
- SHLIB := libpq++.so.1
- LDFLAGS_SL = -G -shared
- CFLAGS += $(CFLAGS_SL)
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ LDFLAGS_SL := -G
+ CFLAGS += $(CFLAGS_SL)
endif
ifeq ($(PORTNAME), svr4)
- INSTALL-SHLIB-DEP := install-shlib
- SHLIB := libpq++.so.1
- LDFLAGS_SL = -G -shared -soname $(SHLIB)
- CFLAGS += $(CFLAGS_SL)
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ LDFLAGS_SL := -G
+ CFLAGS += $(CFLAGS_SL)
endif
ifeq ($(PORTNAME), unixware)
- install-shlib-dep := install-shlib
- shlib := libpq.so.1
- LDFLAGS_SL = -G -z text
- CFLAGS += $(CFLAGS_SL)
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ LDFLAGS_SL := -G -z text
+ CFLAGS += $(CFLAGS_SL)
ifeq ($(CXX), CC)
CXXFLAGS += -Xw
COMPILE.cc = $(CXX) $(CXXFLAGS:ll,alloca=ll) $(CPPFLAGS) $(TARGET_ARCH) -c
@@ -90,10 +121,10 @@ ifeq ($(PORTNAME), unixware)
endif
ifeq ($(PORTNAME), univel)
- install-shlib-dep := install-shlib
- shlib := libpq.so.1
- LDFLAGS_SL = -G -z text
- CFLAGS += $(CFLAGS_SL)
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
+ LDFLAGS_SL := -G -z text
+ CFLAGS += $(CFLAGS_SL)
ifeq ($(CXX), CC)
CXXFLAGS += -Xw
COMPILE.cc = $(CXX) $(CXXFLAGS:ll,alloca=ll) $(CPPFLAGS) $(TARGET_ARCH) -c
@@ -101,37 +132,38 @@ ifeq ($(PORTNAME), univel)
endif
ifeq ($(PORTNAME), hpux)
- install-shlib-dep := install-shlib
- shlib := libpq.sl
- LDFLAGS_SL = -b
- CFLAGS += $(CFLAGS_SL)
+ install-shlib-dep := install-shlib
+ shlib := lib$(NAME).sl
+ LDFLAGS_SL := -b
+ CFLAGS += $(CFLAGS_SL)
endif
-all: $(LIBNAME).a $(SHLIB)
-$(LIBNAME).a: $(OBJS)
+all: libpq++.a $(shlib)
+
+libpq++.a: $(OBJS)
ifdef MK_NO_LORDER
- $(AR) $(AROPT) $(LIBNAME).a $(OBJS)
+ $(AR) $(AROPT) libpq++.a $(OBJS)
else
- $(AR) $(AROPT) $(LIBNAME).a `lorder $(OBJS) | tsort`
+ $(AR) $(AROPT) libpq++.a `lorder $(OBJS) | tsort`
endif
- $(RANLIB) $(LIBNAME).a
+ $(RANLIB) libpq++.a
-$(SHLIB): $(OBJS)
- $(LD) $(LDFLAGS) $(LDFLAGS_SL) -o $@ $(OBJS)
+$(shlib): $(OBJS)
+ $(LD) $(LDFLAGS_SL) -o $@ $(OBJS)
.PHONY: examples
examples:
$(MAKE) -C examples all
.PHONY: beforeinstall-headers install-headers
-.PHONY: install beforeinstall-lib install-$(LIBNAME)
+.PHONY: install beforeinstall-lib install-libpq++ install-shlib
-install: install-headers install-$(LIBNAME) $(INSTALL-SHLIB-DEP)
+install: install-headers install-libpq++ $(install-shlib-dep)
-LIBPGXXDIR = $(LIBNAME)
+LIBPGXXDIR = libpq++
LIBPGXXHEADERDIR = $(HEADERDIR)/$(LIBPGXXDIR)
-MAINHEADER = $(LIBNAME).h
+MAINHEADER = libpq++.h
LIBPGXXHEADERS = pgenv.h \
pgconnection.h \
pgdatabase.h \
@@ -153,16 +185,25 @@ beforeinstall-headers:
beforeinstall-lib:
@if [ ! -d $(LIBDIR) ] ; then mkdir $(LIBDIR); fi
-install-$(LIBNAME): $(LIBNAME).a beforeinstall-lib
- $(INSTALL) $(INSTL_LIB_OPTS) $(LIBNAME).a $(LIBDIR)/$(LIBNAME).a
-
-install-shlib: $(SHLIBNAME) beforeinstall-lib
- $(INSTALL) $(INSTL_SHLIB_OPTS) $(SHLIB) $(LIBDIR)/$(SHLIB)
- rm -f $(LIBDIR)/libpq++.so
- $(LN_S) -f $(SHLIB) $(LIBDIR)/libpq++.so
-
+install-libpq++: libpq++.a beforeinstall-lib
+ $(INSTALL) $(INSTL_LIB_OPTS) libpq++.a $(LIBDIR)/libpq++.a
+
+install-shlib: $(shlib)
+ $(INSTALL) $(INSTL_SHLIB_OPTS) $(shlib) $(LIBDIR)/$(shlib)
+ if [ "$(shlib)" != "lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)" ]; then \
+ cd $(LIBDIR); \
+ rm -f lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION); \
+ $(LN_S) $(shlib) lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION); \
+ fi
+ if [ "$(shlib)" != "lib$(NAME)$(DLSUFFIX)" ]; then \
+ cd $(LIBDIR); \
+ rm -f lib$(NAME)$(DLSUFFIX); \
+ $(LN_S) $(shlib) lib$(NAME)$(DLSUFFIX); \
+ fi
+
+.PHONY: clean
clean:
- rm -f $(LIBNAME).a $(OBJS)
+ rm -f libpq++.a $(shlib) $(OBJS)
$(MAKE) -C examples clean
dep depend: