-subdir = contrib/btree_gist
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
 MODULE_big  = btree_gist
 
 OBJS        = btree_gist.o btree_utils_num.o btree_utils_var.o btree_int2.o btree_int4.o btree_int8.o \
 REGRESS     = init int2 int4 int8 float4 float8 cash oid timestamp timestamptz time timetz \
               date interval macaddr inet cidr text varchar char bytea bit varbit numeric
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/btree_gist
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/chkpass/Makefile,v 1.5 2003/11/29 19:51:19 pgsql Exp $
-
-subdir = contrib/chkpass
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/chkpass/Makefile,v 1.6 2004/08/20 20:13:02 momjian Exp $
 
 MODULE_big = chkpass
 OBJS = chkpass.o
 DATA_built = chkpass.sql
 DOCS = README.chkpass
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/chkpass
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/cube/Makefile,v 1.11 2003/11/29 19:51:21 pgsql Exp $
-
-subdir = contrib/cube
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/cube/Makefile,v 1.12 2004/08/20 20:13:02 momjian Exp $
 
 MODULE_big = cube
 OBJS= cube.o cubeparse.o
 DOCS = README.cube
 REGRESS = cube
 
+EXTRA_CLEAN = cubeparse.c cubeparse.h cubescan.c y.tab.c y.tab.h
+
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/cube
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+include $(top_srcdir)/contrib/contrib-global.mk
+endif
+
 
 # cubescan is compiled as part of cubeparse
 cubeparse.o: cubescan.c
 else
        @$(missing) flex $< $@
 endif
-
-EXTRA_CLEAN = cubeparse.c cubeparse.h cubescan.c y.tab.c y.tab.h
-
-
-include $(top_srcdir)/contrib/contrib-global.mk
 
-# $PostgreSQL: pgsql/contrib/dbase/Makefile,v 1.5 2003/11/29 19:51:22 pgsql Exp $
-
-subdir = contrib/dbase
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/dbase/Makefile,v 1.6 2004/08/20 20:13:02 momjian Exp $
 
 PROGRAM = dbf2pg
 OBJS   = dbf.o dbf2pg.o endian.o
 DOCS = README.dbf2pg
 MAN = dbf2pg.1                 # XXX not implemented
 
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/dbase
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/dblink/Makefile,v 1.8 2003/11/29 19:51:34 pgsql Exp $
-
-subdir = contrib/dblink
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/dblink/Makefile,v 1.9 2004/08/20 20:13:03 momjian Exp $
 
 MODULE_big = dblink
 PG_CPPFLAGS = -I$(libpq_srcdir)
 DOCS = README.dblink
 REGRESS = dblink
 
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/dblink
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/dbmirror/Makefile,v 1.2 2003/11/29 19:51:34 pgsql Exp $
-
-subdir = contrib/dbmirror
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/dbmirror/Makefile,v 1.3 2004/08/20 20:13:03 momjian Exp $
 
 MODULES = pending
 DOCS = README.dbmirror
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/dbmirror
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-subdir = contrib/dbsize
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
 MODULES = dbsize
 DATA_built = dbsize.sql
 DOCS = README.dbsize
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/dbsize
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/earthdistance/Makefile,v 1.13 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/earthdistance
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/earthdistance/Makefile,v 1.14 2004/08/20 20:13:03 momjian Exp $
 
 MODULES = earthdistance
 DATA_built = earthdistance.sql
 DOCS = README.earthdistance
 REGRESS = earthdistance
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/earthdistance
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/findoidjoins/Makefile,v 1.15 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/findoidjoins
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/findoidjoins/Makefile,v 1.16 2004/08/20 20:13:03 momjian Exp $
 
 PROGRAM = findoidjoins
 OBJS   = findoidjoins.o
 SCRIPTS = make_oidjoins_check
 DOCS = README.findoidjoins
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/findoidjoins
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/fulltextindex/Makefile,v 1.12 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/fulltextindex
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/fulltextindex/Makefile,v 1.13 2004/08/20 20:13:04 momjian Exp $
 
 MODULES = fti
 DATA_built = fti.sql
 DOCS = README.fti
 SCRIPTS = fti.pl
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/fulltextindex
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/fuzzystrmatch/Makefile,v 1.4 2004/07/01 03:25:48 joe Exp $
-
-subdir = contrib/fuzzystrmatch
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/fuzzystrmatch/Makefile,v 1.5 2004/08/20 20:13:04 momjian Exp $
 
 MODULE_big = fuzzystrmatch
 SRCS += fuzzystrmatch.c dmetaphone.c
 DATA_built = fuzzystrmatch.sql
 DOCS = README.fuzzystrmatch README.soundex
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/fuzzystrmatch
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
 # Makefile for integer aggregator
 # Copyright (C) 2001 Digital Music Network.
 # by Mark L. Woodward
