#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.18 1997/04/04 10:38:23 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.45 1998/07/26 04:30:15 scrappy Exp $
#
# NOTES
# Essentially all Postgres make files include this file and use the
# CONFIGURATION SECTION
#
# Following are settings pertaining to the postgres build and
-# installation. The most important one is obviously the name
+# installation.
# of the port.
+#
+# Ignore BSD_SHLIB if you're not using one of the BSD ports. But if you
+# are, and it's one that doesn't have shared libraries (NetBSD/vax is an
+# example of this), set BSD_SHLIB to null in Makefile.custom.
+BSD_SHLIB= true
-# The name of the port. Valid choices are:
-# aix IBM on AIX 3.2.5
-# alpha DEC Alpha AXP on OSF/1 2.0
-# BSD44_derived OSs derived from 4.4-lite BSD (NetBSD, FreeBSD)
-# bsdi BSD/OS 2.0, 2.01, 2.1
-# dgux DG/UX 5.4R3.10
-# hpux HP PA-RISC on HP-UX 9.0
-# i386_solaris i386 Solaris
-# irix5 SGI MIPS on IRIX 5.3 or better
-# linux Intel x86 on Linux 1.2 and Linux ELF
-# (For non-ELF Linux, see LINUX_ELF below).
-# sparc_solaris SUN SPARC on Solaris 2.4
-# sunos4 SUN SPARC on SunOS 4.1.3
-# svr4 Intel x86 on Intel SVR4
-# ultrix4 DEC MIPS on Ultrix 4.4
-# univel Unixware 2.0x x86
-#
-# PostgresSQL has known problems/bugs on the following platforms:
-#
-# nextstep Motorola MC68K or Intel x86 on NeXTSTEP 3.2 or greater
-#
-# Note that portname is defined here to be UNDEFINED to remind you
-# to change it in Makefile.custom.
-#
-# make sure that you have no whitespaces after the PORTNAME setting
-# or the makefiles can get confused
-PORTNAME= @PORTNAME@
-
-# Ignore LINUX_ELF if you're not using Linux. But if you are, and you're
-# compiling to a.out (which means you're using the dld dynamic loading
-# library), set LINUX_ELF to null in Makefile.custom.
-LINUX_ELF= true
-
-LIBPQDIR:= $(SRCDIR)/libpq
+LIBPQDIR:= $(SRCDIR)/interfaces/libpq
# For convenience, POSTGRESDIR is where BINDIR, and LIBDIR
# and other target destinations are rooted. Of course, each of these is
# Where the header files necessary to build frontend programs get installed.
HEADERDIR= $(POSTGRESDIR)/include
-# NAMEDATALEN is the max length for system identifiers (e.g. table names,
-# attribute names, function names, etc.)
-#
-# These MUST be set here. DO NOT COMMENT THESE OUT
-# Setting these too high will result in excess space usage for system catalogs
-# Setting them too low will make the system unusable.
-# values between 16 and 64 that are multiples of four are recommended.
-#
-# NOTE also that databases with different NAMEDATALEN's cannot interoperate!
-#
-# THERE ARE REDUNDANT DEFINITIONS OF THESE VALUES IN config.h.
-# Don't change anything here without changing it there too.
-
-NAMEDATALEN= 32
-# OIDNAMELEN should be set to NAMEDATALEN + sizeof(Oid)
-OIDNAMELEN= 36
-
##############################################################################
#
# FEATURES
# Compile libpq++
@HAVECXX@
-# Commenting out CASSERT will make things go a LOT faster, but you will
-# also loose a lot of useful error-checking.
-CASSERT= true
-
# Comment out ENFORCE_ALIGNMENT if you do NOT want unaligned access to
# multi-byte types to generate a bus error.
ENFORCE_ALIGNMENT= true
# location of Tcl/Tk headers and libraries
#
# Uncomment this to build the tcl utilities.
-# USE_TCL= true
+USE_TCL= @USE_TCL@
# customize these to your site's needs
#
-TCL_INCDIR= /home/tools/include
-TCL_LIBDIR= /home/tools/lib
-TCL_LIB= -ltcl7.5
-TK_INCDIR= /home/tools/include
-TK_LIBDIR= /home/tools/lib
-TK_LIB= -ltk4.1
+TCL_LIB= @TCL_LIB@
+TK_LIB= @TK_LIB@
-X11_INCDIR= /usr/include
-X11_LIBDIR= /usr/lib
-X11_LIB= -lX11 @SOCKET_LIB@ @NSL_LIB@
+USE_PERL= @USE_PERL@
-##############################################################################
-#
-# YACC
+X_CFLAGS= @X_CFLAGS@
+X_LIBS= @X_LIBS@
+X11_LIBS= -lX11 @X_EXTRA_LIBS@
-YFLAGS= -d
+#
+# enable multi-byte support
+# choose one of:
+# EUC_JP,EUC_CN,EUC_KR,EUC_TW,UNICODE,MULE_INTERNAL,LATIN1-5
+MULTIBYTE=@MULTIBYTE@
+ifdef MULTIBYTE
+MBFLAGS = -DMULTIBYTE=$(MULTIBYTE)
+endif
##############################################################################
#
INSTLOPTS= @INSTLOPTS@
INSTL_EXE_OPTS= @INSTL_EXE_OPTS@
INSTL_LIB_OPTS= @INSTL_LIB_OPTS@
+INSTL_SHLIB_OPTS= @INSTL_SHLIB_OPTS@
##############################################################################
#
BACKSLASH_C= @BACKSLASH_C@
-##############################################################################
-#
-# Customization.
-#
-# This includes your local customizations if Makefile.custom exists
-# in the source directory. This file doesn't exist in the original
-# distribution so that it doesn't get overwritten when you upgrade.
-ifneq ($(wildcard $(SRCDIR)/Makefile.custom), )
-include $(SRCDIR)/Makefile.custom
-endif
#-------------------------------------------------------------
# See the subdirectory template for default settings for these
#-------------------------------------------------------------
CC= @CC@
+YFLAGS= @YFLAGS@
+YACC= @YACC@
LEX= @LEX@
AROPT= @AROPT@
-CFLAGS= @CPPFLAGS@ @CFLAGS@
+CFLAGS= -I$(SRCDIR)/include -I$(SRCDIR)/backend @CPPFLAGS@ @CFLAGS@
CFLAGS_SL= @SHARED_LIB@
LDFLAGS= @LDFLAGS@ @LIBS@
DLSUFFIX= @DLSUFFIX@
-#----------------------------------------------------------------------
-ifeq ($(PORTNAME), BSD44_derived)
-%.so: %.o
- $(LD) -x -r -o $<.obj $<
- @echo building shared object $@
- @rm -f $@.pic
- @${AR} cq $@.pic `lorder $<.obj | tsort`
- ${RANLIB} $@.pic
- @rm -f $@
- $(LD) -x -Bshareable -Bforcearchive \
- -o $@ $@.pic
-endif
-
-#--------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), aix)
-
-# MAKE_EXPORTS is required for svr4 loaders that want a file of
-# symbol names to tell them what to export/import.
-MAKE_EXPORTS= true
-
-EXPSUFF= .exp
-
-POSTGRES_EXP= $(SRCDIR)/backend/postgres$(EXPSUFF)
-
-MKLDEXPORT=$(SRCDIR)/backend/port/aix/mkldexport.sh
-
-%$(EXPSUFF): %.o
- $(MKLDEXPORT) $< `pwd` > $@
-
-$(POSTGRES_EXP):
- $(MAKE) -C $(SRCDIR)/backend postgres.exp
-
-%.so: %.o %$(EXPSUFF) $(POSTGRES_EXP)
- @echo Making share library $@ from $*.o, $*$(EXPSUFF), and postgres.exp
- $(LD) -H512 -T512 -o $@ -e _nostart \
- -bI:$(POSTGRES_EXP) -bE:$*$(EXPSUFF) \
- $*.o @MATH_LIB@ -lc 2>/dev/null
-endif
-
-#---------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), alpha)
-%.so: %.o
- $(LD) -shared -expect_unresolved '*' -o $@ $<
-endif
-
-#--------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), dgux)
-%.so: %.o
- $(CC) -shared -o $@ $<
-
-YACC= bison -y
-
-endif
-
-#----------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), hpux)
-
-#ifdef ENFORCE_ALIGNMENT
-# CFLAGS_BE= -DNOFIXADE
-#else
-# HPUX_VERS:= $(shell uname -r)
-# HPUX_MAJOR= ${HPUX_VERS:R:E}
-# HPUX_MINOR= ${HPUX_VERS:E}
-# ifeq ($(HPUX_MAJOR), 08)
-# CFLAGS_BE+= +u -DHP_S500_ALIGN
-# LDFLAGS_BE+= +u
-# else
-# ifeq ($(HPUX_MAJOR), 09)
-# ifeq ($(CC), cc)
-# CFLAGS_BE+= +u4
-# LDFLAGS_BE+= +u4
-# endif
-# endif
-# endif
-#endif
-
-%.sl: %.o
- $(LD) -b -o $@ $<
-
-endif
-
-#--------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), i386_solaris)
-# cc won't work!
-
-%.so: %.o
- $(LD) -G -Bdynamic -o $@ $<
-
-endif
-
-#----------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), irix5)
-
-# RANLIB is not used on IRIX 5
-RANLIB= touch
-
-%.so: %.o
- $(LD) -G -Bdynamic -o $@ $< $(LDFLAGS)
-
-endif
-
-#---------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), linux)
-ifdef LINUX_ELF
-LDFLAGS+= -rdynamic
-endif
-MK_NO_LORDER= true
-
-%.so: %.o
- $(CC) -shared -o $@ $<
-
-endif
-
-#---------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), sunos4)
-%.so: %.o
- $(LD) -dc -dp -Bdynamic -o $@ $<
-endif
-
-#----------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), sparc_solaris)
-
-%.so: %.o
- $(LD) -G -Bdynamic -o $@ $<
-
-endif
-
-#-----------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), svr4)
-YACC= bison -y
-
-# MAKE_EXPORTS is required for svr4 loaders that want a file of
-# symbol names to tell them what to export/import.
-MAKE_EXPORTS= true
-
-LDFLAGS+= /usr/ucblib/libucb.a -LD-Blargedynsym
-
-%.so: %.o
- $(LD) -G -Bdynamic -o $@ $<
-
-endif
-
-#---------------------------------------------------------------------------
-
-ifeq ($(PORTNAME), ultrix4)
-# install creates intermediate directories
-NO_BEFOREINSTL= true
-endif
-
-
-#-----------------------------------------------------------------------------
+include $(SRCDIR)/Makefile.port
+##############################################################################
#
-# The univel port is almost guaranteed NOT to work yet.
+# Customization.
#
-ifeq ($(PORTNAME), univel)
-YACC= bison -y
-
-# MAKE_EXPORTS is required for svr4 loaders that want a file of
-# symbol names to tell them what to export/import.
-#MAKE_EXPORTS= true
-
-%.so: %.o
- $(LD) -G -Bdynamic -o $@ $<
-
-INSTALL= /usr/ucb/install
-
+# This includes your local customizations if Makefile.custom exists
+# in the source directory. This file doesn't exist in the original
+# distribution so that it doesn't get overwritten when you upgrade.
+ifneq ($(wildcard $(SRCDIR)/Makefile.custom), )
+include $(SRCDIR)/Makefile.custom
endif
# This goes here so that customization in Makefile.custom is effective
ifdef COPT
CFLAGS+= $(COPT)
-endif
-
-ifndef CASSERT
- CFLAGS+= -DNO_ASSERT_CHECKING
+ LDFLAGS+= $(COPT)
endif
ifdef PROFILE
CFLAGS+= $(PROFILE)
+ LDFLAGS+= $(PROFILE)
endif
-
-# Globally pass PORTNAME
-CFLAGS+= -D$(PORTNAME)