#---------------------------------------------------------------------------- # # Makefile.global-- # global configuration for the Makefiles # # Copyright (c) 1994, Regents of the University of California # # # IDENTIFICATION # $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.84 2000/07/01 21:16:42 petere Exp $ # # NOTES # Essentially all Postgres make files include this file and use the # variables it sets. # # To override the default setting, create a Makefile.custom in this # directory and put your defines there. (Makefile.custom is included # near the end of this file). Sometimes, a variable gets set in # Makefile.global after Makefile.custom has been included, so you can't # simply set that variable in Makefile.custom. In those cases, there is # often another variable (like CUSTOM_COPT) that you can set in # Makefile.custom that influences the later setting of the true variable # of interest (like CFLAGS) by Makefile.global. # # # If you change any of these defines you probably have to # make clean; make # since no dependencies are created for these. (of course you can # be crafty and check what files really depend on them and just remake # those). # # Before including this file, you must set the SRCDIR variable to the # path of the top of the Postgres source tree (the directory that # contains this file). # #------------------------------------------------------------------------- ifndef SRCDIR # This should be changed once we have separate build dirs. top_srcdir = $(top_builddir) ifeq ($(top_builddir), $(top_srcdir)) srcdir = . else srcdir = $(top_srcdir)/$(subdir) endif VPATH = $(srcdir) SRCDIR = $(top_builddir)/src endif ############################################################################## # # CONFIGURATION SECTION # # Following are settings pertaining to the postgres build and # 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 # This is mainly for use on FreeBSD, where we have both a.out and elf # systems now. May be applicable to other systems to? ELF_SYSTEM= @ELF_SYS@ LIBPQDIR= $(SRCDIR)/interfaces/libpq LIBPGEASYDIR= $(SRCDIR)/interfaces/libpgeasy LIBPGTCLDIR= $(SRCDIR)/interfaces/libpgtcl LIBPQ= -L$(LIBPQDIR) -lpq LIBPGTCL= -L$(LIBPGTCLDIR) -lpgtcl LIBPGEASY= -L$(LIBPGEASYDIR) -lpgeasy # installation directories prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ datadir = @datadir@ sysconfdir = @sysconfdir@ sharedstatedir = @sharedstatedir@ localstatedir = @localstatedir@ libdir = @libdir@ includedir = @includedir@ odbcinst_ini_dir = @odbcinst_ini_dir@ # old variable names for installation directories POSTGRESDIR= $(prefix) BINDIR= $(bindir) LIBDIR= $(libdir) TEMPLATEDIR= $(libdir) POSTMANDIR= $(POSTGRESDIR)/man POSTDOCDIR= $(POSTGRESDIR)/doc HEADERDIR= $(includedir) ############################################################################## # # FEATURES # # To disable a feature, comment out the entire definition # (that is, prepend '#', don't set it to "0" or "no"). # Comment out ENFORCE_ALIGNMENT if you do NOT want unaligned access to # multi-byte types to generate a bus error. ENFORCE_ALIGNMENT= true # Comment out PROFILE to generate a profile version of the binaries #PROFILE= -p -non_shared with_CXX = @with_CXX@ with_perl = @with_perl@ enable_odbc = @enable_odbc@ with_python = @with_python@ PYTHON = @PYTHON@ python_extmakefile = @python_extmakefile@ python_moduledir = @python_moduledir@ # # Please do not edit USE_TCL and USE_TK by hand. # USE_TCL= @USE_TCL@ USE_TK= @USE_TK@ WISH= @WISH@ TCL_CONFIG_SH = @TCL_CONFIG_SH@ TK_CONFIG_SH = @TK_CONFIG_SH@ X_CFLAGS= @X_CFLAGS@ X_LIBS= @X_LIBS@ X11_LIBS= -lX11 @X_EXTRA_LIBS@ # flag whether multibyte is on/off MULTIBYTE=@MULTIBYTE@ ############################################################################## # # Installation. # # For many ports, INSTALL is overridden below. INSTALL= @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SHLIB = @INSTALL_SHLIB@ mkinstalldirs = @mkinstalldirs@ # don't use these any more INSTLOPTS= @INSTLOPTS@ INSTL_EXE_OPTS= @INSTL_EXE_OPTS@ INSTL_LIB_OPTS= @INSTL_LIB_OPTS@ INSTL_SHLIB_OPTS= @INSTL_SHLIB_OPTS@ RANLIB= @RANLIB@ #------------------------------------------------------------- # See the subdirectory template for default settings for these #------------------------------------------------------------- CC= @CC@ CPP= @CPP@ YACC= @YACC@ YFLAGS = @YFLAGS@ LEX= @LEX@ AROPT= @AROPT@ CPPFLAGS = @CPPFLAGS@ CFLAGS = -I$(SRCDIR)/include $(CPPFLAGS) @CFLAGS@ CFLAGS_SL= @SHARED_LIB@ LIBS= @LIBS@ LDFLAGS= @LDFLAGS@ $(LIBS) KRB_LIBS = @KRB_LIBS@ LDREL= -r LDOUT= -o DLSUFFIX= @DLSUFFIX@ LN_S= @LN_S@ TAR= @tar@ GZCAT= @GZCAT@ PERL = @PERL@ AWK = @AWK@ CXX=@CXX@ CXXFLAGS=@CXXFLAGS@ @INCLUDES@ ############################################################################## # # Additional platform-specific settings # # Name of the target platform. PORTNAME= @PORTNAME@ CPU= @CPU@ # Various grungy items needed to configure some platforms. HAVE_POSIX_SIGNALS= @HAVE_POSIX_SIGNALS@ HPUXMATHLIB= @HPUXMATHLIB@ include $(SRCDIR)/Makefile.port ############################################################################## # # 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 # This goes here so that customization in Makefile.custom is effective ############################################################################## ifneq ($(CUSTOM_INSTALL),) INSTALL= $(CUSTOM_INSTALL) endif # # Flags for CC and LD. ############################################################################## # COPT # # COPT is for options that the sophisticated builder might want to vary # from one build to the next, like options to build Postgres with debugging # information included. COPT is meant to be set on the make command line, # for example with the command "make COPT=-g". The value you see set here # is the default that gets used if the builder does not give a value for # COPT on his make command. # # There is a nonobvious relationship between -O (optimization) and # -Werror (consider all warnings fatal). On some systems, if you don't # optimize, you will always get some warnings because the system header # files will include some unreferenced functions in the code. These are # functions that are supposed to be inline, so there wouldn't ordinarily # be an "unreferenced" problem, but if you don't enable optimization, no # inlining can happen, and hence the problem. Therefore, we include # if you override -O, you override -Werror as well. # # CUSTOM_COPT is something the user may set in Makefile.custom # Common values for COPT are: -g for debuggable binaries, -m486 if you are # using a i486 or better. ifneq ($(CUSTOM_CC),) CC= $(CUSTOM_CC) endif ifneq ($(CUSTOM_COPT),) COPT= $(CUSTOM_COPT) endif GCC = @GCC@ ifeq ($(GCC), yes) CFLAGS+= -Wall -Wmissing-prototypes -Wmissing-declarations endif ifdef COPT CFLAGS+= $(COPT) LDFLAGS+= $(COPT) endif ifdef PROFILE CFLAGS+= $(PROFILE) LDFLAGS+= $(PROFILE) endif # substitute implementations of the C library INET_ATON = @INET_ATON@ STRERROR = @STRERROR@ STRERROR2 = @STRERROR2@ SNPRINTF = @SNPRINTF@ STRDUP = @STRDUP@ .PHONY: all install installdirs uninstall dep depend clean distclean maintainer-clean