diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:46:48 +0000 |
commit | 311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 (patch) | |
tree | 0ec307299b1dada3701e42f4ca6eda57d708261e /src/pl/tcl/Makefile | |
parent | Initial commit. (diff) | |
download | postgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.tar.xz postgresql-15-311bcfc6b3acdd6fd152798c7f287ddf74fa2a98.zip |
Adding upstream version 15.4.upstream/15.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/pl/tcl/Makefile')
-rw-r--r-- | src/pl/tcl/Makefile | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile new file mode 100644 index 0000000..314f9b2 --- /dev/null +++ b/src/pl/tcl/Makefile @@ -0,0 +1,103 @@ +#------------------------------------------------------------------------- +# +# Makefile for the PL/Tcl procedural language +# +# src/pl/tcl/Makefile +# +#------------------------------------------------------------------------- + +subdir = src/pl/tcl +top_builddir = ../../.. +include $(top_builddir)/src/Makefile.global + + +override CPPFLAGS := -I. -I$(srcdir) $(TCL_INCLUDE_SPEC) $(CPPFLAGS) + +# On Windows, we don't link directly with the Tcl library; see below +ifneq ($(PORTNAME), win32) +SHLIB_LINK = $(TCL_LIB_SPEC) $(TCL_LIBS) +endif + +PGFILEDESC = "PL/Tcl - procedural language" + +NAME = pltcl + +OBJS = \ + $(WIN32RES) \ + pltcl.o + +DATA = pltcl.control pltcl--1.0.sql \ + pltclu.control pltclu--1.0.sql + +REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-extension=pltcl +REGRESS = pltcl_setup pltcl_queries pltcl_trigger pltcl_call pltcl_start_proc pltcl_subxact pltcl_unicode pltcl_transaction + +# Tcl on win32 ships with import libraries only for Microsoft Visual C++, +# which are not compatible with mingw gcc. Therefore we need to build a +# new import library to link with. +ifeq ($(PORTNAME), win32) + +tclwithver = $(subst -l,,$(filter -l%, $(TCL_LIB_SPEC))) +TCLDLL = $(dir $(TCLSH))/$(tclwithver).dll + +OBJS += lib$(tclwithver).a + +lib$(tclwithver).a: $(tclwithver).def + dlltool --dllname $(tclwithver).dll --def $(tclwithver).def --output-lib lib$(tclwithver).a + +$(tclwithver).def: $(TCLDLL) + gendef - $^ > $@ + +endif # win32 + + +include $(top_srcdir)/src/Makefile.shlib + + +all: all-lib + +# Force this dependency to be known even without dependency info built: +pltcl.o: pltclerrcodes.h + +# generate pltclerrcodes.h from src/backend/utils/errcodes.txt +pltclerrcodes.h: $(top_srcdir)/src/backend/utils/errcodes.txt generate-pltclerrcodes.pl + $(PERL) $(srcdir)/generate-pltclerrcodes.pl $< > $@ + +distprep: pltclerrcodes.h + +install: all install-lib install-data + +installdirs: installdirs-lib + $(MKDIR_P) '$(DESTDIR)$(datadir)/extension' + +uninstall: uninstall-lib uninstall-data + +install-data: installdirs + $(INSTALL_DATA) $(addprefix $(srcdir)/, $(DATA)) '$(DESTDIR)$(datadir)/extension/' + +uninstall-data: + rm -f $(addprefix '$(DESTDIR)$(datadir)/extension'/, $(notdir $(DATA))) + +.PHONY: install-data uninstall-data + + +check: submake + $(pg_regress_check) $(REGRESS_OPTS) $(REGRESS) + +installcheck: submake + $(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS) + +.PHONY: submake +submake: + $(MAKE) -C $(top_builddir)/src/test/regress pg_regress$(X) + +# pltclerrcodes.h is in the distribution tarball, so don't clean it here. +clean distclean: clean-lib + rm -f $(OBJS) + rm -rf $(pg_regress_clean_files) +ifeq ($(PORTNAME), win32) + rm -f $(tclwithver).def +endif + +maintainer-clean: distclean + rm -f pltclerrcodes.h |