stud/II/Referatas/Makefile

75 lines
3.0 KiB
Makefile
Raw Normal View History

2020-05-26 23:08:09 +03:00
CROSSING=622916 6109267 626066 6111487 # xmin ymin xmax ymax
2020-05-27 12:23:09 +03:00
ZEIMENA_TOLERANCES = 128 256 512 1024 2048 4096
2020-05-26 18:33:03 +03:00
SINEWAVE_TOLERANCES = 1 20 30 40
2020-05-27 12:23:09 +03:00
CROSSING_TOLERANCES = 64 128 256
2020-05-27 12:34:32 +03:00
SINEWAVE_SIZE = 120x48
2020-05-27 12:01:03 +03:00
GEN1 = $(addsuffix .pdf, \
2020-05-26 14:07:28 +03:00
$(addprefix sinewave-douglas-,$(SINEWAVE_TOLERANCES)) \
2020-05-26 14:17:39 +03:00
$(addprefix sinewave-visvalingam-,$(SINEWAVE_TOLERANCES)) \
2020-05-26 14:07:28 +03:00
$(addprefix zeimena-douglas-,$(ZEIMENA_TOLERANCES)) \
$(addprefix zeimena-visvalingam-,$(ZEIMENA_TOLERANCES)))
2020-05-22 10:19:17 +03:00
2020-05-27 12:01:03 +03:00
GEN2 = $(addsuffix .pdf, \
2020-05-27 12:34:32 +03:00
$(addprefix overlaid-zeimena-douglas-,$(CROSSING_TOLERANCES)) \
$(addprefix overlaid-zeimena-visvalingam-,$(CROSSING_TOLERANCES)))
GEN3 = $(addsuffix .pdf, \
$(addprefix overlaid-sinewave-douglas-,$(SINEWAVE_TOLERANCES)) \
$(addprefix overlaid-sinewave-visvalingam-,$(SINEWAVE_TOLERANCES)))
2020-05-27 12:01:03 +03:00
2020-05-26 17:36:13 +03:00
mj-referatas.pdf: mj-referatas.tex version.tex bib.bib zeimena.pdf \
2020-05-27 12:34:32 +03:00
sinewave.pdf crossing.pdf $(GEN1) $(GEN2) $(GEN3)
2020-05-22 10:19:17 +03:00
latexmk -g -pdf $<
2020-05-25 13:47:55 +03:00
define algo2img
db/.faux_$(1)-$(2)-%: $(2).sql db/.faux_ready
./managedb -- --echo-all -v ON_ERROR_STOP=1 -v src=$(1) -v tolerance=$$* -v tbl=$(1)_$(2)_$$* -f $(2).sql
2020-05-26 12:11:41 +03:00
touch $$@
$(1)-$(2)-%.pdf: layer2img.py db/.faux_$(1)-$(2)-%
2020-05-27 12:23:09 +03:00
./layer2img.py --group2-table=$(1)_$(2)_$$* --size=$(3) --outfile $$@
2020-05-27 12:01:03 +03:00
endef
define algo2overlay
2020-05-27 12:34:32 +03:00
overlaid-$(1)-$(2)-%.pdf: layer2img.py db/.faux_$(1)-$(2)-%
2020-05-27 12:23:09 +03:00
./layer2img.py $(3) --group1-table=$(1) --group2-table=$(1)_$(2)_$$* --outfile $$@
2020-05-25 13:04:39 +03:00
endef
2020-05-26 16:10:54 +03:00
define gpkg2pdf
2020-05-27 11:06:10 +03:00
$(1): $(2) ./layer2img.py
2020-05-27 12:23:09 +03:00
./layer2img.py $(3) --group1-infile=$$< --outfile $(1)
2020-05-26 16:10:54 +03:00
endef
2020-05-27 12:01:03 +03:00
$(eval $(call algo2img,sinewave,douglas,60x24))
$(eval $(call algo2img,sinewave,visvalingam,60x24))
$(eval $(call algo2img,zeimena,douglas,210x297))
$(eval $(call algo2img,zeimena,visvalingam,210x297))
2020-05-27 12:34:32 +03:00
$(eval $(call gpkg2pdf,sinewave.pdf,sinewave.gpkg,,--size=$(SINEWAVE_SIZE)))
$(eval $(call gpkg2pdf,zeimena.pdf,zeimena.gpkg rectangle.gpkg,--size=134x191 --group2-infile rectangle.gpkg))
2020-05-27 11:06:10 +03:00
$(eval $(call gpkg2pdf,crossing.pdf,zeimena.gpkg,--size=105x74 --clip $(CROSSING)))
2020-05-27 12:34:32 +03:00
$(eval $(call algo2overlay,zeimena,douglas,--size 148x105 --clip $(CROSSING)))
$(eval $(call algo2overlay,zeimena,visvalingam,--size 148x105 --clip $(CROSSING)))
$(eval $(call algo2overlay,sinewave,douglas,--size $(SINEWAVE_SIZE)))
$(eval $(call algo2overlay,sinewave,visvalingam,--size $(SINEWAVE_SIZE)))
2020-05-22 10:19:17 +03:00
2020-05-27 10:20:03 +03:00
sinewave.gpkg: fig2layer.py
./fig2layer.py -o $@ sine
2020-05-26 12:11:41 +03:00
2020-05-27 10:26:59 +03:00
rectangle.gpkg: fig2layer.py
2020-05-27 10:53:54 +03:00
./fig2layer.py -o $@ rect --bounds $(CROSSING)
2020-05-27 10:26:59 +03:00
2020-05-26 12:28:32 +03:00
db/.faux_ready: zeimena.gpkg sinewave.gpkg managedb
2020-05-22 10:19:17 +03:00
-./managedb stop; rm -fr db
./managedb init
2020-05-26 12:11:41 +03:00
ogr2ogr -f PostgreSQL "PG:host=127.0.0.1 user=osm dbname=osm" zeimena.gpkg
2020-05-26 12:28:32 +03:00
ogr2ogr -f PostgreSQL "PG:host=127.0.0.1 user=osm dbname=osm" sinewave.gpkg
2020-05-22 10:19:17 +03:00
touch $@
2020-05-22 22:20:47 +03:00
REF = $(shell git describe --tags)
2020-05-25 13:55:24 +03:00
DIRTY = $(shell git status --porcelain | awk '{print"-dirty";exit}')
2020-05-22 10:19:17 +03:00
GIT_DIR = $(shell git rev-parse --show-toplevel)/.git
version.tex: $(shell git ls-files .) $(GIT_DIR)
2020-05-22 22:20:47 +03:00
( \
date '+\gdef\GeneratedAt{%F %T %Z}%'; \
printf '\gdef\VCDescribe{%s%s}%%\n' $(REF) $(DIRTY); \
) > $@