summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2004-08-20 20:13:10 +0000
committerBruce Momjian2004-08-20 20:13:10 +0000
commit9d8cf3847f24c1ae2e9667acd40ae9bfcd714326 (patch)
tree156d8f5e2fff8c51bfecd4f569d319a1400a930a
parentc3455dcd35900564483fa889a862f4d2d53b5aff (diff)
> Please find enclose a submission to fix these problems.
> > The patch adds missing the "libpgport.a" file to the installation under > "install-all-headers". It is needed by some contribs. I install the > library in "pkglibdir", but I was wondering whether it should be "libdir"? > I was wondering also whether it would make sense to have a "libpgport.so"? > > It fixes various macros which are used by contrib makefiles, especially > libpq_*dir and LDFLAGS when used under PGXS. It seems to me that they are > needed to > > It adds the ability to test and use PGXS with contribs, with "make > USE_PGXS=1". Without the macro, this is exactly as before, there should be > no difference, esp. wrt the vpath feature that seemed broken by previous > submission. So it should not harm anybody, and it is useful at least to me. > > It fixes some inconsistencies in various contrib makefiles > (useless override, ":=" instead of "="). Fabien COELHO
-rw-r--r--contrib/btree_gist/Makefile12
-rw-r--r--contrib/chkpass/Makefile12
-rw-r--r--contrib/cube/Makefile22
-rw-r--r--contrib/dbase/Makefile13
-rw-r--r--contrib/dblink/Makefile13
-rw-r--r--contrib/dbmirror/Makefile12
-rw-r--r--contrib/dbsize/Makefile12
-rw-r--r--contrib/earthdistance/Makefile12
-rw-r--r--contrib/findoidjoins/Makefile12
-rw-r--r--contrib/fulltextindex/Makefile12
-rw-r--r--contrib/fuzzystrmatch/Makefile12
-rw-r--r--contrib/intagg/Makefile12
-rw-r--r--contrib/intarray/Makefile12
-rw-r--r--contrib/isbn_issn/Makefile12
-rw-r--r--contrib/lo/Makefile12
-rw-r--r--contrib/ltree/Makefile12
-rw-r--r--contrib/mSQL-interface/Makefile22
-rw-r--r--contrib/miscutil/Makefile12
-rw-r--r--contrib/noupdate/Makefile12
-rw-r--r--contrib/oid2name/Makefile12
-rw-r--r--contrib/pg_autovacuum/Makefile13
-rw-r--r--contrib/pg_dumplo/Makefile12
-rw-r--r--contrib/pg_logger/Makefile12
-rw-r--r--contrib/pg_trgm/Makefile17
-rw-r--r--contrib/pgbench/Makefile12
-rw-r--r--contrib/pgcrypto/Makefile32
-rw-r--r--contrib/pgstattuple/Makefile23
-rw-r--r--contrib/rserv/Makefile17
-rw-r--r--contrib/rtree_gist/Makefile12
-rw-r--r--contrib/seg/Makefile20
-rw-r--r--contrib/spi/Makefile12
-rw-r--r--contrib/string/Makefile12
-rw-r--r--contrib/tablefunc/Makefile12
-rw-r--r--contrib/tips/Makefile10
-rw-r--r--contrib/tsearch/Makefile22
-rw-r--r--contrib/tsearch2/Makefile31
-rw-r--r--contrib/userlock/Makefile12
-rw-r--r--contrib/vacuumlo/Makefile12
-rw-r--r--contrib/xml/Makefile12
-rw-r--r--contrib/xml2/Makefile14
-rw-r--r--src/Makefile1
-rw-r--r--src/Makefile.global.in12
-rw-r--r--src/port/Makefile7
43 files changed, 395 insertions, 206 deletions
diff --git a/contrib/btree_gist/Makefile b/contrib/btree_gist/Makefile
index 88cc3491ae..11fa902bc6 100644
--- a/contrib/btree_gist/Makefile
+++ b/contrib/btree_gist/Makefile
@@ -1,8 +1,4 @@
-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 \
@@ -16,4 +12,12 @@ DOCS = README.btree_gist
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
diff --git a/contrib/chkpass/Makefile b/contrib/chkpass/Makefile
index b247b27852..da7b0d2964 100644
--- a/contrib/chkpass/Makefile
+++ b/contrib/chkpass/Makefile
@@ -1,13 +1,17 @@
# $PostgreSQL$
-subdir = contrib/chkpass
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
MODULE_big = chkpass
OBJS = chkpass.o
SHLIB_LINK = $(filter -lcrypt, $(LIBS))
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
diff --git a/contrib/cube/Makefile b/contrib/cube/Makefile
index e34ada3712..216cf5ec60 100644
--- a/contrib/cube/Makefile
+++ b/contrib/cube/Makefile
@@ -1,9 +1,5 @@
# $PostgreSQL$
-subdir = contrib/cube
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
MODULE_big = cube
OBJS= cube.o cubeparse.o
@@ -11,6 +7,19 @@ DATA_built = cube.sql
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
@@ -32,8 +41,3 @@ ifdef FLEX
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
diff --git a/contrib/dbase/Makefile b/contrib/dbase/Makefile
index b4734a9df8..17096d37cb 100644
--- a/contrib/dbase/Makefile
+++ b/contrib/dbase/Makefile
@@ -1,9 +1,5 @@
# $PostgreSQL$
-subdir = contrib/dbase
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
PROGRAM = dbf2pg
OBJS = dbf.o dbf2pg.o endian.o
PG_CPPFLAGS = -I$(libpq_srcdir)
@@ -18,4 +14,13 @@ PG_LIBS = $(libpq)
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
diff --git a/contrib/dblink/Makefile b/contrib/dblink/Makefile
index 11d939fe76..f60cf86b50 100644
--- a/contrib/dblink/Makefile
+++ b/contrib/dblink/Makefile
@@ -1,9 +1,5 @@
# $PostgreSQL$
-subdir = contrib/dblink
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
MODULE_big = dblink
PG_CPPFLAGS = -I$(libpq_srcdir)
OBJS = dblink.o
@@ -13,4 +9,13 @@ DATA_built = dblink.sql
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
diff --git a/contrib/dbmirror/Makefile b/contrib/dbmirror/Makefile
index bf2cd419c6..6cd776a51e 100644
--- a/contrib/dbmirror/Makefile
+++ b/contrib/dbmirror/Makefile
@@ -1,10 +1,14 @@
# $PostgreSQL$
-subdir = contrib/dbmirror
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/dbsize/Makefile b/contrib/dbsize/Makefile
index ad72a12be2..7beb6ba564 100644
--- a/contrib/dbsize/Makefile
+++ b/contrib/dbsize/Makefile
@@ -1,9 +1,13 @@
-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
diff --git a/contrib/earthdistance/Makefile b/contrib/earthdistance/Makefile
index dc21f18dc5..ad4a578c1e 100644
--- a/contrib/earthdistance/Makefile
+++ b/contrib/earthdistance/Makefile
@@ -1,12 +1,16 @@
# $PostgreSQL$
-subdir = contrib/earthdistance
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/findoidjoins/Makefile b/contrib/findoidjoins/Makefile
index 76eb1185f9..cb0f4b5622 100644
--- a/contrib/findoidjoins/Makefile
+++ b/contrib/findoidjoins/Makefile
@@ -1,9 +1,5 @@
# $PostgreSQL$
-subdir = contrib/findoidjoins
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
PROGRAM = findoidjoins
OBJS = findoidjoins.o
@@ -13,4 +9,12 @@ PG_LIBS = $(libpq)
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
diff --git a/contrib/fulltextindex/Makefile b/contrib/fulltextindex/Makefile
index 320bf74e0f..7f5ac7d66b 100644
--- a/contrib/fulltextindex/Makefile
+++ b/contrib/fulltextindex/Makefile
@@ -1,12 +1,16 @@
# $PostgreSQL$
-subdir = contrib/fulltextindex
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/fuzzystrmatch/Makefile b/contrib/fuzzystrmatch/Makefile
index a1510cb1b7..4f2e249614 100644
--- a/contrib/fuzzystrmatch/Makefile
+++ b/contrib/fuzzystrmatch/Makefile
@@ -1,13 +1,17 @@
# $PostgreSQL$
-subdir = contrib/fuzzystrmatch
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
MODULE_big = fuzzystrmatch
SRCS += fuzzystrmatch.c dmetaphone.c
OBJS = $(SRCS:.c=.o)
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
diff --git a/contrib/intagg/Makefile b/contrib/intagg/Makefile
index 9eb45b26fc..fef3f8cf50 100644
--- a/contrib/intagg/Makefile
+++ b/contrib/intagg/Makefile
@@ -4,12 +4,16 @@
# by Mark L. Woodward
# $PostgreSQL$
-subdir = contrib/intagg
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/intarray/Makefile b/contrib/intarray/Makefile
index bf47ff514b..55b33fdb18 100644
--- a/contrib/intarray/Makefile
+++ b/contrib/intarray/Makefile
@@ -1,13 +1,17 @@
# $PostgreSQL$
-subdir = contrib/intarray
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
MODULE_big = _int
OBJS = _int_bool.o _int_gist.o _int_op.o _int_tool.o _intbig_gist.o
DATA_built = _int.sql
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
diff --git a/contrib/isbn_issn/Makefile b/contrib/isbn_issn/Makefile
index 038f1e3ddd..940994d482 100644
--- a/contrib/isbn_issn/Makefile
+++ b/contrib/isbn_issn/Makefile
@@ -1,11 +1,15 @@
# $PostgreSQL$
-subdir = contrib/isbn_issn
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/lo/Makefile b/contrib/lo/Makefile
index 58f0a59bb5..41ecfa8447 100644
--- a/contrib/lo/Makefile
+++ b/contrib/lo/Makefile
@@ -1,12 +1,16 @@
# $PostgreSQL$
-subdir = contrib/lo
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/ltree/Makefile b/contrib/ltree/Makefile
index 0e10be39d7..bc64e009b6 100644
--- a/contrib/ltree/Makefile
+++ b/contrib/ltree/Makefile
@@ -1,7 +1,3 @@
-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 \
@@ -10,4 +6,12 @@ DATA_built = ltree.sql
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
diff --git a/contrib/mSQL-interface/Makefile b/contrib/mSQL-interface/Makefile
index aba02d21e7..d94345733b 100644
--- a/contrib/mSQL-interface/Makefile
+++ b/contrib/mSQL-interface/Makefile
@@ -2,18 +2,22 @@
# $PostgreSQL$
#
+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
diff --git a/contrib/miscutil/Makefile b/contrib/miscutil/Makefile
index a56a304cdc..773bccb5ad 100644
--- a/contrib/miscutil/Makefile
+++ b/contrib/miscutil/Makefile
@@ -1,11 +1,15 @@
# $PostgreSQL$
-subdir = contrib/miscutil
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/noupdate/Makefile b/contrib/noupdate/Makefile
index 4e768cbab3..e16962683b 100644
--- a/contrib/noupdate/Makefile
+++ b/contrib/noupdate/Makefile
@@ -1,11 +1,15 @@
# $PostgreSQL$
-subdir = contrib/noupdate
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/oid2name/Makefile b/contrib/oid2name/Makefile
index ad512161cf..02d51dec86 100644
--- a/contrib/oid2name/Makefile
+++ b/contrib/oid2name/Makefile
@@ -1,9 +1,5 @@
# $PostgreSQL$
-subdir = contrib/oid2name
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
PROGRAM = oid2name
OBJS = oid2name.o
@@ -12,4 +8,12 @@ PG_LIBS = $(libpq)
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
diff --git a/contrib/pg_autovacuum/Makefile b/contrib/pg_autovacuum/Makefile
index a6c0835af2..1479db64ef 100644
--- a/contrib/pg_autovacuum/Makefile
+++ b/contrib/pg_autovacuum/Makefile
@@ -1,8 +1,3 @@
-
-subdir = contrib/pg_autovacuum
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
PROGRAM = pg_autovacuum
OBJS = pg_autovacuum.o
@@ -11,4 +6,12 @@ PG_LIBS = $(libpq)
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
diff --git a/contrib/pg_dumplo/Makefile b/contrib/pg_dumplo/Makefile
index de54fff973..8373a0b05c 100644
--- a/contrib/pg_dumplo/Makefile
+++ b/contrib/pg_dumplo/Makefile
@@ -1,9 +1,5 @@
# $PostgreSQL$
-subdir = contrib/pg_dumplo
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
PROGRAM = pg_dumplo
OBJS = main.o lo_export.o lo_import.o utils.o
@@ -12,4 +8,12 @@ PG_LIBS = $(libpq)
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
diff --git a/contrib/pg_logger/Makefile b/contrib/pg_logger/Makefile
index 7a89f8ca9e..642348e699 100644
--- a/contrib/pg_logger/Makefile
+++ b/contrib/pg_logger/Makefile
@@ -1,12 +1,16 @@
# $PostgreSQL$
-subdir = contrib/pg_logger
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/pg_trgm/Makefile b/contrib/pg_trgm/Makefile
index a2df4ddc8a..0ef3c3ed17 100644
--- a/contrib/pg_trgm/Makefile
+++ b/contrib/pg_trgm/Makefile
@@ -1,9 +1,5 @@
-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
@@ -12,6 +8,17 @@ DATA_built = pg_trgm.sql
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
diff --git a/contrib/pgbench/Makefile b/contrib/pgbench/Makefile
index c5417c3d1f..827fd1b037 100644
--- a/contrib/pgbench/Makefile
+++ b/contrib/pgbench/Makefile
@@ -1,9 +1,5 @@
# $PostgreSQL$
-subdir = contrib/pgbench
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
PROGRAM = pgbench
OBJS = pgbench.o
@@ -12,4 +8,12 @@ PG_LIBS = $(libpq)
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
diff --git a/contrib/pgcrypto/Makefile b/contrib/pgcrypto/Makefile
index 8e8e022956..6cad624b4a 100644
--- a/contrib/pgcrypto/Makefile
+++ b/contrib/pgcrypto/Makefile
@@ -2,10 +2,6 @@
# $PostgreSQL$
#
-subdir = contrib/pgcrypto
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
# either 'builtin', 'mhash', 'openssl'
cryptolib = builtin
@@ -60,25 +56,35 @@ ifeq ($(random), silly)
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
-
diff --git a/contrib/pgstattuple/Makefile b/contrib/pgstattuple/Makefile
index 93c2d062b5..3820ba15fa 100644
--- a/contrib/pgstattuple/Makefile
+++ b/contrib/pgstattuple/Makefile
@@ -6,17 +6,20 @@
#
#-------------------------------------------------------------------------
+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
+
diff --git a/contrib/rserv/Makefile b/contrib/rserv/Makefile
index 75bbf221df..a26c435628 100644
--- a/contrib/rserv/Makefile
+++ b/contrib/rserv/Makefile
@@ -1,10 +1,6 @@
# 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
@@ -18,6 +14,17 @@ SCRIPTS_built += PrepareSnapshot ApplySnapshot
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' $< >$@
@@ -27,5 +34,3 @@ $(SCRIPTS_built): %: %.in
-e 's:@BINDIR@:$(bindir):g' \
-e 's:@LIBDIR@:$(datadir)/contrib:g' $< >$@
chmod a+x $@
-
-include $(top_srcdir)/contrib/contrib-global.mk
diff --git a/contrib/rtree_gist/Makefile b/contrib/rtree_gist/Makefile
index b61bb31443..d9369e69e3 100644
--- a/contrib/rtree_gist/Makefile
+++ b/contrib/rtree_gist/Makefile
@@ -1,12 +1,16 @@
# $PostgreSQL$
-subdir = contrib/rtree_gist
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/seg/Makefile b/contrib/seg/Makefile
index 61953628ed..c96201b9b4 100644
--- a/contrib/seg/Makefile
+++ b/contrib/seg/Makefile
@@ -1,15 +1,22 @@
# $PostgreSQL$
-subdir = contrib/seg
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
MODULE_big = seg
OBJS = seg.o segparse.o
DATA_built = seg.sql
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
@@ -31,8 +38,3 @@ ifdef FLEX
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
diff --git a/contrib/spi/Makefile b/contrib/spi/Makefile
index 6072c0c814..27eca81112 100644
--- a/contrib/spi/Makefile
+++ b/contrib/spi/Makefile
@@ -1,9 +1,5 @@
# $PostgreSQL$
-subdir = contrib/spi
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
MODULES = autoinc insert_username moddatetime refint timetravel
DATA_built = $(addsuffix .sql, $(MODULES))
DOCS = README.spi $(addsuffix .example, $(MODULES))
@@ -12,4 +8,12 @@ DOCS = README.spi $(addsuffix .example, $(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
diff --git a/contrib/string/Makefile b/contrib/string/Makefile
index a783060a60..688dae1729 100644
--- a/contrib/string/Makefile
+++ b/contrib/string/Makefile
@@ -1,11 +1,15 @@
# $PostgreSQL$
-subdir = contrib/string
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/tablefunc/Makefile b/contrib/tablefunc/Makefile
index 9c7381743f..4b87fd95a5 100644
--- a/contrib/tablefunc/Makefile
+++ b/contrib/tablefunc/Makefile
@@ -1,10 +1,14 @@
-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
diff --git a/contrib/tips/Makefile b/contrib/tips/Makefile
index 38a5bca40e..8d81611086 100644
--- a/contrib/tips/Makefile
+++ b/contrib/tips/Makefile
@@ -1,9 +1,13 @@
# $PostgreSQL$
+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
diff --git a/contrib/tsearch/Makefile b/contrib/tsearch/Makefile
index 191a300af0..3bab7c1efb 100644
--- a/contrib/tsearch/Makefile
+++ b/contrib/tsearch/Makefile
@@ -1,10 +1,6 @@
# $PostgreSQL$
-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
@@ -13,6 +9,19 @@ DATA_built = tsearch.sql
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
@@ -23,7 +32,4 @@ else
@$(missing) flex $< $@
endif
-EXTRA_CLEAN = parser.c
-
-include $(top_srcdir)/contrib/contrib-global.mk
# DO NOT DELETE
diff --git a/contrib/tsearch2/Makefile b/contrib/tsearch2/Makefile
index 4cdec50966..8fcb88294d 100644
--- a/contrib/tsearch2/Makefile
+++ b/contrib/tsearch2/Makefile
@@ -1,10 +1,5 @@
# $PostgreSQL$
-subdir = contrib/tsearch2
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
-
MODULE_big = tsearch2
OBJS = dict_ex.o dict.o snmap.o stopword.o common.o prs_dcfg.o \
dict_snowball.o dict_ispell.o dict_syn.o \
@@ -15,12 +10,7 @@ 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
@@ -31,6 +21,23 @@ REGRESS = tsearch2
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' $< >$@
@@ -43,5 +50,3 @@ clean: subclean
subclean:
for dir in $(SUBDIRS); do $(MAKE) -C $$dir clean || exit; done
-
-include $(top_srcdir)/contrib/contrib-global.mk
diff --git a/contrib/userlock/Makefile b/contrib/userlock/Makefile
index 3fbea7ff22..db90d0ea20 100644
--- a/contrib/userlock/Makefile
+++ b/contrib/userlock/Makefile
@@ -1,11 +1,15 @@
# $PostgreSQL$
-subdir = contrib/userlock
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
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
diff --git a/contrib/vacuumlo/Makefile b/contrib/vacuumlo/Makefile
index e323c21aa1..fc44bc8575 100644
--- a/contrib/vacuumlo/Makefile
+++ b/contrib/vacuumlo/Makefile
@@ -1,9 +1,5 @@
# $PostgreSQL$
-subdir = contrib/vacuumlo
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
PROGRAM = vacuumlo
OBJS = vacuumlo.o
@@ -12,4 +8,12 @@ PG_LIBS = $(libpq)
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
diff --git a/contrib/xml/Makefile b/contrib/xml/Makefile
index 98cc60dff1..363ec9881f 100644
--- a/contrib/xml/Makefile
+++ b/contrib/xml/Makefile
@@ -1,13 +1,17 @@
# $Header$
-subdir = contrib/xml
-top_builddir = ../..
-include $(top_builddir)/src/Makefile.global
-
MODULE_big = pgxml_dom
OBJS = pgxml_dom.o
SHLIB_LINK = -lxml2
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
diff --git a/contrib/xml2/Makefile b/contrib/xml2/Makefile
index 9e19eab047..b2a4f2325e 100644
--- a/contrib/xml2/Makefile
+++ b/contrib/xml2/Makefile
@@ -1,7 +1,4 @@
# This makefile will build the new XML and XSLT routines.
-subdir = contrib/xml2
-top_builddir = ../../
-include $(top_builddir)/src/Makefile.global
MODULE_big = pgxml
@@ -14,5 +11,14 @@ SHLIB_LINK = -lxml2 -lxslt
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
diff --git a/src/Makefile b/src/Makefile
index e1447a7714..c80cc08868 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -35,6 +35,7 @@ install-local: installdirs-local
install-all-headers:
$(MAKE) -C include $@
+ $(MAKE) -C port $@
installdirs: installdirs-local
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index ac41a5f596..6be2d7a276 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -291,8 +291,15 @@ endif
#
# 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:
@@ -351,8 +358,13 @@ LIBOBJS = @LIBOBJS@ dirmod.o exec.o noblock.o path.o pipe.o pgsleep.o pgstrcasec
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)
diff --git a/src/port/Makefile b/src/port/Makefile
index 65f474c245..3be7647a60 100644
--- a/src/port/Makefile
+++ b/src/port/Makefile
@@ -20,6 +20,13 @@ LIBS += $(PTHREAD_LIBS)
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) $@ $^