pg_repack/lib/Makefile
Daniele Varrazzo ac068cc69b Script to create extension from loose objects dropped altogether
pg_repack doesn't create any object to depend on, so it is always possible drop
it and install a new version instead of upgrading. Creating a robust upgrade
path from loose objects which can be of any version to a target version is
hopelessly brittle, so I'd suggest the user just to drop a previous pg_repack
version and install the new one.
2012-11-12 00:20:41 +00:00

47 lines
1.5 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
#
MODULE_big = pg_repack
OBJS = repack.o pgut/pgut-be.o pgut/pgut-spi.o
EXTENSION = pg_repack
# 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)
#supports both EXTENSION (for >=9.1) and without_EXTENSION (for <PG 9.1)
DATA_built = pg_repack.sql pg_repack--$(EXTVER).sql
DATA = uninstall_pg_repack.sql
USE_PGXS = 1 # use pgxs if not in contrib directory
PG_CONFIG = pg_config
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" > $@; \
echo "CREATE SCHEMA repack;\n" >> $@; \
sed 's,MODULE_PATHNAME,$$libdir/$(MODULE_big),g' $< >> $@; \
echo "\nCOMMIT;" >> $@;
pg_repack--$(EXTVER).sql: pg_repack.sql.in
echo '\echo Use "CREATE EXTENSION pg_repack" to load this file. \quit' > $@; \
cat $< >> $@;