...not the other way around. This allows DROP EXTENSION ... CASCADE to remove temporary directories, simplifying the cleanup procedure after an error, and getting rid of the schema on uninstall.
54 lines
1.6 KiB
Makefile
54 lines
1.6 KiB
Makefile
#
|
|
# pg_repack: lib/Makefile
|
|
#
|
|
# Portions Copyright (c) 2008-2012, NIPPON TELEGRAPH AND TELEPHONE CORPORATION
|
|
# Portions Copyright (c) 2011, Itagaki Takahiro
|
|
# Portions Copyright (c) 2012, The Reorg Development Team
|
|
#
|
|
|
|
PG_CONFIG = pg_config
|
|
|
|
EXTENSION = pg_repack
|
|
MODULE_big = $(EXTENSION)
|
|
|
|
OBJS = repack.o pgut/pgut-be.o pgut/pgut-spi.o
|
|
|
|
# The version number of the program. It should be the same of the library.
|
|
REPACK_VERSION = $(shell grep '"version":' ../META.json | head -1 \
|
|
| sed -e 's/\s*"version":\s*"\(.*\)",/\1/')
|
|
|
|
# The version of the extension, read from the .control file.
|
|
# Note that it doesn't need to be the same of the library version: it should
|
|
# be increased only when the sql changes.
|
|
EXTVER = $(shell grep -e '^default_version' $(EXTENSION).control \
|
|
| sed -e "s/[^']*'\([^']*\)'.*/\1/")
|
|
|
|
PG_CPPFLAGS = -DREPACK_VERSION=$(REPACK_VERSION)
|
|
|
|
# Support CREATE EXTENSION for PG >= 9.1 and a simple sql script for PG < 9.1
|
|
HAVE_EXTENSION = $(shell $(PG_CONFIG) --version \
|
|
| grep -qE " 8\.| 9\.0" && echo no || echo yes)
|
|
|
|
ifeq ($(HAVE_EXTENSION),yes)
|
|
DATA_built = pg_repack--$(EXTVER).sql
|
|
else
|
|
DATA_built = pg_repack.sql
|
|
DATA = uninstall_pg_repack.sql
|
|
endif
|
|
|
|
USE_PGXS = 1 # use pgxs if not in contrib directory
|
|
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
|
include $(PGXS)
|
|
|
|
# remove dependency to libxml2 and libxslt
|
|
LIBS := $(filter-out -lxml2, $(LIBS))
|
|
LIBS := $(filter-out -lxslt, $(LIBS))
|
|
|
|
pg_repack.sql: pg_repack.sql.in
|
|
echo "BEGIN;\n" > $@; \
|
|
sed 's,MODULE_PATHNAME,$$libdir/$(MODULE_big),g' $< >> $@; \
|
|
echo "\nCOMMIT;" >> $@;
|
|
|
|
pg_repack--$(EXTVER).sql: pg_repack.sql.in
|
|
cat $< > $@;
|