-# $PostgreSQL: pgsql/contrib/intagg/Makefile,v 1.4 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/intagg
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/intagg/Makefile,v 1.5 2004/08/20 20:13:04 momjian Exp $
 
 MODULES = int_aggregate
 DATA_built = int_aggregate.sql
 DOCS = README.int_aggregate
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/intagg
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/intarray/Makefile,v 1.10 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/intarray
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/intarray/Makefile,v 1.11 2004/08/20 20:13:04 momjian Exp $
 
 MODULE_big = _int
 OBJS = _int_bool.o _int_gist.o _int_op.o _int_tool.o _intbig_gist.o 
 DOCS = README.intarray
 REGRESS = _int
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/intarray
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/isbn_issn/Makefile,v 1.12 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/isbn_issn
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/isbn_issn/Makefile,v 1.13 2004/08/20 20:13:04 momjian Exp $
 
 MODULES = isbn_issn
 DATA_built = isbn_issn.sql
 DOCS = README.isbn_issn
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/isbn_issn
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/lo/Makefile,v 1.12 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/lo
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/lo/Makefile,v 1.13 2004/08/20 20:13:05 momjian Exp $
 
 MODULES = lo
 DATA_built = lo.sql
 DATA = lo_drop.sql lo_test.sql
 DOCS = README.lo
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/lo
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-subdir = contrib/ltree
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
 PG_CPPFLAGS = -DLOWER_NODE
 MODULE_big = ltree
 OBJS =         ltree_io.o ltree_op.o lquery_op.o _ltree_op.o crc32.o \
 DOCS = README.ltree
 REGRESS = ltree
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/ltree
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
 #
-# $PostgreSQL: pgsql/contrib/mSQL-interface/Makefile,v 1.8 2003/11/29 19:51:35 pgsql Exp $
+# $PostgreSQL: pgsql/contrib/mSQL-interface/Makefile,v 1.9 2004/08/20 20:13:05 momjian Exp $
 #
 
+NAME   = mpgsql
+SO_MAJOR_VERSION = 0
+SO_MINOR_VERSION = 0
+OBJS   = mpgsql.o
+
+PG_CPPFLAGS = -I$(libpq_srcdir)
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
 subdir = contrib/mSQL-interface
 top_builddir = ../..
 include $(top_builddir)/src/Makefile.global
-
-NAME   := mpgsql
-SO_MAJOR_VERSION := 0
-SO_MINOR_VERSION := 0
-OBJS   := mpgsql.o
-
-override CPPFLAGS := -I$(libpq_srcdir) $(CPPFLAGS)
-
-include $(top_srcdir)/src/Makefile.shlib
+include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
 all: all-lib
 
 
