aboutsummaryrefslogtreecommitdiff
path: root/contrib/contrib-global.mk
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/contrib-global.mk')
-rw-r--r--contrib/contrib-global.mk236
1 files changed, 3 insertions, 233 deletions
diff --git a/contrib/contrib-global.mk b/contrib/contrib-global.mk
index 51e0ef18dab..11e0293e010 100644
--- a/contrib/contrib-global.mk
+++ b/contrib/contrib-global.mk
@@ -1,234 +1,4 @@
-# $PostgreSQL: pgsql/contrib/contrib-global.mk,v 1.7 2003/11/29 19:51:18 pgsql Exp $
+# $PostgreSQL: pgsql/contrib/contrib-global.mk,v 1.8 2004/07/30 12:26:39 petere Exp $
-# This file contains generic rules to build many kinds of simple
-# contrib modules. You only need to set a few variables and include
-# this file, the rest will be done here.
-#
-# Use the following layout for your Makefile:
-#
-# subdir = contrib/xxx
-# top_builddir = ../..
-# include $(top_builddir)/src/Makefile.global
-#
-# [variable assignments, see below]
-# [custom rules, rarely necessary]
-#
-# include $(top_srcdir)/contrib/contrib-global.mk
-#
-# The following variables can be set:
-#
-# MODULES -- list of shared objects to be build from source file with
-# same stem (do not include suffix in this list)
-# DATA -- random files to install into $PREFIX/share/contrib
-# DATA_built -- random files to install into $PREFIX/share/contrib,
-# which need to be built first
-# DOCS -- random files to install under $PREFIX/doc/contrib
-# SCRIPTS -- script files (not binaries) to install into $PREFIX/bin
-# SCRIPTS_built -- script files (not binaries) to install into $PREFIX/bin,
-# which need to be built first
-# REGRESS -- list of regression test cases (without suffix)
-#
-# or at most one of these two:
-#
-# PROGRAM -- a binary program to build (list objects files in OBJS)
-# MODULE_big -- a shared object to build (list object files in OBJS)
-#
-# The following can also be set:
-#
-# EXTRA_CLEAN -- extra files to remove in 'make clean'
-# PG_CPPFLAGS -- will be added to CPPFLAGS
-# PG_LIBS -- will be added to PROGRAM link line
-# SHLIB_LINK -- will be added to MODULE_big link line
-#
-# Better look at some of the existing uses for examples...
-
-
-override CPPFLAGS := -I$(srcdir) $(CPPFLAGS)
-
-ifdef MODULES
-override CFLAGS += $(CFLAGS_SL)
-SHLIB_LINK += $(BE_DLLLIBS)
-endif
-
-ifdef PG_CPPFLAGS
-override CPPFLAGS := $(PG_CPPFLAGS) $(CPPFLAGS)
-endif
-
-all: $(PROGRAM) $(DATA_built) $(SCRIPTS_built) $(addsuffix $(DLSUFFIX), $(MODULES))
-
-ifdef MODULE_big
-# shared library parameters
-NAME = $(MODULE_big)
-SO_MAJOR_VERSION= 0
-SO_MINOR_VERSION= 0
-rpath =
-
-SHLIB_LINK += $(BE_DLLLIBS)
-
-include $(top_srcdir)/src/Makefile.shlib
-
-all: all-lib
-endif # MODULE_big
-
-
-install: all installdirs
-ifneq (,$(DATA)$(DATA_built))
- @for file in $(addprefix $(srcdir)/, $(DATA)) $(DATA_built); do \
- echo "$(INSTALL_DATA) $$file $(DESTDIR)$(datadir)/contrib"; \
- $(INSTALL_DATA) $$file $(DESTDIR)$(datadir)/contrib; \
- done
-endif # DATA
-ifdef MODULES
- @for file in $(addsuffix $(DLSUFFIX), $(MODULES)); do \
- echo "$(INSTALL_SHLIB) $$file $(DESTDIR)$(pkglibdir)"; \
- $(INSTALL_SHLIB) $$file $(DESTDIR)$(pkglibdir); \
- done
-endif # MODULES
-ifdef DOCS
- @for file in $(addprefix $(srcdir)/, $(DOCS)); do \
- echo "$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/contrib"; \
- $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/contrib; \
- done
-endif # DOCS
-ifdef PROGRAM
- $(INSTALL_PROGRAM) $(PROGRAM)$(X) $(DESTDIR)$(bindir)
-endif # PROGRAM
-ifdef MODULE_big
- $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(pkglibdir)/$(MODULE_big)$(DLSUFFIX)
-endif # MODULE_big
-ifdef SCRIPTS
- @for file in $(addprefix $(srcdir)/, $(SCRIPTS)); do \
- echo "$(INSTALL_SCRIPT) $$file $(DESTDIR)$(bindir)"; \
- $(INSTALL_SCRIPT) $$file $(DESTDIR)$(bindir); \
- done
-endif # SCRIPTS
-ifdef SCRIPTS_built
- @for file in $(SCRIPTS_built); do \
- echo "$(INSTALL_SCRIPT) $$file $(DESTDIR)$(bindir)"; \
- $(INSTALL_SCRIPT) $$file $(DESTDIR)$(bindir); \
- done
-endif # SCRIPTS_built
-
-
-installdirs:
-ifneq (,$(DATA)$(DATA_built))
- $(mkinstalldirs) $(DESTDIR)$(datadir)/contrib
-endif
-ifneq (,$(MODULES)$(MODULE_big))
- $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
-endif
-ifdef DOCS
- $(mkinstalldirs) $(DESTDIR)$(docdir)/contrib
-endif
-ifneq (,$(PROGRAM)$(SCRIPTS)$(SCRIPTS_built))
- $(mkinstalldirs) $(DESTDIR)$(bindir)
-endif
-
-
-uninstall:
-ifneq (,$(DATA)$(DATA_built))
- rm -f $(addprefix $(DESTDIR)$(datadir)/contrib/, $(notdir $(DATA) $(DATA_built)))
-endif
-ifdef MODULES
- rm -f $(addprefix $(DESTDIR)$(pkglibdir)/, $(addsuffix $(DLSUFFIX), $(MODULES)))
-endif
-ifdef DOCS
- rm -f $(addprefix $(DESTDIR)$(docdir)/contrib/, $(DOCS))
-endif
-ifdef PROGRAM
- rm -f $(DESTDIR)$(bindir)/$(PROGRAM)$(X)
-endif
-ifdef MODULE_big
- rm -f $(DESTDIR)$(pkglibdir)/$(MODULE_big)$(DLSUFFIX)
-endif
-ifdef SCRIPTS
- rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS))
-endif
-ifdef SCRIPTS_built
- rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS_built))
-endif
-
-
-clean:
-ifdef MODULES
- rm -f $(addsuffix $(DLSUFFIX), $(MODULES)) $(addsuffix .o, $(MODULES))
-endif
-ifdef DATA_built
- rm -f $(DATA_built)
-endif
-ifdef SCRIPTS_built
- rm -f $(SCRIPTS_built)
-endif
-ifdef PROGRAM
- rm -f $(PROGRAM)$(X)
-endif
-ifdef OBJS
- rm -f $(OBJS)
-endif
-ifdef EXTRA_CLEAN
- rm -f $(EXTRA_CLEAN)
-endif
-ifdef REGRESS
-# things created by various check targets
- rm -rf results tmp_check log
- rm -f regression.diffs regression.out regress.out run_check.out
-ifeq ($(PORTNAME), win)
- rm -f regress.def
-endif
-endif # REGRESS
-
-ifdef MODULE_big
-clean: clean-lib
-endif
-
-distclean maintainer-clean: clean
-
-
-ifdef REGRESS
-
-# When doing a VPATH build, must copy over the test .sql and .out
-# files so that the driver script can find them. We have to use an
-# absolute path for the targets, because otherwise make will try to
-# locate the missing files using VPATH, and will find them in
-# $(srcdir), but the point here is that we want to copy them from
-# $(srcdir) to the build directory.
-
-ifdef VPATH
-abs_builddir := $(shell pwd)
-test_files_src := $(wildcard $(srcdir)/sql/*.sql) $(wildcard $(srcdir)/expected/*.out) $(wildcard $(srcdir)/data/*.data)
-test_files_build := $(patsubst $(srcdir)/%, $(abs_builddir)/%, $(test_files_src))
-
-all: $(test_files_build)
-$(test_files_build): $(abs_builddir)/%: $(srcdir)/%
- ln -s $< $@
-endif # VPATH
-
-.PHONY: submake
-submake:
- $(MAKE) -C $(top_builddir)/src/test/regress pg_regress
-
-# against installed postmaster
-installcheck: submake
- $(top_builddir)/src/test/regress/pg_regress $(REGRESS)
-
-# in-tree test doesn't work yet (no way to install my shared library)
-#check: all submake
-# $(top_builddir)/src/test/regress/pg_regress --temp-install \
-# --top-builddir=$(top_builddir) $(REGRESS)
-check:
- @echo "'make check' is not supported."
- @echo "Do 'make install', then 'make installcheck' instead."
-endif # REGRESS
-
-
-# STANDARD RULES
-
-ifneq (,$(MODULES)$(MODULE_big))
-%.sql: %.sql.in
- sed 's,MODULE_PATHNAME,$$libdir/$*,g' $< >$@
-endif
-
-ifdef PROGRAM
-$(PROGRAM): $(OBJS)
- $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LIBS) -o $@
-endif
+NO_PGXS = 1
+include $(top_srcdir)/src/makefiles/pgxs.mk