#
MODULES = pg_hint_plan
+HINTPLANVER = 1.1.1
+
REGRESS = init base_plan pg_hint_plan ut-init ut-A ut-S ut-J ut-L ut-G ut-R ut-fdw ut-fini
REGRESSION_EXPECTED = expected/init.out expected/base_plan.out expected/pg_hint_plan.out expected/ut-A.out expected/ut-S.out expected/ut-J.out expected/ut-L.out expected/ut-G.out
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
+STARBALL = pg_dbms_stats-$(DBMSSTATSVER).tar.gz
+STARBALL94 = pg_hint_plan94-$(HINTPLANVER).tar.gz
+STARBALLS = $(STARBALL) $(STARBALL94)
+
+TARSOURCES = Makefile *.c *.h \
+ pg_hint_plan--*.sql \
+ pg_hint_plan.control \
+ doc/* expected/*.out sql/*.sql \
+ input/*.source output/*.source SPECS/*.spec
+
installcheck: $(REGRESSION_EXPECTED)
+rpms: rpm94
+
# pg_hint_plan.c includes core.c and make_join_rel.c
-pg_hint_plan.o: core.c make_join_rel.c pg_stat_statements.c
+pg_hint_plan.o: core.c make_join_rel.c # pg_stat_statements.c
+
+$(STARBALLS): $(TARSOURCES)
+ if [ -h $(subst .tar.gz,,$@) ]; then rm $(subst .tar.gz,,$@); fi
+ if [ -e $(subst .tar.gz,,$@) ]; then \
+ echo "$(subst .tar.gz,,$@) is not a symlink. Stop."; \
+ exit 1; \
+ fi
+ ln -s . $(subst .tar.gz,,$@)
+ tar -chzf $@ $(addprefix $(subst .tar.gz,,$@)/, $^)
+ rm $(subst .tar.gz,,$@)
+
+rpm94: $(STARBALL94)
+ MAKE_ROOT=`pwd` rpmbuild -bb SPECS/pg_hint_plan94.spec
+
+
%define _bindir %{_pgdir}/bin
%define _libdir %{_pgdir}/lib
%define _datadir %{_pgdir}/share
+%if "%(echo ${MAKE_ROOT})" != ""
+ %define _rpmdir %(echo ${MAKE_ROOT})/RPMS
+ %define _sourcedir %(echo ${MAKE_ROOT})
+%endif
## Set general information for pg_hint_plan.
Summary: Optimizer hint for PostgreSQL 9.4
## pre work for build pg_hint_plan
%prep
+PATH=/usr/pgsql-9.4/bin:$PATH
+if [ "${MAKE_ROOT}" != "" ]; then
+ pushd ${MAKE_ROOT}
+ make clean %{name}-%{version}.tar.gz
+ popd
+fi
+if [ ! -d %{_rpmdir} ]; then mkdir -p %{_rpmdir}; fi
%setup -q
## Set variables for build environment
%build
-make %{?_smp_mflags}
+PATH=/usr/pgsql-9.4/bin:$PATH
+make USE_PGXS=1 %{?_smp_mflags}
## Set variables for install
%install