-# $PostgreSQL: pgsql/contrib/miscutil/Makefile,v 1.17 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/miscutil
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/miscutil/Makefile,v 1.18 2004/08/20 20:13:05 momjian Exp $
 
 MODULES = misc_utils
 DATA_built = misc_utils.sql
 DOCS = README.misc_utils
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/miscutil
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/noupdate/Makefile,v 1.10 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/noupdate
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/noupdate/Makefile,v 1.11 2004/08/20 20:13:05 momjian Exp $
 
 MODULES = noup
 DATA_built = noup.sql
 DOCS = README.noup
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/noupdate
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/oid2name/Makefile,v 1.5 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/oid2name
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/oid2name/Makefile,v 1.6 2004/08/20 20:13:05 momjian Exp $
 
 PROGRAM = oid2name
 OBJS   = oid2name.o
 
 DOCS = README.oid2name
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/oid2name
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-
-subdir = contrib/pg_autovacuum
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
 PROGRAM = pg_autovacuum
 OBJS   = pg_autovacuum.o
 
 
 DOCS = README.pg_autovacuum
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/pg_autovacuum
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/pg_dumplo/Makefile,v 1.12 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/pg_dumplo
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/pg_dumplo/Makefile,v 1.13 2004/08/20 20:13:05 momjian Exp $
 
 PROGRAM = pg_dumplo
 OBJS   = main.o lo_export.o lo_import.o utils.o
 
 DOCS = README.pg_dumplo
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/pg_dumplo
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/pg_logger/Makefile,v 1.3 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/pg_logger
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/pg_logger/Makefile,v 1.4 2004/08/20 20:13:06 momjian Exp $
 
 PROGRAM = pg_logger
 OBJS   = pg_logger.o
 
 DOCS = README.pg_logger
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/pg_logger
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-subdir = contrib/pg_trgm
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
 
-
-override CPPFLAGS := -I. $(CPPFLAGS)
+PG_CPPFLAGS = -I.
 
 MODULE_big = pg_trgm
 OBJS = trgm_op.o trgm_gist.o 
 DOCS = README.pg_trgm
 REGRESS = pg_trgm
 
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/pg_trgm
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
+
+
 # DO NOT DELETE
 
 
-# $PostgreSQL: pgsql/contrib/pgbench/Makefile,v 1.11 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/pgbench
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/pgbench/Makefile,v 1.12 2004/08/20 20:13:06 momjian Exp $
 
 PROGRAM = pgbench
 OBJS   = pgbench.o
 
 DOCS = README.pgbench README.pgbench_jis
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/pgbench
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
 #
-# $PostgreSQL: pgsql/contrib/pgcrypto/Makefile,v 1.10 2003/11/29 19:51:35 pgsql Exp $
+# $PostgreSQL: pgsql/contrib/pgcrypto/Makefile,v 1.11 2004/08/20 20:13:06 momjian Exp $
 #
 
-subdir = contrib/pgcrypto
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
 # either 'builtin', 'mhash', 'openssl'
 cryptolib = builtin
 
 CRYPTO_CFLAGS += -DRAND_SILLY
 endif
 
-MODULE_big     := pgcrypto
 SRCS           += pgcrypto.c px.c px-hmac.c px-crypt.c misc.c \
                        crypt-gensalt.c random.c
-OBJS           := $(SRCS:.c=.o)
-DOCS           := README.pgcrypto
-DATA_built     := pgcrypto.sql
-EXTRA_CLEAN    := gen-rtab
 
-PG_CPPFLAGS    := $(CRYPTO_CFLAGS) -I$(srcdir) 
-SHLIB_LINK     := $(CRYPTO_LDFLAGS)
+MODULE_big     = pgcrypto
+OBJS           = $(SRCS:.c=.o)
+DOCS           = README.pgcrypto
+DATA_built     = pgcrypto.sql
+EXTRA_CLEAN    = gen-rtab
 
-REGRESS := init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \
+PG_CPPFLAGS    = $(CRYPTO_CFLAGS) -I$(srcdir) 
+SHLIB_LINK     = $(CRYPTO_LDFLAGS)
+
+REGRESS = init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \
                crypt-des crypt-md5 crypt-blowfish crypt-xdes 
 
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/pgcrypto
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
+
 
 rijndael.o: rijndael.tbl
 
 rijndael.tbl:
        $(CC) $(CPPFLAGS) $(CFLAGS) -DPRINT_TABS rijndael.c -o gen-rtab
        ./gen-rtab > rijndael.tbl
