Changeset View
Changeset View
Standalone View
Standalone View
sql/updater/sql/Makefile
# Depends: postgresql-client, postgresql-autodoc | # Depends: postgresql-client, postgresql-autodoc | ||||
DBNAME = softwareheritage-scheduler-updater-dev | DBNAME = softwareheritage-scheduler-updater-dev | ||||
DOCDIR = autodoc | DOCDIR = autodoc | ||||
SQL_INIT = swh-init.sql | SQL_INIT = 10-swh-init.sql | ||||
SQL_SCHEMA = swh-schema.sql | SQL_SCHEMA = 30-swh-schema.sql | ||||
SQL_FUNC = swh-func.sql | SQL_FUNC = 40-swh-func.sql | ||||
SQLS = $(SQL_INIT) $(SQL_SCHEMA) $(SQL_FUNC) | SQLS = $(SQL_INIT) $(SQL_SCHEMA) $(SQL_FUNC) | ||||
SQL_FILES = $(abspath $(addprefix \ | |||||
$(CURDIR)/../../../swh/scheduler/sql/updater/,$(SQLS))) | |||||
PSQL_BIN = psql | PSQL_BIN = psql | ||||
PSQL_FLAGS = --echo-all -X -v ON_ERROR_STOP=1 | PSQL_FLAGS = --echo-all -X -v ON_ERROR_STOP=1 | ||||
PSQL = $(PSQL_BIN) $(PSQL_FLAGS) | PSQL = $(PSQL_BIN) $(PSQL_FLAGS) | ||||
PIFPAF=$(findstring postgresql://,$(PIFPAF_URLS)) | |||||
all: | all: | ||||
createdb: createdb-stamp | createdb: createdb-stamp | ||||
createdb-stamp: $(SQL_INIT) | createdb-stamp: $(SQL_FILES) | ||||
ifndef PIFPAF | |||||
-dropdb $(DBNAME) | |||||
endif | |||||
createdb $(DBNAME) | createdb $(DBNAME) | ||||
ifndef PIFPAF | |||||
touch $@ | touch $@ | ||||
else | |||||
rm -f $@ | |||||
endif | |||||
filldb: filldb-stamp | filldb: filldb-stamp | ||||
filldb-stamp: createdb-stamp | filldb-stamp: createdb-stamp | ||||
cat $(SQLS) | $(PSQL) $(DBNAME) | cat $(SQL_FILES) | $(PSQL) $(DBNAME) | ||||
ifndef PIFPAF | |||||
touch $@ | touch $@ | ||||
else | |||||
rm -f $@ | |||||
endif | |||||
dropdb: | dropdb: | ||||
-dropdb $(DBNAME) | -dropdb $(DBNAME) | ||||
dumpdb: swh-scheduler-updater.dump | dumpdb: swh-scheduler-updater.dump | ||||
swh-scheduler.dump: filldb-stamp | swh-scheduler-updater.dump: filldb-stamp | ||||
pg_dump -Fc $(DBNAME) > $@ | pg_dump -Fc $(DBNAME) > $@ | ||||
doc: autodoc-stamp $(DOCDIR)/swh-scheduler-updater.pdf | $(DOCDIR): | ||||
autodoc-stamp: filldb-stamp | |||||
test -d $(DOCDIR)/ || mkdir $(DOCDIR) | test -d $(DOCDIR)/ || mkdir $(DOCDIR) | ||||
postgresql_autodoc -d $(DBNAME) -f $(DOCDIR)/swh | |||||
cp -a $(DOCDIR)/swh-scheduler.dot $(DOCDIR)/swh-scheduler-updater.dot.orig | |||||
touch $@ | |||||
$(DOCDIR)/swh-scheduler.pdf: autodoc-stamp | doc: autodoc-stamp $(DOCDIR)/swh-scheduler-updater.pdf | ||||
dot -T pdf $(DOCDIR)/swh-scheduler-updater.dot > $(DOCDIR)/swh-scheduler-updater.pdf | autodoc-stamp: filldb-stamp $(DOCDIR) | ||||
postgresql_autodoc -d $(DBNAME) -f $(DOCDIR)/swh-scheduler-updater | |||||
cp -a $(DOCDIR)/swh-scheduler-updater.dot $(DOCDIR)/swh-scheduler-updater.dot.orig | |||||
ifndef PIFPAF | |||||
touch $@ | |||||
else | |||||
rm -f $@ | |||||
endif | |||||
$(DOCDIR)/swh-scheduler-updater.pdf: $(DOCDIR)/swh-scheduler-updater.dot autodoc-stamp | |||||
dot -T pdf $< > $@ | |||||
$(DOCDIR)/swh-scheduler-updater.svg: $(DOCDIR)/swh-scheduler-updater.dot autodoc-stamp | |||||
dot -T svg $< > $@ | |||||
clean: | clean: | ||||
rm -rf *-stamp $(DOCDIR)/ | rm -rf *-stamp $(DOCDIR)/ | ||||
distclean: clean dropdb | distclean: clean dropdb | ||||
rm -f swh-scheduler-updater.dump | rm -f swh-scheduler-updater.dump | ||||
.PHONY: all initdb createdb dropdb doc clean | .PHONY: all initdb createdb dropdb doc clean |