diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2000-06-10 18:02:12 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2000-06-10 18:02:12 +0000 |
commit | 6de89c9ab78a557f98dc02dca97795d27a4112d2 (patch) | |
tree | 4b1a26308ed5013424b39847f0c7b2aad355e606 /src | |
parent | 2ae20ef98a94c6a0f77e6358ae756cc02f29e921 (diff) | |
download | postgresql-6de89c9ab78a557f98dc02dca97795d27a4112d2.tar.gz postgresql-6de89c9ab78a557f98dc02dca97795d27a4112d2.zip |
Moved the intricacies of the perl interface build into its own makefile
that now functions as a wrapper around the MakeMaker stuff. It might
even behave sensically when we have separate build dirs. Same for plperl,
which of course still doesn't work very well. Made sure that plperl
respects the choice of --libdir.
Added --with-python to automatically build and install the Python interface.
Works similarly to the Perl5 stuff.
Moved the burden of the distclean targets lower down into the source tree.
Eventually, each make file should have its own.
Added automatic remaking of makefiles and configure. Currently only for the
top-level because of a bug(?) in Autoconf. Use GNU `missing' to work around
missing autoconf and aclocal. Start factoring out macros into their own
config/*.m4 files to increase readability and organization.
Diffstat (limited to 'src')
-rw-r--r-- | src/GNUmakefile.in | 60 | ||||
-rw-r--r-- | src/Makefile | 16 | ||||
-rw-r--r-- | src/Makefile.global.in | 15 | ||||
-rw-r--r-- | src/bin/psql/Makefile.in | 3 | ||||
-rw-r--r-- | src/interfaces/Makefile | 65 | ||||
-rw-r--r-- | src/interfaces/Makefile.in | 65 | ||||
-rw-r--r-- | src/interfaces/perl5/GNUmakefile.in | 71 | ||||
-rw-r--r-- | src/interfaces/perl5/Makefile.PL | 16 | ||||
-rw-r--r-- | src/interfaces/python/GNUmakefile.in | 74 | ||||
-rw-r--r-- | src/interfaces/python/Setup.in.raw | 3 | ||||
-rw-r--r-- | src/interfaces/python/pgmodule.c | 2 | ||||
-rw-r--r-- | src/pl/Makefile | 30 | ||||
-rw-r--r-- | src/pl/Makefile.in | 42 | ||||
-rw-r--r-- | src/pl/plperl/GNUmakefile.in | 40 | ||||
-rw-r--r-- | src/pl/plperl/Makefile.PL | 24 |
15 files changed, 336 insertions, 190 deletions
diff --git a/src/GNUmakefile.in b/src/GNUmakefile.in index f00d34efaab..1471a06a238 100644 --- a/src/GNUmakefile.in +++ b/src/GNUmakefile.in @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.51 2000/06/06 22:00:47 petere Exp $ +# $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.52 2000/06/10 18:01:36 petere Exp $ # #------------------------------------------------------------------------- @@ -49,46 +49,27 @@ clean: $(MAKE) -C test clean $(MAKE) -C ../contrib/spi clean -# Remove files and symlinks created by configure script -distclean: clean - rm -f \ - Makefile.port \ - include/config.h \ - include/dynloader.h \ - include/os.h \ - backend/port/tas.s \ - backend/port/dynloader.c \ +# Not all subdirectories have a make distclean target yet +distclean: + -$(MAKE) -C utils clean + -$(MAKE) -C backend clean + rm -f backend/port/Makefile backend/catalog/genbki.sh \ backend/utils/Gen_fmgrtab.sh \ - interfaces/odbc/port \ - interfaces/odbc/makefiles \ - interfaces/odbc/template \ - interfaces/odbc/config.h \ -\ -\ -\ - GNUmakefile \ + backend/port/tas.s backend/port/dynloader.c + -$(MAKE) -C interfaces distclean + -$(MAKE) -C bin clean + rm -f bin/pg_dump/Makefile bin/pg_version/Makefile \ + bin/psql/Makefile bin/pgtclsh/mkMakefile.tcldefs.sh \ + bin/pgtclsh/mkMakefile.tkdefs.sh + -$(MAKE) -C pl distclean + -$(MAKE) -C test clean + rm -f test/regress/GNUmakefile + -$(MAKE) -C ../contrib/spi clean + rm -f Makefile.port \ + include/config.h include/dynloader.h \ + include/os.h include/version.h \ Makefile.global \ - backend/port/Makefile \ - backend/catalog/genbki.sh \ - backend/utils/Gen_fmgrtab.sh \ - bin/pg_dump/Makefile \ - bin/pg_version/Makefile \ - bin/psql/Makefile \ - bin/pgtclsh/mkMakefile.tcldefs.sh \ - bin/pgtclsh/mkMakefile.tkdefs.sh \ - include/version.h \ - interfaces/libpq/Makefile \ - interfaces/ecpg/lib/Makefile \ - interfaces/ecpg/preproc/Makefile \ - interfaces/libpq++/Makefile \ - interfaces/libpgeasy/Makefile \ - interfaces/libpgtcl/Makefile \ - interfaces/odbc/GNUmakefile \ - interfaces/odbc/Makefile.global \ - pl/plpgsql/src/Makefile \ - pl/plpgsql/src/mklang.sql \ - pl/tcl/mkMakefile.tcldefs.sh \ - test/regress/GNUmakefile + GNUmakefile .DEFAULT: $(MAKE) -C utils $@ @@ -113,4 +94,3 @@ BACKUP: .PHONY: TAGS .PHONY: BACKUP - diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 8fbbcbdac2a..00000000000 --- a/src/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# The Postgres make files exploit features of GNU make that other makes -# do not have. Because it is a common mistake for users to try to build -# Postgres with a different make, we have this make file that does nothing -# but tell the user to use GNU make. - -# If the user were using GNU make now, this file would not get used because -# GNU make uses a make file named "GNUmakefile" in preference to "Makefile" -# if it exists. Postgres is shipped with a "GNUmakefile". - -all install clean dep depend distclean: - @echo "You must use GNU make to use Postgres. It may be installed" - @echo "on your system with the name 'gmake'." - @echo - @echo "NOTE: If you are sure that you are using GNU make and you are" - @echo " still getting this message, you may simply need to run" - @echo " the configure program." diff --git a/src/Makefile.global.in b/src/Makefile.global.in index db3a3233454..82f148462df 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.75 2000/05/29 05:44:32 tgl Exp $ +# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.76 2000/06/10 18:01:36 petere Exp $ # # NOTES # Essentially all Postgres make files include this file and use the @@ -78,11 +78,6 @@ LIBDIR= $(POSTGRESDIR)/lib # TEMPLATEDIR= $(POSTGRESDIR)/lib -# This is the directory where IPC utilities ipcs and ipcrm are located -# -IPCS=@ipcs@ -IPCRM=@ipcrm@ - # Where the man pages (suitable for use with "man") get installed. POSTMANDIR= $(POSTGRESDIR)/man @@ -155,13 +150,6 @@ USE_TCL= @USE_TCL@ USE_TK= @USE_TK@ WISH= @WISH@ -USE_PERL= @USE_PERL@ -PERL= @PERL@ - -# -# enable native odbc driver support -USE_ODBC= @USE_ODBC@ - X_CFLAGS= @X_CFLAGS@ X_LIBS= @X_LIBS@ X11_LIBS= -lX11 @X_EXTRA_LIBS@ @@ -204,7 +192,6 @@ BACKSLASH_C= @BACKSLASH_C@ #------------------------------------------------------------- CC= @CC@ CPP= @CPP@ -YFLAGS= @YFLAGS@ YACC= @YACC@ LEX= @LEX@ AROPT= @AROPT@ diff --git a/src/bin/psql/Makefile.in b/src/bin/psql/Makefile.in index 4fa6a4f1371..b1d8ecfd6d7 100644 --- a/src/bin/psql/Makefile.in +++ b/src/bin/psql/Makefile.in @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/psql/Attic/Makefile.in,v 1.24 2000/05/11 17:46:35 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/psql/Attic/Makefile.in,v 1.25 2000/06/10 18:01:45 petere Exp $ # #------------------------------------------------------------------------- @@ -15,6 +15,7 @@ SRCDIR= ../.. include $(SRCDIR)/Makefile.global DOCDIR= $(SRCDIR)/../doc/src/sgml/ref +PERL = @PERL@ CFLAGS+= -I$(LIBPQDIR) diff --git a/src/interfaces/Makefile b/src/interfaces/Makefile deleted file mode 100644 index 3283f550dba..00000000000 --- a/src/interfaces/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -#------------------------------------------------------------------------- -# -# Makefile.inc-- -# Makefile for src/bin (utility programs) -# -# Copyright (c) 1994, Regents of the University of California -# -# -# IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/Makefile,v 1.38 2000/04/26 09:03:10 wieck Exp $ -# -#------------------------------------------------------------------------- - -SRCDIR= .. -include $(SRCDIR)/Makefile.global - - -# Note: the klugery for perl5 is to ensure that the perl5 shared lib -# gets built with the correct path to the installed location of libpq -# during "make install", but is built against the local tree during -# ordinary building and testing. During install, we must also guard -# against the likelihood that we don't have permissions to install into -# the Perl module library. - -.DEFAULT all install clean dep depend distclean: - $(MAKE) -C libpq $@ - $(MAKE) -C ecpg $@ -ifeq ($(HAVE_Cplusplus), true) - $(MAKE) -C libpq++ $@ -else - echo $(HAVE_Cplusplus): No C++ -endif - $(MAKE) -C libpgeasy $@ -ifeq ($(USE_TCL), true) - $(MAKE) -C libpgtcl $@ -endif -ifeq ($(USE_PERL), true) - if [ "$@" = "install" ]; then \ - $(MAKE) $(MFLAGS) install-perl5; \ - else \ - $(MAKE) $(MFLAGS) perl5/Makefile; \ - $(MAKE) $(MFLAGS) -C perl5 $@; \ - fi -endif -ifeq ($(USE_ODBC), true) - $(MAKE) -C odbc $@ -endif - -perl5/Makefile: perl5/Makefile.PL - cd perl5 && $(PERL) Makefile.PL POLLUTE=1 - -install-perl5: perl5/Makefile - $(MAKE) -C perl5 clean - cd perl5 && POSTGRES_HOME="$(POSTGRESDIR)" $(PERL) Makefile.PL POLLUTE=1 - $(MAKE) -C perl5 all - -@if [ -w `$(MAKE) --quiet -C perl5 echo-installdir` ]; then \ - $(MAKE) $(MFLAGS) -C perl5 install; \ - rm -f perl5/Makefile; \ - else \ - echo "Skipping install of Perl module for lack of permissions."; \ - echo "To install it, cd into interfaces/perl5, su to become the"; \ - echo "appropriate user, and do '$(MAKE) install'."; \ - fi - -.PHONY: install-perl5 diff --git a/src/interfaces/Makefile.in b/src/interfaces/Makefile.in new file mode 100644 index 00000000000..549eef42b9f --- /dev/null +++ b/src/interfaces/Makefile.in @@ -0,0 +1,65 @@ +#------------------------------------------------------------------------- +# +# Makefile for src/interfaces +# +# Copyright (c) 1994, Regents of the University of California +# +# $Header: /cvsroot/pgsql/src/interfaces/Attic/Makefile.in,v 1.1 2000/06/10 18:01:48 petere Exp $ +# +#------------------------------------------------------------------------- + +srcdir = @srcdir@ +VPATH = @srcdir@ + +top_srcdir = @top_srcdir@ +top_builddir = ../.. + +USE_TCL = @USE_TCL@ +USE_ODBC = @USE_ODBC@ +WITH_CXX = @HAVECXX@ +with_perl = @with_perl@ +with_python = @with_python@ + +all install clean dep depend: + $(MAKE) -C libpq $@ + $(MAKE) -C ecpg $@ +ifeq ($(WITH_CXX), true) + $(MAKE) -C libpq++ $@ +endif + $(MAKE) -C libpgeasy $@ +ifeq ($(USE_TCL), true) + $(MAKE) -C libpgtcl $@ +endif +ifeq ($(with_perl), yes) + $(MAKE) -C perl5 $@ +endif +ifeq ($(with_python), yes) + $(MAKE) -C python $@ +endif +ifeq ($(USE_ODBC), true) + $(MAKE) -C odbc $@ +endif + +distclean maintainer-clean: clean +ifeq ($(with_perl), yes) + -$(MAKE) -C perl5 $@ +endif +ifeq ($(with_python), yes) + -$(MAKE) -C python $@ +endif + rm -f Makefile \ + libpq/Makefile \ + ecpg/lib/Makefile \ + ecpg/preproc/Makefile \ + libpq++/Makefile \ + libpgeasy/Makefile \ + libpgtcl/Makefile \ + odbc/GNUmakefile \ + odbc/Makefile.global \ + odbc/port \ + odbc/makefiles \ + odbc/template \ + odbc/config.h + + +.PHONY: all install dep depend clean distclean maintainer-clean diff --git a/src/interfaces/perl5/GNUmakefile.in b/src/interfaces/perl5/GNUmakefile.in new file mode 100644 index 00000000000..29bd818ee66 --- /dev/null +++ b/src/interfaces/perl5/GNUmakefile.in @@ -0,0 +1,71 @@ +# This file is an interface from the Autoconf world to Perl's +# MakeMaker world, so that the latter behaves (kind of) like the +# former would prefer. Internally, we call Perl to create another +# Makefile according to it's own ideas and then invoke the rules from +# that file. +# +# $Header: /cvsroot/pgsql/src/interfaces/perl5/Attic/GNUmakefile.in,v 1.1 2000/06/10 18:01:56 petere Exp $ + +srcdir = @srcdir@ +VPATH = @srcdir@ + +top_srcdir = @top_srcdir@ +top_builddir = ../../.. + +PERL = @PERL@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +libdir = @libdir@ +includedir = @includedir@ + + +all: Makefile libpq-all + $(MAKE) -f $< all + +Makefile: Makefile.PL + $(PERL) $< POLLUTE=1 + +libpq-all: + $(MAKE) -C $(top_builddir)/src/interfaces/libpq all + +# The klugery here is to ensure that the perl5 shared library gets +# built with the correct path to the installed location of libpq +# during `make install', but is built against the local tree during +# ordinary building and testing. +# +# During install, we must also guard against the likelihood that we +# don't have permissions to install into the Perl module library. The +# purer alternative would naturally be the ability to select the +# installation directory somewhere. + +install: Makefile libpq-install + $(MAKE) -f Makefile clean + POSTGRES_LIB="$(libdir)" \ + POSTGRES_INCLUDE="$(includedir)" \ + $(PERL) $(srcdir)/Makefile.PL POLLUTE=1 + $(MAKE) -f Makefile all + -@if [ -w "`$(MAKE) --quiet -f Makefile echo-installdir`" ]; then \ + $(MAKE) -f Makefile install; \ + rm -f Makefile; \ + else \ + echo "*****" ;\ + echo "* Skipping the installation of the Perl module for lack of permissions."; \ + echo "* To install it, change to the directory "`pwd`","; \ + echo "* become the appropriate user, and do \`$(MAKE) install'."; \ + echo "*****"; \ + fi + +libpq-install: + $(MAKE) -C $(top_builddir)/src/interfaces/libpq install + +# Note: Perl's idea of "clean" is a little different, so we use "realclean" + +clean: + -[ -f Makefile ] && $(MAKE) -f Makefile realclean + +distclean maintainer-clean: clean + rm -f GNUmakefile + + +.PHONY: all install clean distclean maintainer-clean libpq-all libpq-install diff --git a/src/interfaces/perl5/Makefile.PL b/src/interfaces/perl5/Makefile.PL index d63c7e7ad5f..4d5b1e33f18 100644 --- a/src/interfaces/perl5/Makefile.PL +++ b/src/interfaces/perl5/Makefile.PL @@ -1,6 +1,6 @@ #------------------------------------------------------- # -# $Id: Makefile.PL,v 1.15 2000/04/23 04:26:32 tgl Exp $ +# $Id: Makefile.PL,v 1.16 2000/06/10 18:01:56 petere Exp $ # # Copyright (c) 1997, 1998 Edmund Mergl # @@ -12,14 +12,14 @@ use strict; my %opts; -if (! $ENV{POSTGRES_HOME}) { +if (! $ENV{POSTGRES_LIB} || ! $ENV{POSTGRES_INCLUDE}) { # Check that we actually are inside the Postgres source tree if (! -d "../libpq") { die -"To install Pg separately from the Postgres distribution, -you must set environment variable POSTGRES_HOME to point to -where Postgres is installed (often /usr/local/pgsql).\n"; +"To install Pg separately from the Postgres distribution, you must +set environment variables POSTGRES_LIB and POSTGRES_INCLUDE to point +to where Postgres is installed (often /usr/local/pgsql/{lib,include}).\n"; } # Setup for build/test inside a Postgres source tree @@ -44,9 +44,9 @@ where Postgres is installed (often /usr/local/pgsql).\n"; %opts = ( NAME => 'Pg', VERSION_FROM => 'Pg.pm', - INC => "-I$ENV{POSTGRES_HOME}/include", + INC => "-I$ENV{POSTGRES_INCLUDE}", OBJECT => "Pg\$(OBJ_EXT)", - LIBS => ["-L$ENV{POSTGRES_HOME}/lib -lpq"], + LIBS => ["-L$ENV{POSTGRES_LIB} -lpq"], ); } @@ -57,7 +57,7 @@ WriteMakefile(%opts); sub MY::installbin { q[ -# Create a target that interfaces/Makefile can use to +# Create a target that can be used to # determine the Perl install directory. echo-installdir: @echo $(INSTALLSITELIB) diff --git a/src/interfaces/python/GNUmakefile.in b/src/interfaces/python/GNUmakefile.in new file mode 100644 index 00000000000..2dd40954e3d --- /dev/null +++ b/src/interfaces/python/GNUmakefile.in @@ -0,0 +1,74 @@ +#------------------------------------------------------------------- +# +# Makefile for src/interfaces/python, a.k.a. "PyGreSQL" +# +# Written by Peter Eisentraut <peter_e@gmx.net> +# +# $Header: /cvsroot/pgsql/src/interfaces/python/Attic/GNUmakefile.in,v 1.1 2000/06/10 18:02:00 petere Exp $ +# +#------------------------------------------------------------------- + +srcdir = @srcdir@ +VPATH = @srcdir@ + +top_srcdir = @top_srcdir@ +top_builddir = ../../.. + + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +libdir = @libdir@ +includedir = @includedir@ + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +LIBS = @LIBS@ + +PYTHON = @PYTHON@ +python_extmakefile = @python_extmakefile@ +python_moduledir = @python_moduledir@ + + +all: Makefile pgmodule.c libpq-all + $(MAKE) -f Makefile + +libpq-all: + $(MAKE) -C $(top_builddir)/src/interfaces/libpq all + +Makefile: Setup.in Makefile.pre.in + $(MAKE) -f Makefile.pre.in boot srcdir=$(srcdir) VPATH=$(srcdir) + +Makefile.pre.in: $(python_extmakefile) + cp $< $@ + +Setup.in: Setup.in.raw + sed -e "s%__LIBPQ__%${top_srcdir}/src/interfaces/libpq%g" \ + -e "s%__EXTRA_LIBS__%${LIBS}%g" \ + -e "s%__INCLUDES__%${top_srcdir}/src/include%g" \ + < $< > $@ + +install: all + @echo "Installing Python module" + @if ! ( $(INSTALL_DATA) pg.py $(python_moduledir) && \ + $(MAKE) -f Makefile install ); then \ + echo "*****" ;\ + echo "* Skipping the installation of the Python interface module for lack"; \ + echo "* of permissions. To install it, change to the directory"; \ + echo "* "`pwd`", become the appropriate"; \ + echo "* user, and do \`$(MAKE) install'."; \ + echo "*****"; \ + fi + + +# Python sometimes has a different idea what exactly "clean" is. + +clean: + -[ -f Makefile ] && $(MAKE) -f Makefile clobber + rm -f Makefile.pre.in Makefile Setup Setup.in + +distclean maintainer-clean: clean + rm -f GNUmakefile + + +.PHONY: all libpq-all install clean distclean maintainer-clean diff --git a/src/interfaces/python/Setup.in.raw b/src/interfaces/python/Setup.in.raw new file mode 100644 index 00000000000..dddb5588102 --- /dev/null +++ b/src/interfaces/python/Setup.in.raw @@ -0,0 +1,3 @@ +*shared* + +_pg pgmodule.c -I__LIBPQ__ -I__INCLUDES__ -L__LIBPQ__ -lpq __EXTRA_LIBS__ diff --git a/src/interfaces/python/pgmodule.c b/src/interfaces/python/pgmodule.c index 03424b805c2..967ac536008 100644 --- a/src/interfaces/python/pgmodule.c +++ b/src/interfaces/python/pgmodule.c @@ -680,7 +680,7 @@ static char connect__doc__[] = static PyObject * pgconnect(pgobject * self, PyObject * args, PyObject * dict) { - static const char *kwlist[] = {"dbname", "host", "port", "opt", + static char *kwlist[] = {"dbname", "host", "port", "opt", "tty", "user", "passwd", NULL}; char *pghost, *pgopt, diff --git a/src/pl/Makefile b/src/pl/Makefile deleted file mode 100644 index 1ddf4c4967f..00000000000 --- a/src/pl/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -#------------------------------------------------------------------------- -# -# Makefile -# Makefile for src/pl (procedural languages) -# -# Copyright (c) 1994, Regents of the University of California -# -# -# IDENTIFICATION -# $Header: /cvsroot/pgsql/src/pl/Makefile,v 1.7 2000/04/11 17:42:28 momjian Exp $ -# -#------------------------------------------------------------------------- - -SRCDIR= .. -include $(SRCDIR)/Makefile.global - - -.DEFAULT all install clean dep depend distclean: - $(MAKE) -C plpgsql $@ -ifeq ($(USE_TCL), true) - $(MAKE) -C tcl $@ -endif -# does't work bjm 2000-04-11 -#ifeq ($(USE_PERL), true) -# -$(MAKE) $(MFLAGS) plperl/Makefile -# -$(MAKE) $(MFLAGS) -C plperl $@ -#endif - -plperl/Makefile: plperl/Makefile.PL - cd plperl && $(PERL) Makefile.PL POLLUTE=1 diff --git a/src/pl/Makefile.in b/src/pl/Makefile.in new file mode 100644 index 00000000000..74b87dcf1bc --- /dev/null +++ b/src/pl/Makefile.in @@ -0,0 +1,42 @@ +#------------------------------------------------------------------------- +# +# Makefile for src/pl (procedural languages) +# +# Copyright (c) 1994, Regents of the University of California +# +# $Header: /cvsroot/pgsql/src/pl/Attic/Makefile.in,v 1.1 2000/06/10 18:02:09 petere Exp $ +# +#------------------------------------------------------------------------- + +srcdir = @srcdir@ +VPATH = @srcdir@ + +top_srcdir = @top_srcdir@ +top_builddir = ../.. + +with_perl = @with_perl@ +USE_TCL = @USE_TCL@ + +all install clean: + $(MAKE) -C plpgsql $@ +ifeq ($(USE_TCL), true) + $(MAKE) -C tcl $@ +endif +# Disabled because it doesn't work +#ifeq ($(with_perl), yes) +# $(MAKE) -C plperl $@ +#endif + + +distclean maintainer-clean: + -$(MAKE) -C plpgsql clean + rm -f plpgsql/src/Makefile plpgsql/src/mklang.sql +ifeq ($(USE_TCL), true) + $(MAKE) -C tcl clean +endif + rm -f tcl/mkMakefile.tcldefs.sh + -$(MAKE) -C plperl $@ + rm -f Makefile + + +.PHONY: all install clean distclean maintainer-clean diff --git a/src/pl/plperl/GNUmakefile.in b/src/pl/plperl/GNUmakefile.in new file mode 100644 index 00000000000..a040b87cb35 --- /dev/null +++ b/src/pl/plperl/GNUmakefile.in @@ -0,0 +1,40 @@ +# $Header: /cvsroot/pgsql/src/pl/plperl/Attic/GNUmakefile.in,v 1.1 2000/06/10 18:02:11 petere Exp $ + +srcdir = @srcdir@ +VPATH = @srcdir@ + +top_srcdir = @top_srcdir@ +top_builddir = ../../.. + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +libdir = @libdir@ + +plperl_installdir = $(libdir) + +mkinstalldirs = @mkinstalldirs@ +PERL = @PERL@ +PGSQL_INCLUDES = @PGSQL_INCLUDES@ + +all: Makefile + $(MAKE) -f $< all + +Makefile: Makefile.PL + @plperl_installdir='$(plperl_installdir)' \ + EXTRA_INCLUDES='-I$(top_srcdir)/src/include $(PGSQL_INCLUDES)' \ + $(PERL) $< POLLUTE=1 + +install: Makefile installdirs + $(MAKE) -f $< install + +installdirs: + $(mkinstalldirs) $(plperl_installdir) + +clean: + -[ -f Makefile ] && $(MAKE) -f Makefile realclean + +distclean maintainer-clean: clean + rm -f GNUmakefile + + +.PHONY: all install installdirs clean distclean maintainer-clean diff --git a/src/pl/plperl/Makefile.PL b/src/pl/plperl/Makefile.PL index a5b6066b084..a01084bc38c 100644 --- a/src/pl/plperl/Makefile.PL +++ b/src/pl/plperl/Makefile.PL @@ -15,12 +15,14 @@ if ($Config{'useshrplib'} ne 'true') { # Dummy Makefile for use when we can't build plperl all install: - @echo "Cannot build plperl because libperl is not a shared library; skipping it." + @echo "*****"; \ + echo "* Cannot build PL/Perl because libperl is not a shared library." ; \ + echo "* Skipped."; \ + echo "*****" -clean distclean: - rm -f Makefile -.DEFAULT dep depend: +clean realclean: + rm -f Makefile EndOfMakefile close(OUT); @@ -54,19 +56,11 @@ my $perllib = "-L$Config{archlibexp}/CORE -lperl"; WriteMakefile( 'NAME' => 'plperl', dynamic_lib => { 'OTHERLDFLAGS' => "$opcode $perllib" } , - INC => '-I$(SRCDIR)/include $(PGSQL_INCLUDES)', + INC => "$ENV{EXTRA_INCLUDES}", XS => { 'SPI.xs' => 'SPI.c' }, OBJECT => 'plperl.o eloglvl.o SPI.o', ); -sub MY::post_initialize { - -q[ -SRCDIR=../../../src -include $(SRCDIR)/Makefile.global -]; - -} sub MY::cflags { package MY; # so that "SUPER" works right @@ -88,9 +82,9 @@ sub MY::cflags { sub MY::install { -q[ +qq[ install :: all - cp $(INST_DYNAMIC) $(LIBDIR) + cp \$(INST_DYNAMIC) $ENV{plperl_installdir} ]; } |