-
 
 #
 # pgstattuple Makefile
 #
-# $PostgreSQL: pgsql/contrib/pgstattuple/Makefile,v 1.2 2003/11/29 22:39:29 pgsql Exp $
+# $PostgreSQL: pgsql/contrib/pgstattuple/Makefile,v 1.3 2004/08/20 20:13:07 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
+SRCS           = pgstattuple.c
+
+MODULE_big     = pgstattuple
+OBJS           = $(SRCS:.c=.o)
+DOCS           = README.pgstattuple README.pgstattuple.euc_jp
+DATA_built     = pgstattuple.sql
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
 subdir = contrib/pgstattuple
 top_builddir = ../..
 include $(top_builddir)/src/Makefile.global
-
-MODULE_big     := pgstattuple
-SRCS           += pgstattuple.c
-OBJS           := $(SRCS:.c=.o)
-DOCS           := README.pgstattuple README.pgstattuple.euc_jp
-DATA_built     := pgstattuple.sql
-
-PG_CPPFLAGS    :=
-SHLIB_LINK     :=
-
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
+
 
 # Makefile for erServer demonstration implementation
 # (c) 2000 Vadim Mikheev, PostgreSQL Inc.
 
-subdir = contrib/rserv
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
 NAME   = rserv
 MODULES        = rserv
 DATA   = RServ.pm
 SCRIPTS_built  += InitRservTest
 
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/rserv
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+include $(top_srcdir)/contrib/contrib-global.mk
+endif
+
+
 $(SQLS): %.sql: %.sql.in
        sed 's,@MODULE_FILENAME@,$$libdir/$(NAME),g' $< >$@
 
            -e 's:@BINDIR@:$(bindir):g' \
            -e 's:@LIBDIR@:$(datadir)/contrib:g' $< >$@
        chmod a+x $@
-
-include $(top_srcdir)/contrib/contrib-global.mk
 
-# $PostgreSQL: pgsql/contrib/rtree_gist/Makefile,v 1.4 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/rtree_gist
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/rtree_gist/Makefile,v 1.5 2004/08/20 20:13:07 momjian Exp $
 
 MODULES = rtree_gist
 DATA_built = rtree_gist.sql
 DOCS = README.rtree_gist
 REGRESS = rtree_gist
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/rtree_gist
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/seg/Makefile,v 1.11 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/seg
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/seg/Makefile,v 1.12 2004/08/20 20:13:07 momjian Exp $
 
 MODULE_big = seg
 OBJS = seg.o segparse.o
 DOCS = README.seg
 REGRESS = seg
 
+EXTRA_CLEAN = segparse.c segparse.h segscan.c y.tab.c y.tab.h
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/seg
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
 # segscan is compiled as part of segparse
 segparse.o: segscan.c
 else
        @$(missing) flex $< $@
 endif
-
-EXTRA_CLEAN = segparse.c segparse.h segscan.c y.tab.c y.tab.h
-
-
-include $(top_srcdir)/contrib/contrib-global.mk
 
-# $PostgreSQL: pgsql/contrib/spi/Makefile,v 1.23 2003/11/29 19:51:35 pgsql Exp $
-
-subdir = contrib/spi
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/spi/Makefile,v 1.24 2004/08/20 20:13:08 momjian Exp $
 
 MODULES = autoinc insert_username moddatetime refint timetravel
 DATA_built = $(addsuffix .sql, $(MODULES))
 # comment out if you want a quieter refint package for other uses
 PG_CPPFLAGS = -DREFINT_VERBOSE
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/spi
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/string/Makefile,v 1.17 2003/11/29 19:51:36 pgsql Exp $
-
-subdir = contrib/string
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/string/Makefile,v 1.18 2004/08/20 20:13:08 momjian Exp $
 
 MODULES = string_io
 DATA_built = string_io.sql
 DOCS = README.string_io
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/string
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-subdir = contrib/tablefunc
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
 MODULES = tablefunc
 DATA_built = tablefunc.sql
 DOCS = README.tablefunc
 REGRESS = tablefunc
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/tablefunc
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/tips/Makefile,v 1.6 2003/11/29 19:51:36 pgsql Exp $
+# $PostgreSQL: pgsql/contrib/tips/Makefile,v 1.7 2004/08/20 20:13:08 momjian Exp $
 
