SHELL = /bin/sh CFG =.env SOURCES ?= $(wildcard *.sql) OBJECTS = $(SOURCES:.sql=.done) OBJECTSDIRECT = $(SOURCES:.sql=.direct) # ------------------------------------------------------------------------------ # шаблон файла .env define CONFIG_DEF # dcape-dns config file, generated by make $(CFG) # Postgresql container name (access via docker) PG_CONTAINER=dcape_db_1 # PowerDNS DB user name PGUSER=pdns # PowerDNS DB name PGDATABASE=pdns # Used ONLY for direct DB access without docker (start-direct) PGPASSWORD= endef export CONFIG_DEF all: help # ------------------------------------------------------------------------------ -include $(CFG) export # ------------------------------------------------------------------------------ # dcape v1 comparibility start-hook: update start-direct: update-direct stop: $(CFG): $(CFG).sample @[ -f $@ ] || cp $< $@ # ------------------------------------------------------------------------------ update: $(OBJECTS) %.done: %.sql @echo "*** $< ***" @csum=$$(md5sum $< | sed 's/ .*//') ; \ cat $< | docker exec -i $$PG_CONTAINER psql -U $$PGUSER -d $$PGDATABASE -vcsum=$$csum > $@ # ------------------------------------------------------------------------------ update-direct: $(CFG) $(OBJECTSDIRECT) %.direct: %.sql @echo "*** $< ***" @source $(CFG) && cat $< | PGPASSWORD=$$PGPASSWORD psql -h localhost -U $$PGUSER > $@ # ------------------------------------------------------------------------------ psql: @docker exec -it $$PG_CONTAINER psql -U $$PGUSER $$PGDATABASE clean: rm -rf *.done $(CFG).sample: @echo "*** $@ ***" @[ -f $@ ] || echo "$$CONFIG_DEF" > $@ ## generate sample config config: $(CFG).sample