diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2000-06-28 18:30:16 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2000-06-28 18:30:16 +0000 |
commit | 44f64dd3eac840866d884269c8011b22d416bf3c (patch) | |
tree | d4be0830d9d93fc2d66fc0281743f2e7a9cd46f5 /src/interfaces | |
parent | 5ac1eac2a6355b090d074489f4f11b5b844c3274 (diff) | |
download | postgresql-44f64dd3eac840866d884269c8011b22d416bf3c.tar.gz postgresql-44f64dd3eac840866d884269c8011b22d416bf3c.zip |
Makefile cleanup for interface tree. Now essentially with all the
standard targets and behaviour. Replaced Makefile.in's with
Makefile's and declared the respective variables in Makefile.global.
maintainer-clean target now available at top level, although it does
not work in the backend tree yet.
Cleanup pass over Makefile.shlib, renamed some targets and variables.
The shared library symlink tests are now done by make, not the shell.
ecpg: Remove one warning in sloppy flex output.
PL/Perl and Perl interface: the MakeMaker documentation is confusing,
the realclean target *does* "delete derived files", but it also
uninstalls them. Don't use that.
The submake targets in the various bin directories that update libpq
should `make all', not `make libpq.a'. That is a) unportable, and
b) doesn't build the shared library.
Diffstat (limited to 'src/interfaces')
20 files changed, 521 insertions, 579 deletions
diff --git a/src/interfaces/Makefile b/src/interfaces/Makefile new file mode 100644 index 00000000000..d9fbf0abec1 --- /dev/null +++ b/src/interfaces/Makefile @@ -0,0 +1,47 @@ +#------------------------------------------------------------------------- +# +# Makefile for src/interfaces +# +# Copyright (c) 1994, Regents of the University of California +# +# $Header: /cvsroot/pgsql/src/interfaces/Makefile,v 1.40 2000/06/28 18:29:35 petere Exp $ +# +#------------------------------------------------------------------------- + +subdir = src/interfaces +top_builddir = ../.. +include ../Makefile.global + +DIRS := libpq ecpg libpgeasy + +ALLDIRS := $(DIRS) odbc libpq++ libpgtcl perl5 python + +ifeq ($(enable_odbc), yes) +DIRS += odbc +endif + +ifeq ($(with_CXX), yes) +DIRS += libpq++ +endif + +ifeq ($(USE_TCL), true) +DIRS += libpgtcl +endif + +ifeq ($(with_perl), yes) +DIRS += perl5 +endif + +ifeq ($(with_python), yes) +DIRS += python +endif + + +all install installdirs uninstall dep depend: + @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit 1; done + +clean: + @for dir in $(DIRS); do $(MAKE) -C $$dir $@; done + +distclean maintainer-clean: clean + @for dir in $(ALLDIRS); do $(MAKE) -C $$dir $@; done diff --git a/src/interfaces/Makefile.in b/src/interfaces/Makefile.in deleted file mode 100644 index 3752b4d51a1..00000000000 --- a/src/interfaces/Makefile.in +++ /dev/null @@ -1,64 +0,0 @@ -#------------------------------------------------------------------------- -# -# Makefile for src/interfaces -# -# Copyright (c) 1994, Regents of the University of California -# -# $Header: /cvsroot/pgsql/src/interfaces/Attic/Makefile.in,v 1.4 2000/06/20 16:39:54 petere Exp $ -# -#------------------------------------------------------------------------- - -srcdir = @srcdir@ -VPATH = @srcdir@ - -top_srcdir = @top_srcdir@ -top_builddir = ../.. -subdir = src/interfaces - -USE_TCL = @USE_TCL@ -enable_odbc = @enable_odbc@ -with_CXX = @with_CXX@ -with_perl = @with_perl@ -with_python = @with_python@ - -all install clean dep depend: - $(MAKE) -C libpq $@ - $(MAKE) -C ecpg $@ -ifeq ($(with_CXX), yes) - $(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 ($(enable_odbc), yes) - $(MAKE) -C odbc $@ -endif - -distclean maintainer-clean: clean - -$(MAKE) -C perl5 $@ - -$(MAKE) -C python $@ - -$(MAKE) -C odbc $@ - rm -f Makefile \ - libpq/Makefile \ - ecpg/lib/Makefile \ - ecpg/preproc/Makefile \ - libpq++/Makefile \ - libpgeasy/Makefile \ - libpgtcl/Makefile - - -.PHONY: all install dep depend clean distclean maintainer-clean - - -Makefile: Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status - -$(top_builddir)/config.status: $(top_srcdir)/configure - cd $(top_builddir) && ./config.status --recheck diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile index 029b3baa62a..fb537e671bb 100644 --- a/src/interfaces/ecpg/Makefile +++ b/src/interfaces/ecpg/Makefile @@ -1,4 +1,13 @@ -all install uninstall clean dep depend: +subdir = src/interfaces/ecpg +top_builddir = ../../.. +include ../../Makefile.global + +all install installdirs uninstall dep depend: $(MAKE) -C include $@ $(MAKE) -C lib $@ $(MAKE) -C preproc $@ + +clean distclean maintainer-clean: + -$(MAKE) -C include $@ + -$(MAKE) -C lib $@ + -$(MAKE) -C preproc $@ diff --git a/src/interfaces/ecpg/include/Makefile b/src/interfaces/ecpg/include/Makefile index 6ab79fd856b..3d36e878eb2 100644 --- a/src/interfaces/ecpg/include/Makefile +++ b/src/interfaces/ecpg/include/Makefile @@ -1,22 +1,16 @@ -# Generated automatically from Makefile.in by configure. -SRCDIR= ../../.. -include $(SRCDIR)/Makefile.global +subdir = src/interfaces/ecpg/include +top_builddir = ../../../.. +include ../../../Makefile.global -all clean:: - @echo Nothing to be done. +install: all installdirs install-headers -install:: - $(INSTALL) $(INSTLOPTS) ecpgerrno.h $(HEADERDIR) - $(INSTALL) $(INSTLOPTS) ecpglib.h $(HEADERDIR) - $(INSTALL) $(INSTLOPTS) ecpgtype.h $(HEADERDIR) - $(INSTALL) $(INSTLOPTS) sqlca.h $(HEADERDIR) - $(INSTALL) $(INSTLOPTS) sql3types.h $(HEADERDIR) +.PHONY: install-headers +ecpg_headers = ecpgerrno.h ecpglib.h ecpgtype.h sqlca.h sql3types.h +install-headers: $(ecpg_headers) + for i in $^; do $(INSTALL_DATA) $$i $(includedir); done -uninstall:: - rm -f $(HEADERDIR)/ecpgerrno.h - rm -f $(HEADERDIR)/ecpglib.h - rm -f $(HEADERDIR)/ecpgtype.h - rm -f $(HEADERDIR)/sqlca.h - rm -f $(HEADERDIR)/sql3types.h +installdirs: + $(mkinstalldirs) $(includedir) -dep depend: +uninstall: + rm -f $(addprefix $(includedir)/, $(ecpg_headers)) diff --git a/src/interfaces/ecpg/lib/Makefile b/src/interfaces/ecpg/lib/Makefile new file mode 100644 index 00000000000..a21a3c854f5 --- /dev/null +++ b/src/interfaces/ecpg/lib/Makefile @@ -0,0 +1,47 @@ +#------------------------------------------------------------------------- +# +# Makefile for ecpg library +# +# Copyright (c) 1994, Regents of the University of California +# +# $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/Makefile,v 1.6 2000/06/28 18:29:39 petere Exp $ +# +#------------------------------------------------------------------------- + +subdir = src/interfaces/ecpg/lib +top_builddir = ../../../.. +include ../../../Makefile.global + +NAME= ecpg +SO_MAJOR_VERSION= 3 +SO_MINOR_VERSION= 1.1 + +CFLAGS+= -I$(top_srcdir)/src/interfaces/ecpg/include -I$(LIBPQDIR) + + +OBJS= execute.o typename.o descriptor.o data.o error.o prepare.o memory.o \ + connect.o misc.o + +SHLIB_LINK= $(LIBPQ) + +all: all-lib + +# Shared library stuff +include $(top_srcdir)/src/Makefile.shlib + +install: all installdirs install-lib + +installdirs: + $(mkinstalldirs) $(libdir) + +uninstall: uninstall-lib + +clean distclean maintainer-clean: clean-lib + rm -f $(OBJS) + +depend dep: + $(CC) -MM $(CFLAGS) *.c >depend + +ifeq (depend,$(wildcard depend)) +include depend +endif diff --git a/src/interfaces/ecpg/lib/Makefile.in b/src/interfaces/ecpg/lib/Makefile.in deleted file mode 100644 index b0fbf2d9a91..00000000000 --- a/src/interfaces/ecpg/lib/Makefile.in +++ /dev/null @@ -1,46 +0,0 @@ -#------------------------------------------------------------------------- -# -# Makefile -# Makefile for ecpg library -# -# Copyright (c) 1994, Regents of the University of California -# -# IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/Makefile.in,v 1.68 2000/06/17 00:09:59 petere Exp $ -# -#------------------------------------------------------------------------- - -NAME= ecpg -SO_MAJOR_VERSION= 3 -SO_MINOR_VERSION= 1.1 - -SRCDIR= ../../.. -include $(SRCDIR)/Makefile.global - -CFLAGS+= -I../include -I$(LIBPQDIR) - - -OBJS= execute.o typename.o descriptor.o data.o error.o prepare.o memory.o \ - connect.o misc.o - -SHLIB_LINK= $(LIBPQ) - -# Shared library stuff, also default 'all' target -include $(SRCDIR)/Makefile.shlib - - -.PHONY: install - -install: install-lib $(install-shlib-dep) - -.PHONY: clean - -clean: clean-shlib - rm -f lib$(NAME).a $(OBJS) - -depend dep: - $(CC) -MM $(CFLAGS) *.c >depend - -ifeq (depend,$(wildcard depend)) -include depend -endif diff --git a/src/interfaces/ecpg/preproc/Makefile b/src/interfaces/ecpg/preproc/Makefile new file mode 100644 index 00000000000..9c23780ab4b --- /dev/null +++ b/src/interfaces/ecpg/preproc/Makefile @@ -0,0 +1,66 @@ +subdir = src/interfaces/ecpg/preproc +top_builddir = ../../../.. +include ../../../Makefile.global + +MAJOR_VERSION=2 +MINOR_VERSION=7 +PATCHLEVEL=1 + +CFLAGS+=-I../include -DMAJOR_VERSION=$(MAJOR_VERSION) \ + -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL) \ + -DINCLUDE_PATH=\"$(includedir)\" + +OBJS=preproc.o pgc.o type.o ecpg.o ecpg_keywords.o output.o\ + keywords.o c_keywords.o ../lib/typename.o descriptor.o variable.o + +all: ecpg + +ifdef SNPRINTF +OBJS+=$(top_builddir)/src/backend/port/snprintf.o + +$(top_builddir)/src/backend/port/snprintf.o: + $(MAKE) -C $(top_builddir)/src/backend/port snprintf.o +endif + + +ecpg: $(OBJS) + $(CC) -o $@ $^ $(LDFLAGS) + +$(srcdir)/preproc.c $(srcdir)/preproc.h: preproc.y + $(YACC) -d $(YFLAGS) $< + mv y.tab.c $(srcdir)/preproc.c + mv y.tab.h $(srcdir)/preproc.h + +$(srcdir)/pgc.c: pgc.l + $(LEX) $(LFLAGS) $< + mv lex.yy.c $@ + +install: all installdirs + $(INSTALL_PROGRAM) ecpg$(X) $(bindir) + +installdirs: + $(mkinstalldirs) $(bindir) + +uninstall: + rm -f $(bindir)/ecpg$(X) + +clean distclean: + rm -f *.o ecpg$(X) +# garbage from partial builds + rm -f y.tab.c y.tab.h lex.yy.c +# garbage from development + @rm -f core a.out *~ *.output *.tab.c + +# `make clean' does not remove preproc.c, preproc.h, or pgc.c since we +# want to ship those files in the distribution for people with +# inadequate tools. +maintainer-clean: distclean + rm -f $(srcdir)/preproc.c $(srcdir)/preproc.h $(srcdir)/pgc.c + + +depend dep: preproc.c pgc.c + $(CC) -MM $(CFLAGS) *.c >depend + +ifeq (depend,$(wildcard depend)) +include depend +endif diff --git a/src/interfaces/ecpg/preproc/Makefile.in b/src/interfaces/ecpg/preproc/Makefile.in deleted file mode 100644 index 9d5aea9b700..00000000000 --- a/src/interfaces/ecpg/preproc/Makefile.in +++ /dev/null @@ -1,55 +0,0 @@ -SRCDIR= ../../.. -include $(SRCDIR)/Makefile.global - -MAJOR_VERSION=2 -MINOR_VERSION=7 -PATCHLEVEL=1 - -CFLAGS+=-I../include -DMAJOR_VERSION=$(MAJOR_VERSION) \ - -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL) \ - -DINCLUDE_PATH=\"$(HEADERDIR)\" - -OBJS=preproc.o pgc.o type.o ecpg.o ecpg_keywords.o output.o\ - keywords.o c_keywords.o ../lib/typename.o descriptor.o variable.o - -all:: ecpg - -ifneq (@SNPRINTF@,) -OBJS+=$(SRCDIR)/backend/port/snprintf.o - -$(SRCDIR)/backend/port/snprintf.o: - $(MAKE) -C $(SRCDIR)/backend/port snprintf.o -endif - -# Rule that really do something. -ecpg: $(OBJS) - $(CC) -o ecpg $(OBJS) $(LEXLIB) $(LDFLAGS) - -preproc.c preproc.h: preproc.y - $(YACC) -d $(YFLAGS) $< - mv y.tab.c preproc.c - mv y.tab.h preproc.h - -pgc.c: pgc.l - $(LEX) $(LFLAGS) $< - mv lex.yy.c pgc.c - -clean: - rm -f *.o core a.out ecpg$(X) *~ *.output *.tab.c -# And the garbage that might have been left behind by partial build: - rm -f y.tab.c y.tab.h lex.yy.c -# make clean does not remove preproc.c, preproc.h, pgc.c since we want -# to ship those files in the distribution, for people with inadequate tools. - -install: all - $(INSTALL) $(INSTL_EXE_OPTS) ecpg$(X) $(BINDIR) - -uninstall: - rm -f $(BINDIR)/ecpg - -depend dep: preproc.c pgc.c - $(CC) -MM $(CFLAGS) *.c >depend - -ifeq (depend,$(wildcard depend)) -include depend -endif diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index aa741fd5929..260a57cc21e 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.59 2000/06/14 18:17:54 petere Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.60 2000/06/28 18:29:40 petere Exp $ * *------------------------------------------------------------------------- */ @@ -36,6 +36,8 @@ #undef yywrap #endif /* yywrap */ +#define YY_NO_UNPUT + extern YYSTYPE yylval; /* diff --git a/src/interfaces/libpgeasy/Makefile.in b/src/interfaces/libpgeasy/Makefile index 6e49dc3626d..fdc64459746 100644 --- a/src/interfaces/libpgeasy/Makefile.in +++ b/src/interfaces/libpgeasy/Makefile @@ -1,20 +1,21 @@ #------------------------------------------------------------------------- # -# Makefile -# Makefile for pgeasy library +# Makefile for src/interfaces/libpgeasy # -# IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpgeasy/Attic/Makefile.in,v 1.8 2000/06/17 00:10:00 petere Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/libpgeasy/Attic/Makefile,v 1.1 2000/06/28 18:29:41 petere Exp $ # #------------------------------------------------------------------------- +subdir = src/interfaces/libpgeasy +top_builddir = ../../.. +include ../../Makefile.global + + +# shared library parameters NAME= pgeasy SO_MAJOR_VERSION= 2 SO_MINOR_VERSION= 1 -SRCDIR= ../.. -include $(SRCDIR)/Makefile.global - CFLAGS+= -I$(LIBPQDIR) OBJS= libpgeasy.o halt.o @@ -26,22 +27,25 @@ SHLIB_LINK+= $(LIBPQ) # braindead; users of libpq should not need to know what it depends on.) SHLIB_LINK+= $(findstring -lcrypt,$(LIBS)) -# Shared library stuff, also default 'all' target -include $(SRCDIR)/Makefile.shlib +all: all-lib +# Shared library stuff +include $(top_srcdir)/src/Makefile.shlib -.PHONY: install install-headers - -install: install-headers install-lib $(install-shlib-dep) +install: all installdirs install-headers install-lib +.PHONY: install-headers install-headers: libpgeasy.h - -@if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi - $(INSTALL) $(INSTLOPTS) libpgeasy.h $(HEADERDIR)/libpgeasy.h + $(INSTALL_DATA) $< $(includedir)/libpgeasy.h + +installdirs: + $(mkinstalldirs) $(libdir) $(includedir) -.PHONY: clean +uninstall: uninstall-lib + rm -f $(includedir)/libpgeasy.h -clean: clean-shlib - rm -f lib$(NAME).a $(OBJS) +clean distclean maintainer-clean: clean-lib + rm -f $(OBJS) depend dep: $(CC) -MM $(CFLAGS) *.c >depend diff --git a/src/interfaces/libpgtcl/Makefile b/src/interfaces/libpgtcl/Makefile new file mode 100644 index 00000000000..72c53bc2bc0 --- /dev/null +++ b/src/interfaces/libpgtcl/Makefile @@ -0,0 +1,55 @@ +#------------------------------------------------------------------------- +# +# Makefile for libpgtcl library +# +# Copyright (c) 1994, Regents of the University of California +# +# $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/Makefile,v 1.19 2000/06/28 18:29:43 petere Exp $ +# +#------------------------------------------------------------------------- + +subdir = src/interfaces/libpgtcl +top_builddir = ../../.. +include ../../Makefile.global + +NAME= pgtcl +SO_MAJOR_VERSION= 2 +SO_MINOR_VERSION= 1 + +CFLAGS+= -I$(LIBPQDIR) + +OBJS= pgtcl.o pgtclCmds.o pgtclId.o + +SHLIB_LINK+= $(LIBPQ) + +# If crypt is a separate library, rather than part of libc, it may need +# to be referenced separately to keep (broken) linkers happy. (This is +# braindead; users of libpq should not need to know what it depends on.) +SHLIB_LINK+= $(findstring -lcrypt,$(LIBS)) + +all: all-lib + +# Shared library stuff +include $(top_srcdir)/src/Makefile.shlib + +install: all installdirs install-headers install-lib + +.PHONY: install-headers +install-headers: libpgtcl.h + $(INSTALL_DATA) $< $(includedir)/libpgtcl.h + +installdirs: + $(mkinstalldirs) $(libdir) $(includedir) + +uninstall: uninstall-lib + rm -f $(includedir)/libpgtcl.h + +clean distclean maintainer-clean: clean-lib + rm -f $(OBJS) + +depend dep: + $(CC) -MM $(CFLAGS) *.c >depend + +ifeq (depend,$(wildcard depend)) +include depend +endif diff --git a/src/interfaces/libpgtcl/Makefile.in b/src/interfaces/libpgtcl/Makefile.in deleted file mode 100644 index 1a7bcf8e80d..00000000000 --- a/src/interfaces/libpgtcl/Makefile.in +++ /dev/null @@ -1,60 +0,0 @@ -#------------------------------------------------------------------------- -# -# Makefile -# Makefile for libpgtcl library -# -# Copyright (c) 1994, Regents of the University of California -# -# IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/Makefile.in,v 1.44 2000/06/17 00:10:05 petere Exp $ -# -#------------------------------------------------------------------------- - -NAME= pgtcl -SO_MAJOR_VERSION= 2 -SO_MINOR_VERSION= 1 - -SRCDIR= ../.. -include $(SRCDIR)/Makefile.global - -CFLAGS+= -I$(LIBPQDIR) - -OBJS= pgtcl.o pgtclCmds.o pgtclId.o - -SHLIB_LINK+= $(LIBPQ) - -# If crypt is a separate library, rather than part of libc, it may need -# to be referenced separately to keep (broken) linkers happy. (This is -# braindead; users of libpq should not need to know what it depends on.) -SHLIB_LINK+= $(findstring -lcrypt,$(LIBS)) - -# Shared library stuff, also default 'all' target -include $(SRCDIR)/Makefile.shlib - -.PHONY: install beforeinstall-headers install-headers - -install: install-headers install-lib $(install-shlib-dep) - -install-headers: beforeinstall-headers libpgtcl.h - $(INSTALL) $(INSTLOPTS) libpgtcl.h $(HEADERDIR)/libpgtcl.h - -beforeinstall-headers: - -@if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi - -Makefile.tcldefs: mkMakefile.tcldefs.sh - /bin/sh mkMakefile.tcldefs.sh - -Makefile.tkdefs: mkMakefile.tkdefs.sh - /bin/sh mkMakefile.tkdefs.sh - -.PHONY: clean - -clean: clean-shlib - rm -f lib$(NAME).a $(OBJS) - -depend dep: - $(CC) -MM $(CFLAGS) *.c >depend - -ifeq (depend,$(wildcard depend)) -include depend -endif diff --git a/src/interfaces/libpq++/Makefile b/src/interfaces/libpq++/Makefile new file mode 100644 index 00000000000..44c008fb7c2 --- /dev/null +++ b/src/interfaces/libpq++/Makefile @@ -0,0 +1,80 @@ +#------------------------------------------------------------------------- +# +# Makefile for libpq++ library +# +# Copyright (c) 1994, Regents of the University of California +# +# $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/Makefile,v 1.22 2000/06/28 18:29:48 petere Exp $ +# +#------------------------------------------------------------------------- + +subdir = src/interfaces/libpq++ +top_builddir = ../../.. +include ../../Makefile.global + +NAME= pq++ +SO_MAJOR_VERSION= 3 +SO_MINOR_VERSION= 1 + +SRCHEADERDIR = $(top_srcdir)/src/include +CXXFLAGS+= -I$(SRCHEADERDIR) -I$(LIBPQDIR) + +OBJS = pgconnection.o pgdatabase.o pgtransdb.o pgcursordb.o pglobject.o + +ifeq ($(PORTNAME), win) +SHLIB_LINK+= --driver-name g++ $(LIBPQ) +else +SHLIB_LINK= $(LIBPQ) +endif + +# For CC on IRIX, must use CC as linker/archiver of C++ libraries +ifeq ($(PORTNAME), irix5) + ifeq ($(CXX), CC) + AR = CC + AROPT = -ar -o + LD = CC + endif +endif + +all: all-lib + +# Shared library stuff +include $(top_builddir)/src/Makefile.shlib + +# Pull shared-lib CFLAGS into CXXFLAGS +CXXFLAGS+= $(CFLAGS_SL) + + +.PHONY: examples +examples: + $(MAKE) -C examples all + +install: all installdirs install-headers install-lib + +libpqxx_includedir = $(includedir)/libpq++ +MAINHEADER = libpq++.h +LIBPGXXHEADERS = pgconnection.h pgdatabase.h pgtransdb.h pgcursordb.h pglobject.h + +.PHONY: install-headers +install-headers: $(MAINHEADER) $(LIBPGXXHEADERS) + $(INSTALL_DATA) $< $(includedir) + for i in $(LIBPGXXHEADERS); do $(INSTALL_DATA) $(srcdir)/$$i $(libpqxx_includedir) || exit 1; done + +installdirs: + $(mkinstalldirs) $(libdir) $(includedir) $(libpqxx_includedir) + +uninstall: uninstall-lib + rm -f $(includedir)/$(MAINHEADER) + rm -rf $(libpqxx_includedir) + +clean distclean maintainer-clean: clean-lib + rm -f $(OBJS) + -$(MAKE) -C examples clean + + +dep depend: + $(CXX) -MM $(CXXFLAGS) *.cc >depend + +ifeq (depend,$(wildcard depend)) +include depend +endif diff --git a/src/interfaces/libpq++/Makefile.in b/src/interfaces/libpq++/Makefile.in deleted file mode 100644 index d7f0402504c..00000000000 --- a/src/interfaces/libpq++/Makefile.in +++ /dev/null @@ -1,92 +0,0 @@ -#------------------------------------------------------------------------- -# -# Makefile -# Makefile for libpq++ library -# -# Copyright (c) 1994, Regents of the University of California -# -# IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/Makefile.in,v 1.27 2000/06/17 00:10:17 petere Exp $ -# -#------------------------------------------------------------------------- - -NAME= pq++ -SO_MAJOR_VERSION= 3 -SO_MINOR_VERSION= 1 - -SRCDIR= ../.. -include $(SRCDIR)/Makefile.global - -CXX=@CXX@ -CXXFLAGS=@CXXFLAGS@ @INCLUDES@ - -SRCHEADERDIR = $(SRCDIR)/include -LIBPQHEADERDIR = $(SRCHEADERDIR)/libpq - -CXXFLAGS+= -I$(SRCHEADERDIR) -I$(LIBPQDIR) - -OBJS = pgconnection.o pgdatabase.o pgtransdb.o pgcursordb.o pglobject.o - -ifeq ($(PORTNAME), win) -SHLIB_LINK+= --driver-name g++ $(LIBPQ) -else -SHLIB_LINK= $(LIBPQ) -endif - -# For CC on IRIX, must use CC as linker/archiver of C++ libraries -ifeq ($(PORTNAME), irix5) - ifeq ($(CXX), CC) - AR = CC - AROPT = -ar -o - LD = CC - endif -endif - -# Shared library stuff, also default 'all' target -include $(SRCDIR)/Makefile.shlib - - -# Pull shared-lib CFLAGS into CXXFLAGS -CXXFLAGS+= $(CFLAGS_SL) - - -.PHONY: examples -examples: - $(MAKE) -C examples all - -.PHONY: install beforeinstall-headers install-headers - -install: install-headers install-lib $(install-shlib-dep) - -LIBPGXXDIR = libpq++ -LIBPGXXHEADERDIR = $(HEADERDIR)/$(LIBPGXXDIR) -MAINHEADER = libpq++.h -LIBPGXXHEADERS = pgconnection.h \ - pgdatabase.h \ - pgtransdb.h \ - pgcursordb.h \ - pglobject.h - -install-headers: beforeinstall-headers $(MAINHEADER) - @$(INSTALL) $(INSTLOPTS) $(MAINHEADER) $(HEADERDIR)/$(MAINHEADER) - @for i in ${LIBPGXXHEADERS}; do \ - echo "Installing $(LIBPGXXHEADERDIR)/$$i."; \ - $(INSTALL) $(INSTLOPTS) $$i $(LIBPGXXHEADERDIR)/$$i; \ - done - -beforeinstall-headers: - -@if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi - -@if [ ! -d $(LIBPGXXHEADERDIR) ]; then mkdir $(LIBPGXXHEADERDIR); fi - -.PHONY: clean - -clean: clean-shlib - rm -f libpq++.a $(OBJS) - $(MAKE) -C examples clean - -dep depend: - $(CXX) -MM $(CXXFLAGS) *.cc >depend - -ifeq (depend,$(wildcard depend)) -include depend -endif diff --git a/src/interfaces/libpq/Makefile b/src/interfaces/libpq/Makefile new file mode 100644 index 00000000000..8fc0560e6f6 --- /dev/null +++ b/src/interfaces/libpq/Makefile @@ -0,0 +1,88 @@ +#------------------------------------------------------------------------- +# +# Makefile for src/interfaces/libpq library +# +# Copyright (c) 1994, Regents of the University of California +# +# $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.39 2000/06/28 18:29:44 petere Exp $ +# +#------------------------------------------------------------------------- + +subdir = src/interfaces/libpq +top_builddir = ../../.. +include ../../Makefile.global + +# shared library parameters +NAME= pq +SO_MAJOR_VERSION= 2 +SO_MINOR_VERSION= 1 + +CFLAGS+= -DFRONTEND -I$(srcdir) + +OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o \ + pqexpbuffer.o dllist.o pqsignal.o $(SNPRINTF) $(INET_ATON) + +ifdef MULTIBYTE +OBJS+= common.o wchar.o conv.o big5.o +endif + +# If crypt is a separate library, rather than part of libc, +# make sure it gets included in shared libpq. +SHLIB_LINK+= $(findstring -lcrypt, $(LIBS)) + +# Include kerberos libraries into libpq +SHLIB_LINK += $(KRB_LIBS) + +all: all-lib + +# Shared library stuff +include $(top_srcdir)/src/Makefile.shlib + + +# We use several backend modules verbatim, but since we need to +# compile with appropriate options to build a shared lib, we can't +# necessarily use the same object files as the backend uses. Instead, +# symlink the source files in here and build our own object file. + +backend_src = $(top_srcdir)/src/backend + +dllist.c: $(backend_src)/lib/dllist.c + rm -f $@ && $(LN_S) $< . + +# this only gets done if configure finds system doesn't have snprintf() +snprintf.c: $(backend_src)/port/snprintf.c + rm -f $@ && $(LN_S) $< . + +# this only gets done if configure finds system doesn't have inet_aton() +inet_aton.c: $(backend_src)/port/inet_aton.c + rm -f $@ && $(LN_S) $< . + +ifdef MULTIBYTE +common.c wchar.c conv.c big5.c: % : $(backend_src)/utils/mb/% + rm -f $@ && $(LN_S) $< . +endif + + +install: all installdirs install-headers install-lib + +.PHONY: install-headers +install-headers: libpq-fe.h libpq-int.h pqexpbuffer.h + $(INSTALL_DATA) $(srcdir)/libpq-fe.h $(includedir) + $(INSTALL_DATA) $(srcdir)/libpq-int.h $(includedir) + $(INSTALL_DATA) $(srcdir)/pqexpbuffer.h $(includedir) + +installdirs: + $(mkinstalldirs) $(libdir) $(includedir) + +uninstall: uninstall-lib + rm -f $(addprefix $(includedir)/, libpq-fe.h libpq-int.h pqexpbuffer.h) + +clean distclean maintainer-clean: clean-lib + rm -f $(OBJS) dllist.c snprintf.c inet_aton.c common.c wchar.c conv.c big5.c + +depend dep: + $(CC) -MM $(CFLAGS) *.c >depend + +ifeq (depend,$(wildcard depend)) +include depend +endif diff --git a/src/interfaces/libpq/Makefile.in b/src/interfaces/libpq/Makefile.in deleted file mode 100644 index 7b5bb61adc2..00000000000 --- a/src/interfaces/libpq/Makefile.in +++ /dev/null @@ -1,94 +0,0 @@ -#------------------------------------------------------------------------- -# -# Makefile -# Makefile for libpq library -# -# Copyright (c) 1994, Regents of the University of California -# -# IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpq/Attic/Makefile.in,v 1.60 2000/06/17 00:10:09 petere Exp $ -# -#------------------------------------------------------------------------- - -NAME= pq -SO_MAJOR_VERSION= 2 -SO_MINOR_VERSION= 1 - -SRCDIR= ../.. -include $(SRCDIR)/Makefile.global - -CFLAGS+= -DFRONTEND - -OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o \ - pqexpbuffer.o dllist.o pqsignal.o @SNPRINTF@ @INET_ATON@ - -ifdef MULTIBYTE -OBJS+= common.o wchar.o conv.o big5.o -endif - -# If crypt is a separate library, rather than part of libc, -# make sure it gets included in shared libpq. -SHLIB_LINK+= $(findstring -lcrypt,$(LIBS)) - -# Include kerberos libraries into libpq -SHLIB_LINK += $(KRB_LIBS) - - -# Shared library stuff, also default 'all' target -include $(SRCDIR)/Makefile.shlib - - -# We use several backend modules verbatim, but since we need to compile -# with appropriate options to build a shared lib, we can't necessarily -# use the same object files as the backend uses. Instead, symlink the -# source files in here and build our own object file. - -dllist.c: $(SRCDIR)/backend/lib/dllist.c - -$(LN_S) $(SRCDIR)/backend/lib/dllist.c . - -# this only gets done if configure finds system doesn't have snprintf() -snprintf.c: $(SRCDIR)/backend/port/snprintf.c - -$(LN_S) $(SRCDIR)/backend/port/snprintf.c . - -# this only gets done if configure finds system doesn't have inet_aton() -inet_aton.c: $(SRCDIR)/backend/port/inet_aton.c - -$(LN_S) $(SRCDIR)/backend/port/inet_aton.c . - -ifdef MULTIBYTE -common.c: $(SRCDIR)/backend/utils/mb/common.c - -$(LN_S) $(SRCDIR)/backend/utils/mb/common.c . - -wchar.c: $(SRCDIR)/backend/utils/mb/wchar.c - -$(LN_S) $(SRCDIR)/backend/utils/mb/wchar.c . - -conv.c: $(SRCDIR)/backend/utils/mb/conv.c - -$(LN_S) $(SRCDIR)/backend/utils/mb/conv.c . - -big5.c: $(SRCDIR)/backend/utils/mb/big5.c - -$(LN_S) $(SRCDIR)/backend/utils/mb/big5.c . -endif - - -.PHONY: install install-headers - -install: install-headers install-lib $(install-shlib-dep) - -install-headers: libpq-fe.h libpq-int.h - -@if [ ! -d $(HEADERDIR) ]; then mkdir $(HEADERDIR); fi - $(INSTALL) $(INSTLOPTS) libpq-fe.h $(HEADERDIR)/libpq-fe.h - $(INSTALL) $(INSTLOPTS) libpq-int.h $(HEADERDIR)/libpq-int.h - $(INSTALL) $(INSTLOPTS) pqexpbuffer.h $(HEADERDIR)/pqexpbuffer.h - - -.PHONY: clean - -clean: clean-shlib - rm -f lib$(NAME).a $(OBJS) - rm -f dllist.c snprintf.c inet_aton.c common.c wchar.c conv.c big5.c - -depend dep: - $(CC) -MM $(CFLAGS) *.c >depend - -ifeq (depend,$(wildcard depend)) -include depend -endif diff --git a/src/interfaces/odbc/GNUmakefile b/src/interfaces/odbc/GNUmakefile new file mode 100644 index 00000000000..29c5a12542a --- /dev/null +++ b/src/interfaces/odbc/GNUmakefile @@ -0,0 +1,62 @@ +#------------------------------------------------------------------------- +# +# GNUMakefile for psqlodbc (Postgres ODBC driver) +# +# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile,v 1.1 2000/06/28 18:29:54 petere Exp $ +# +#------------------------------------------------------------------------- + +subdir = src/interfaces/odbc +top_builddir = ../../.. +include ../../Makefile.global + +# Shared library parameters +NAME = psqlodbc +SO_MAJOR_VERSION = 0 +SO_MINOR_VERSION = 26 + +CFLAGS += -I$(srcdir) -DHAVE_CONFIG_H -DODBCINSTDIR='"$(odbcinst_ini_dir)"' + + +OBJS = info.o bind.o columninfo.o connection.o convert.o drvconn.o \ + environ.o execute.o lobj.o misc.o options.o \ + pgtypes.o psqlodbc.o qresult.o results.o socket.o parse.o statement.o \ + gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX) + +SHLIB_LINK= $(LD_FLAGS) + +all: all-lib + +# Shared library stuff +include $(top_srcdir)/src/Makefile.shlib + +LDFLAGS_SL+= $(LDFLAGS_ODBC) + +odbc_headers = isql.h isqlext.h iodbc.h +odbc_includedir = $(includedir)/iodbc + +install: all installdirs install-headers install-ini install-lib + +installdirs: + $(mkinstalldirs) $(odbc_includedir) $(libdir) $(odbcinst_ini_dir) + +.PHONY: install-headers +install-headers: $(odbc_headers) + for i in $^; do $(INSTALL_DATA) $$i $(odbc_includedir) || exit 1; done + +.PHONY: install-ini +install-ini: odbcinst.ini + $(INSTALL_DATA) $< $(odbcinst_ini_dir) + +uninstall: uninstall-lib + rm -f $(addprefix $(odbc_includedir)/, $(odbc_headers)) + +clean distclean maintainer-clean: clean-lib + rm -f $(OBJS) + +depend dep: + $(CC) -MM $(CFLAGS) *.c >depend + +ifeq (depend,$(wildcard depend)) +include depend +endif diff --git a/src/interfaces/odbc/GNUmakefile.in b/src/interfaces/odbc/GNUmakefile.in deleted file mode 100644 index d62249353a2..00000000000 --- a/src/interfaces/odbc/GNUmakefile.in +++ /dev/null @@ -1,77 +0,0 @@ -#------------------------------------------------------------------------- -# -# GNUMakefile.in for psqlodbc (Postgres ODBC driver). -# -# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile.in,v 1.17 2000/06/20 16:39:57 petere Exp $ -# -#------------------------------------------------------------------------- - -srcdir = @srcdir@ -VPATH = @srcdir@ -top_srcdir = @top_srcdir@ -top_builddir = ../../.. -subdir = src/interfaces/odbc - -mkinstalldirs = @mkinstalldirs@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -prefix = @prefix@ -datadir = @datadir@ -odbcinst_ini_dir = @odbcinst_ini_dir@ -includedir = @includedir@ - -# Shared library parameters -NAME = psqlodbc -SO_MAJOR_VERSION = 0 -SO_MINOR_VERSION = 26 - - -SRCDIR= $(top_srcdir)/src -include $(SRCDIR)/Makefile.global - -CFLAGS += -I. @DEFS@ -DODBCINSTDIR='"$(odbcinst_ini_dir)"' - - -OBJS = info.o bind.o columninfo.o connection.o convert.o drvconn.o \ - environ.o execute.o lobj.o misc.o options.o \ - pgtypes.o psqlodbc.o qresult.o results.o socket.o parse.o statement.o \ - gpps.o tuple.o tuplelist.o dlg_specific.o - - -# Shared library stuff, also default 'all' target -include $(SRCDIR)/Makefile.shlib - -install: all installdirs install-headers install-ini install-lib $(install-shlib-dep) - -installdirs: - $(mkinstalldirs) $(includedir)/iodbc $(LIBDIR) $(odbcinst_ini_dir) - -install-headers: isql.h isqlext.h iodbc.h - $(INSTALL_DATA) $^ $(includedir)/iodbc/ - -install-ini: odbcinst.ini - $(INSTALL_DATA) odbcinst.ini $(odbcinst_ini_dir) - -clean: clean-shlib - rm -f lib$(NAME).a $(OBJS) - -distclean maintainer-clean: clean - rm -f GNUmakefile - - -depend dep: - $(CC) -MM $(CFLAGS) *.c >depend - -ifeq (depend,$(wildcard depend)) -include depend -endif - -.PHONY: all install installdirs install-headers install-lib install-ini clean distclean maintainer-clean - - -GNUmakefile: GNUmakefile.in $(top_builddir)/config.status - cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status - -$(top_builddir)/config.status: $(top_srcdir)/configure - cd $(top_builddir) && ./config.status --recheck diff --git a/src/interfaces/perl5/GNUmakefile.in b/src/interfaces/perl5/GNUmakefile index 29bd818ee66..ae40e85f38e 100644 --- a/src/interfaces/perl5/GNUmakefile.in +++ b/src/interfaces/perl5/GNUmakefile @@ -1,23 +1,14 @@ # 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 +# Makefile according to its 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 $ +# $Header: /cvsroot/pgsql/src/interfaces/perl5/Attic/GNUmakefile,v 1.1 2000/06/28 18:29:56 petere Exp $ -srcdir = @srcdir@ -VPATH = @srcdir@ - -top_srcdir = @top_srcdir@ +subdir = src/interfaces/perl5 top_builddir = ../../.. - -PERL = @PERL@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -libdir = @libdir@ -includedir = @includedir@ +include ../../Makefile.global all: Makefile libpq-all @@ -26,6 +17,7 @@ all: Makefile libpq-all Makefile: Makefile.PL $(PERL) $< POLLUTE=1 +.PHONY: libpq-all libpq-all: $(MAKE) -C $(top_builddir)/src/interfaces/libpq all @@ -39,7 +31,7 @@ libpq-all: # purer alternative would naturally be the ability to select the # installation directory somewhere. -install: Makefile libpq-install +install: Makefile $(MAKE) -f Makefile clean POSTGRES_LIB="$(libdir)" \ POSTGRES_INCLUDE="$(includedir)" \ @@ -56,16 +48,17 @@ install: Makefile libpq-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 +uninstall: + @echo "*****"; \ + echo "* The Perl module cannot be uninstalled automatically. You can"; \ + echo "* change into the directory "`pwd`" and do"; \ + echo "*"; \ + echo "* $(MAKE) -f Makefile realclean"; \ + echo "*"; \ + echo "* to delete built and installed files."; \ + echo "*****" -.PHONY: all install clean distclean maintainer-clean libpq-all libpq-install +clean distclean maintainer-clean: + -[ -f Makefile ] && $(MAKE) -f Makefile clean + rm -f Makefile Makefile.old diff --git a/src/interfaces/python/GNUmakefile.in b/src/interfaces/python/GNUmakefile index 2dd40954e3d..1917c75c49e 100644 --- a/src/interfaces/python/GNUmakefile.in +++ b/src/interfaces/python/GNUmakefile @@ -1,38 +1,21 @@ #------------------------------------------------------------------- # -# Makefile for src/interfaces/python, a.k.a. "PyGreSQL" +# GNUmakefile 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 $ +# $Header: /cvsroot/pgsql/src/interfaces/python/Attic/GNUmakefile,v 1.1 2000/06/28 18:30:07 petere Exp $ # #------------------------------------------------------------------- -srcdir = @srcdir@ -VPATH = @srcdir@ - -top_srcdir = @top_srcdir@ +subdir = src/interfaces/python 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@ - +include ../../Makefile.global all: Makefile pgmodule.c libpq-all $(MAKE) -f Makefile +.PHONY: libpq-all libpq-all: $(MAKE) -C $(top_builddir)/src/interfaces/libpq all @@ -60,15 +43,15 @@ install: all echo "*****"; \ fi +uninstall: + @echo "*****"; \ + echo "* Unfortunately, the Python interface module cannot be uninstalled"; \ + echo "* automatically. To do it yourself, look in or near the directory"; \ + echo "* \`$(python_moduledir)' for files \`pg.py' and \`_pgmodule$(DLSUFFIX)'."; \ + echo "*****" # Python sometimes has a different idea what exactly "clean" is. -clean: +clean distclean maintainer-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 |