box-o-sand/postgresql/installation/Makefile

50 lines
1.3 KiB
Makefile
Raw Normal View History

HERE := $(PWD)
DOWNLOAD_ROOT := http://ftp.postgresql.org/pub/source/
2012-07-14 02:05:43 +00:00
PG_PORT := 25432
PG_VERSION := 9.1.4
2012-07-14 02:05:43 +00:00
PYTHON3 := $(shell which python3)
TARBALL_BASENAME := postgresql-$(PG_VERSION)
TARBALL_URL := $(DOWNLOAD_ROOT)/v$(PG_VERSION)/$(TARBALL_BASENAME).tar.bz2
2012-07-14 02:26:13 +00:00
all: $(HERE)/bin/pg_ctl $(HERE)/data $(HERE)/log $(HERE)/data/postgresql.conf
start: $(HERE)/bin/pg_ctl $(HERE)/data $(HERE)/log
$(HERE)/bin/pg_ctl start -D $(HERE)/data -l $(HERE)/log/postgres.log
stop: $(HERE)/bin/pg_ctl $(HERE)/data $(HERE)/log
$(HERE)/bin/pg_ctl stop -D $(HERE)/data
# pg_ctl restart isn't quite what I want...
restart: $(HERE)/bin/pg_ctl $(HERE)/data $(HERE)/log
$(MAKE) stop && $(MAKE) start
$(TARBALL_BASENAME).tar.bz2:
curl -L -O $(TARBALL_URL)
$(TARBALL_BASENAME)/configure: $(TARBALL_BASENAME).tar.bz2
tar xjvf $< && touch $@
$(HERE)/bin/pg_ctl: $(TARBALL_BASENAME)/configure
2012-07-14 02:05:43 +00:00
cd $(TARBALL_BASENAME) && \
PYTHON=$(PYTHON3) ./configure \
--prefix=$(HERE) \
--with-python \
--with-perl \
--with-tcl \
--with-tclconfig=/usr/lib/tcl8.5 \
--with-openssl \
--with-libxml \
2012-07-14 02:05:43 +00:00
--with-libxslt \
--with-pgport=$(PG_PORT) && \
make && \
make install
$(HERE)/data:
mkdir -p $@
$(HERE)/log:
mkdir -p $@
2012-07-14 02:26:13 +00:00
$(HERE)/data/postgresql.conf: $(HERE)/postgresql.conf $(HERE)/data
cp -v $< $@