REGRESS = $(EXTENSION)
pgext_files := $(DOCS) $(DATA)
-# we need to build with Extension support:
ifeq ($(BUILD_EXTENSION),yes)
-all: $(EXTENSION)--$(EXTVERSION).sql $(EXTENSION)--unpackaged--$(EXTVERSION).sql
+DATA = $(EXTENSION)--unpackaged--$(EXTVERSION).sql $(EXTENSION)--$(EXTVERSION).sql
+REGRESS = $(EXTENSION).ext
+EXTRA_CLEAN = $(DATA) $(EXTENSION).control
+pgext_files := $(DOCS)
+endif
+
+PGXS := $(shell $(PG_CONFIG) --pgxs)
+include $(PGXS)
+# Build some more files for extension support:
+ifeq ($(BUILD_EXTENSION),yes)
# this copy the extension.sql to extension--version.sql
$(EXTENSION)--$(EXTVERSION).sql: $(EXTENSION).sql
- cp $< $@
+ cp $< $@
# this build the extension--unpackaged--version.sql from uninstall_extension.sql
$(EXTENSION)--unpackaged--$(EXTVERSION).sql: uninstall_$(EXTENSION).sql
- sed 's/DROP /ALTER EXTENSION $(EXTENSION) ADD /' $< > $@
+ sed 's/DROP /ALTER EXTENSION $(EXTENSION) ADD /' $< > $@
# this build extension.control from extension.control.in
$(EXTENSION).control: $(EXTENSION).control.in
- sed 's/EXTVERSION/$(EXTVERSION)/;s/EXTENSION/$(EXTENSION)/;s/EXTCOMMENT/$(EXTCOMMENT)/' $< > $@
+ sed 's/EXTVERSION/$(EXTVERSION)/;s/EXTENSION/$(EXTENSION)/;s/EXTCOMMENT/$(EXTCOMMENT)/' $< > $@
+endif
-DATA = $(EXTENSION)--unpackaged--$(EXTVERSION).sql $(EXTENSION)--$(EXTVERSION).sql
-REGRESS = $(EXTENSION).ext
-EXTRA_CLEAN = $(DATA) $(EXTENSION).control
-pgext_files := $(DOCS)
+# Here we override targets
+# Recent PostgreSQL got a bugfix about that, here we just abuse the upstream fix in the mean-time
+# FIX HERE before PostgreSQL got the backpatch and push the latest minor, can remove this part when done
+ifeq ($(BUILD_EXTENSION),yes)
+
+install: all installdirs installcontrol installdata installdocs installscripts
+ifdef MODULES
+ $(INSTALL_SHLIB) $(addsuffix $(DLSUFFIX), $(MODULES)) '$(DESTDIR)$(pkglibdir)/'
+endif # MODULES
+
+installcontrol: $(addsuffix .control, $(EXTENSION))
+ifneq (,$(EXTENSION))
+ $(INSTALL_DATA) $^ '$(DESTDIR)$(datadir)/extension/'
endif
-# Workaround for lack of good VPATH support in pgxs for extension/contrib
-ifdef VPATH
-pgext_files_build:= $(addprefix $(CURDIR)/, $(pgext_files))
-pgext_reg_files := $(addprefix $(CURDIR)/sql/, $(notdir $(wildcard $(VPATH)/sql/*.sql)))
-pgext_reg_exp := $(addprefix $(CURDIR)/expected/, $(notdir $(wildcard $(VPATH)/expected/*.out)))
-all: $(pgext_files_build) $(pgext_reg_files) $(pgext_reg_exp)
-$(pgext_files_build): $(CURDIR)/%: $(VPATH)/%
- cp $< $@
-$(pgext_reg_files): $(CURDIR)/sql/%: $(VPATH)/sql/%
- mkdir -p $(dir $(pgext_reg_files))
- cp $< $@
-$(pgext_reg_exp): $(CURDIR)/expected/%: $(VPATH)/expected/%
- mkdir -p $(dir $(pgext_reg_exp))
- cp $< $@
-endif # VPATH
+installdata: $(DATA) $(DATA_built)
+ifneq (,$(DATA)$(DATA_built))
+ $(INSTALL_DATA) $^ '$(DESTDIR)$(datadir)/$(datamoduledir)/'
+endif
+
+installdocs: $(DOCS)
+ifdef DOCS
+ifdef docdir
+ $(INSTALL_DATA) $^ '$(DESTDIR)$(docdir)/$(docmoduledir)/'
+endif # docdir
+endif # DOCS
+
+installscripts: $(SCRIPTS) $(SCRIPTS_built)
+ifdef SCRIPTS
+ $(INSTALL_SCRIPT) $^ '$(DESTDIR)$(bindir)/'
+endif # SCRIPTS
+
+installdirs:
+ifneq (,$(EXTENSION))
+ $(MKDIR_P) '$(DESTDIR)$(datadir)/extension'
+endif
+ifneq (,$(DATA)$(DATA_built))
+ $(MKDIR_P) '$(DESTDIR)$(datadir)/$(datamoduledir)'
+endif
+ifneq (,$(MODULES))
+ $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'
+endif
+ifdef DOCS
+ifdef docdir
+ $(MKDIR_P) '$(DESTDIR)$(docdir)/$(docmoduledir)'
+endif # docdir
+endif # DOCS
+
+endif
-PGXS := $(shell $(PG_CONFIG) --pgxs)
-include $(PGXS)
dist:
git archive --prefix=$(EXTENSION)-$(EXTVERSION)/ -o ../$(EXTENSION)_$(EXTVERSION).orig.tar.gz HEAD