2021-03-13 16:46:32 +02:00
|
|
|
SOURCE ?= lithuania-latest.osm.pbf
|
2021-04-08 16:03:52 +03:00
|
|
|
WHERE ?= name='Visinčia' OR name='Šalčia' OR name='Nemunas' OR name='Žeimena' OR name='Lakaja'
|
|
|
|
#WHERE ?= name='Žeimena' OR name='Lakaja'
|
2021-03-30 17:37:13 +03:00
|
|
|
SLIDES = slides-2021-03-29.pdf
|
2021-04-06 09:17:53 +03:00
|
|
|
|
2021-03-30 17:37:13 +03:00
|
|
|
NON_ARCHIVABLES = notes.txt referatui.txt slides-2021-03-29.txt
|
|
|
|
ARCHIVABLES = $(filter-out $(NON_ARCHIVABLES),$(shell git ls-files .))
|
2021-04-13 15:32:28 +03:00
|
|
|
|
|
|
|
FIGURES = test-figures \
|
|
|
|
fig6-self-crossing-before \
|
|
|
|
fig6-self-crossing-after \
|
|
|
|
fig8-definition-of-a-bend \
|
|
|
|
fig5-gentle-inflection-before \
|
|
|
|
fig5-gentle-inflection-after \
|
|
|
|
inflection-1-gentle-inflection-before \
|
|
|
|
inflection-1-gentle-inflection-after
|
2021-03-28 12:49:46 +03:00
|
|
|
|
2021-03-15 18:58:16 +02:00
|
|
|
.PHONY: test
|
2021-04-01 19:30:20 +03:00
|
|
|
test: .faux_test
|
2021-03-15 18:58:16 +02:00
|
|
|
|
2021-03-17 11:32:12 +02:00
|
|
|
.PHONY: test-integration
|
|
|
|
test-integration: .faux_filter-rivers
|
|
|
|
./db -f tests-integration.sql
|
2021-03-15 18:58:16 +02:00
|
|
|
|
2021-03-23 18:40:25 +02:00
|
|
|
.PHONY: clean
|
2021-03-21 16:52:31 +02:00
|
|
|
clean:
|
|
|
|
-./db stop
|
2021-04-06 17:48:25 +03:00
|
|
|
-rm -r .faux_test .faux_filter-rivers .faux_import-osm .faux_db \
|
2021-04-13 04:26:19 +03:00
|
|
|
version.inc.tex vars.inc.tex version.aux version.fdb_latexmk \
|
2021-04-13 15:32:28 +03:00
|
|
|
minted-mj-msc \
|
2021-04-02 06:27:32 +03:00
|
|
|
$(shell git ls-files -o mj-msc*) \
|
2021-04-13 15:32:28 +03:00
|
|
|
$(addsuffix .pdf,$(FIGURES)) \
|
|
|
|
$(SLIDES)
|
2021-03-21 16:52:31 +02:00
|
|
|
|
2021-03-23 18:40:25 +02:00
|
|
|
.PHONY: clean-tables
|
|
|
|
clean-tables:
|
2021-04-06 14:34:00 +03:00
|
|
|
for t in $$(./db -c '\dt' | awk '/\ywm_\w+\y/{print $$3}'); do \
|
2021-03-23 18:40:25 +02:00
|
|
|
./db -c "drop table $$t"; \
|
|
|
|
done
|
2021-04-05 16:32:42 +03:00
|
|
|
-rm .faux_test
|
2021-03-23 18:40:25 +02:00
|
|
|
|
2021-03-28 13:19:10 +03:00
|
|
|
.PHONY: slides
|
2021-03-29 06:48:08 +03:00
|
|
|
slides: $(SLIDES)
|
2021-03-28 13:19:10 +03:00
|
|
|
|
2021-04-13 15:32:28 +03:00
|
|
|
mj-msc.pdf: mj-msc.tex version.inc.tex vars.inc.tex bib.bib $(addsuffix .pdf,$(FIGURES))
|
2021-03-30 17:37:13 +03:00
|
|
|
latexmk -shell-escape -g -pdf $<
|
|
|
|
|
2021-04-12 10:10:39 +03:00
|
|
|
mj-msc-gray.pdf: mj-msc.pdf
|
|
|
|
gs \
|
|
|
|
-sOutputFile=$@ \
|
|
|
|
-sDEVICE=pdfwrite \
|
|
|
|
-sColorConversionStrategy=Gray \
|
|
|
|
-dProcessColorModel=/DeviceGray \
|
|
|
|
-dCompatibilityLevel=1.4 \
|
|
|
|
-dNOPAUSE \
|
|
|
|
-dBATCH \
|
|
|
|
$<
|
|
|
|
|
2021-04-13 04:26:19 +03:00
|
|
|
mj-msc-full.pdf: mj-msc.pdf version.inc.tex $(ARCHIVABLES)
|
2021-04-12 10:31:22 +03:00
|
|
|
cp $< .tmp-$@
|
|
|
|
for f in $^; do \
|
|
|
|
if [ "$$f" = "$<" ]; then continue; fi; \
|
|
|
|
pdfattach .tmp-$@ $$f .tmp2-$@; \
|
|
|
|
mv .tmp2-$@ .tmp-$@; \
|
|
|
|
done
|
|
|
|
mv .tmp-$@ $@
|
|
|
|
|
2021-04-13 15:32:28 +03:00
|
|
|
define FIG_template
|
|
|
|
$(1).pdf: layer2img.py Makefile .faux_test
|
2021-04-13 09:53:44 +03:00
|
|
|
python ./layer2img.py \
|
2021-04-13 15:32:28 +03:00
|
|
|
--outfile=$(1).pdf \
|
|
|
|
$$(if $$($(1)_WIDTHDIV),--widthdiv=$$($(1)_WIDTHDIV)) \
|
|
|
|
$$(foreach i,1 2 3, \
|
|
|
|
$$(if $$($(1)_CMAP$$(i)),--group$$(i)-cmap="$$($(1)_CMAP$$(i))") \
|
|
|
|
$$(if $$($(1)_SELECT$$(i)),--group$$(i)-select="$$($(1)_SELECT$$(i))") \
|
|
|
|
$$(if $$($(1)_LINESTYLE$$(i)),--group$$(i)-linestyle="$$($(1)_LINESTYLE$$(i))") \
|
|
|
|
)
|
|
|
|
endef
|
|
|
|
|
|
|
|
$(foreach fig,$(FIGURES),$(eval $(call FIG_template,$(fig))))
|
|
|
|
|
|
|
|
test-figures_SELECT1 = wm_figures
|
|
|
|
|
|
|
|
fig8-definition-of-a-bend_SELECT1 = wm_debug where name='fig8' AND stage='bbends' AND gen=1
|
|
|
|
fig8-definition-of-a-bend_CMAP2 = 1
|
|
|
|
fig8-definition-of-a-bend_SELECT2 = wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=1
|
|
|
|
|
|
|
|
fig5-gentle-inflection-before_WITHDIV = 2
|
|
|
|
fig5-gentle-inflection-before_SELECT1 = wm_debug where name='fig5' AND stage='bbends' AND gen=1
|
|
|
|
fig5-gentle-inflection-before_CMAP2 = 1
|
|
|
|
fig5-gentle-inflection-before_SELECT2 = wm_debug where name='fig5' AND stage='bbends-polygon' AND gen=1
|
|
|
|
fig5-gentle-inflection-after_WITHDIV = 2
|
|
|
|
fig5-gentle-inflection-after_SELECT1 = wm_debug where name='fig5' AND stage='cinflections' AND gen=1
|
|
|
|
fig5-gentle-inflection-after_SELECT2 = wm_debug where name='fig5' AND stage='cinflections-polygon' AND gen=1
|
|
|
|
fig5-gentle-inflection-after_CMAP2 = 1
|
|
|
|
|
|
|
|
inflection-1-gentle-inflection-before_WIDTHDIV = 2
|
|
|
|
inflection-1-gentle-inflection-before_SELECT1 = wm_debug where name='inflection-1' AND stage='bbends' AND gen=1
|
|
|
|
inflection-1-gentle-inflection-before_SELECT2 = wm_debug where name='inflection-1' AND stage='bbends-polygon' AND gen=1
|
|
|
|
inflection-1-gentle-inflection-before_CMAP2 = 1
|
|
|
|
inflection-1-gentle-inflection-after_WIDTHDIV = 2
|
|
|
|
inflection-1-gentle-inflection-after_SELECT1 = wm_debug where name='inflection-1' AND stage='cinflections' AND gen=1
|
|
|
|
inflection-1-gentle-inflection-after_SELECT2 = wm_debug where name='inflection-1' AND stage='cinflections-polygon' AND gen=1
|
|
|
|
inflection-1-gentle-inflection-after_CMAP2 = 1
|
|
|
|
|
|
|
|
fig6-self-crossing-before_WIDTHDIV = 4
|
|
|
|
fig6-self-crossing-before_SELECT1 = wm_debug where name='fig6' AND stage='bbends' AND gen=1
|
|
|
|
fig6-self-crossing-before_SELECT2 = wm_visuals where name='fig6-baseline'
|
|
|
|
fig6-self-crossing-before_SELECT3 = wm_visuals where name='fig6-newline'
|
|
|
|
fig6-self-crossing-before_LINESTYLE2 = dashed
|
|
|
|
fig6-self-crossing-before_LINESTYLE3 = dashed
|
|
|
|
fig6-self-crossing-after_WIDTHDIV = 4
|
|
|
|
fig6-self-crossing-after_SELECT1 = wm_debug where name='fig6' AND stage='dcrossings' AND gen=1
|
2021-04-12 13:33:51 +03:00
|
|
|
|
2021-04-06 17:48:25 +03:00
|
|
|
.faux_test: tests.sql wm.sql .faux_db
|
2021-04-01 19:30:20 +03:00
|
|
|
./db -f tests.sql
|
|
|
|
touch $@
|
2021-03-28 12:35:15 +03:00
|
|
|
|
2021-04-06 17:48:25 +03:00
|
|
|
.faux_filter-rivers: .faux_import-osm Makefile
|
2021-03-13 16:44:31 +02:00
|
|
|
./db -v where="$(WHERE)" -f aggregate-rivers.sql
|
2021-03-13 15:53:22 +02:00
|
|
|
touch $@
|
|
|
|
|
2021-04-06 17:48:25 +03:00
|
|
|
.faux_import-osm: $(SOURCE) .faux_db
|
2021-03-13 15:53:22 +02:00
|
|
|
PGPASSWORD=osm osm2pgsql \
|
|
|
|
-c --multi-geometry \
|
|
|
|
-H 127.0.0.1 -d osm -U osm \
|
|
|
|
$<
|
|
|
|
touch $@
|
|
|
|
|
2021-04-06 17:48:25 +03:00
|
|
|
.faux_db:
|
2021-03-13 15:53:22 +02:00
|
|
|
./db start
|
|
|
|
touch $@
|
|
|
|
|
2021-03-13 16:46:32 +02:00
|
|
|
$(SOURCE):
|
|
|
|
wget http://download.geofabrik.de/europe/$@
|
2021-03-30 17:37:13 +03:00
|
|
|
|
2021-03-30 17:45:06 +03:00
|
|
|
REF = $(shell git describe --abbrev=12 --always --dirty)
|
2021-04-13 04:26:19 +03:00
|
|
|
version.inc.tex: Makefile $(shell git rev-parse --git-dir 2>/dev/null)
|
2021-04-06 09:17:53 +03:00
|
|
|
TZ=UTC date '+\gdef\VCDescribe{%F ($(REF))}%' > $@
|
2021-04-01 19:30:20 +03:00
|
|
|
|
2021-04-13 04:26:19 +03:00
|
|
|
vars.inc.tex: vars.awk wm.sql Makefile
|
2021-04-13 04:31:29 +03:00
|
|
|
awk -f $< wm.sql
|
2021-04-13 04:26:19 +03:00
|
|
|
|
2021-04-01 19:30:20 +03:00
|
|
|
slides-2021-03-29.pdf: slides-2021-03-29.txt
|
|
|
|
pandoc -t beamer -i $< -o $@
|
|
|
|
|
2021-04-06 07:51:39 +03:00
|
|
|
dump-debug_wm.sql.xz:
|
2021-04-06 09:17:53 +03:00
|
|
|
docker exec -ti wm-mj pg_dump -Uosm osm -t debug_wm | xz -v > $@
|