+DOCS = README.apachelog
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
 subdir = contrib/tips
 top_builddir = ../..
 include $(top_builddir)/src/Makefile.global
-
-DOCS = README.apachelog
-
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/tsearch/Makefile,v 1.4 2003/11/29 19:51:36 pgsql Exp $
+# $PostgreSQL: pgsql/contrib/tsearch/Makefile,v 1.5 2004/08/20 20:13:08 momjian Exp $
 
-subdir = contrib/tsearch
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
-override CPPFLAGS := -I. $(CPPFLAGS)
+PG_CPPFLAGS = -I.
 
 MODULE_big = tsearch
 OBJS = crc32.o morph.o txtidx.o query.o gistidx.o rewrite.o
 DOCS = README.tsearch
 REGRESS = tsearch
 
+EXTRA_CLEAN = parser.c
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/tsearch
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+include $(top_srcdir)/contrib/contrib-global.mk
+endif
+
+
 # parser is compiled as part of query
 query.o: parser.c
 
        @$(missing) flex $< $@
 endif
 
-EXTRA_CLEAN = parser.c
-
-include $(top_srcdir)/contrib/contrib-global.mk
 # DO NOT DELETE
 
-# $PostgreSQL: pgsql/contrib/tsearch2/Makefile,v 1.6 2003/11/29 19:51:36 pgsql Exp $
-
-subdir = contrib/tsearch2
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
+# $PostgreSQL: pgsql/contrib/tsearch2/Makefile,v 1.7 2004/08/20 20:13:09 momjian Exp $
 
 MODULE_big = tsearch2
 OBJS = dict_ex.o dict.o snmap.o stopword.o common.o prs_dcfg.o \
 SUBDIRS     := snowball ispell wordparser
 SUBDIROBJS  := $(SUBDIRS:%=%/SUBSYS.o)
 
-OBJS:= $(OBJS) $(SUBDIROBJS)
-
-$(SUBDIROBJS): $(SUBDIRS:%=%-recursive) ;
-
-$(SUBDIRS:%=%-recursive):
-       $(MAKE) -C $(subst -recursive,,$@) SUBSYS.o
+OBJS   += $(SUBDIROBJS)
 
 PG_CPPFLAGS = -I$(srcdir)/snowball -I$(srcdir)/ispell -I$(srcdir)/wordparser
 
 
 SHLIB_LINK := -lm
 
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/tsearch2
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+include $(top_srcdir)/contrib/contrib-global.mk
+endif
+
+
+$(SUBDIROBJS): $(SUBDIRS:%=%-recursive) ;
+
+$(SUBDIRS:%=%-recursive):
+       $(MAKE) -C $(subst -recursive,,$@) SUBSYS.o
+
 tsearch2.sql: tsearch.sql.in
        sed -e 's,MODULE_PATHNAME,$$libdir/$(MODULE_big),g' \
            -e 's,DATA_PATH,$(datadir)/contrib,g' $< >$@
 
 subclean:
        for dir in $(SUBDIRS); do $(MAKE) -C $$dir clean || exit; done
- 
-include $(top_srcdir)/contrib/contrib-global.mk
 
-# $PostgreSQL: pgsql/contrib/userlock/Makefile,v 1.17 2003/11/29 19:51:36 pgsql Exp $
-
-subdir = contrib/userlock
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/userlock/Makefile,v 1.18 2004/08/20 20:13:09 momjian Exp $
 
 MODULES = user_locks
 DATA_built = user_locks.sql
 DOCS = README.user_locks
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/userlock
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $PostgreSQL: pgsql/contrib/vacuumlo/Makefile,v 1.12 2003/11/29 19:51:36 pgsql Exp $
-
-subdir = contrib/vacuumlo
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $PostgreSQL: pgsql/contrib/vacuumlo/Makefile,v 1.13 2004/08/20 20:13:10 momjian Exp $
 
 PROGRAM = vacuumlo
 OBJS   = vacuumlo.o
 
 DOCS = README.vacuumlo
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/vacuumlo
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
-# $Header: /cvsroot/pgsql/contrib/xml/Attic/Makefile,v 1.8 2004/03/14 03:19:13 momjian Exp $
-
-subdir = contrib/xml
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
+# $Header: /cvsroot/pgsql/contrib/xml/Attic/Makefile,v 1.9 2004/08/20 20:13:10 momjian Exp $
 
 MODULE_big = pgxml_dom
 OBJS = pgxml_dom.o
 DATA_built = pgxml_dom.sql
 DOCS = README.xml
 
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/xml
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
 # This makefile will build the new XML and XSLT routines.
-subdir = contrib/xml2
-top_builddir = ../../
-include $(top_builddir)/src/Makefile.global
 
 MODULE_big = pgxml
 
 DATA_built = pgxml.sql
 DOCS = README.xml2
 
-include $(top_builddir)contrib/contrib-global.mk
+
+ifdef USE_PGXS
+PGXS = $(shell pg_config --pgxs)
+include $(PGXS)
+else
+subdir = contrib/xml2
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+include $(top_srcdir)/contrib/contrib-global.mk
+endif
 
 
 #
 # Copyright (c) 1994, Regents of the University of California
 #
-# $PostgreSQL: pgsql/src/Makefile,v 1.33 2004/07/30 12:26:40 petere Exp $
+# $PostgreSQL: pgsql/src/Makefile,v 1.34 2004/08/20 20:13:10 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
 
 install-all-headers:
        $(MAKE) -C include $@
+       $(MAKE) -C port $@
 
 installdirs: installdirs-local
 
 
 # -*-makefile-*-
-# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.192 2004/08/15 00:41:51 momjian Exp $
+# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.193 2004/08/20 20:13:10 momjian Exp $
 
 #------------------------------------------------------------------------------
 # All PostgreSQL makefiles include this file and use the variables it sets,
 #
 # Some variables needed to find some client interfaces
 
+ifdef PGXS
+# some contribs assumes headers and libs are in the source tree...
+libpq_srcdir = $(includedir)
+libpq_builddir = $(libdir)
+else
 libpq_srcdir = $(top_srcdir)/src/interfaces/libpq
 libpq_builddir = $(top_builddir)/src/interfaces/libpq
+endif
+
 libpq = -L$(libpq_builddir) -lpq
 
 submake-libpq:
 
 ifneq (,$(LIBOBJS))
 LIBS := -lpgport $(LIBS)
+ifdef PGXS
+# where libpgport.a is installed
+LDFLAGS := -L$(pkglibdir) $(LDFLAGS)
+else
 LDFLAGS := -L$(top_builddir)/src/port $(LDFLAGS)
 endif
+endif
 
 # to make ws2_32.lib the last library
 ifeq ($(PORTNAME),win32)
 
 # with broken/missing library files.
 
 # IDENTIFICATION
-#    $PostgreSQL: pgsql/src/port/Makefile,v 1.16 2004/08/01 06:56:39 momjian Exp $
+#    $PostgreSQL: pgsql/src/port/Makefile,v 1.17 2004/08/20 20:13:10 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
 
 all: libpgport.a
 
+# libpgport is needed by some contrib
+install-all-headers: 
+       $(INSTALL_STLIB) libpgport.a $(DESTDIR)$(pkglibdir)
+
+uninstall:
+       $(RM) $(DESTDIR)$(pkglibdir)/libpgport.a
+
 libpgport.a: $(LIBOBJS)
        $(AR) $(AROPT) $@ $^