2021-04-17 21:52:08 +03:00
|
|
|
OSM ?= lithuania-latest.osm.pbf
|
2021-05-10 23:20:01 +03:00
|
|
|
RIVERFILTER = Visinčia|Šalčia|Nemunas
|
2021-03-30 17:37:13 +03:00
|
|
|
SLIDES = slides-2021-03-29.pdf
|
2021-04-06 09:17:53 +03:00
|
|
|
|
2021-05-10 23:20:01 +03:00
|
|
|
GDB10LT ?= $(wildcard GDB10LT-static-*.zip)
|
|
|
|
|
2021-04-24 12:49:37 +03:00
|
|
|
# Max figure size (in meters) is when it's width is TEXTWIDTH_CM on scale 1:25k
|
|
|
|
SCALEDWIDTH = $(shell awk '/^TEXTWIDTH_CM/{print 25000/100*$$3}' layer2img.py)
|
|
|
|
|
2021-04-17 16:55:49 +03:00
|
|
|
##############################################################################
|
|
|
|
# These variables have to come before first use due to how macros are expanded
|
|
|
|
##############################################################################
|
|
|
|
|
|
|
|
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
|
|
|
|
2021-04-29 21:40:15 +03:00
|
|
|
LISTINGS = aggregate-rivers.sql wm.sql extract-and-generate
|
|
|
|
|
2021-04-18 23:24:15 +03:00
|
|
|
FIGURES = \
|
|
|
|
test-figures \
|
|
|
|
fig8-definition-of-a-bend \
|
2021-05-08 18:14:07 +03:00
|
|
|
fig8-elimination-gen1 \
|
|
|
|
fig8-elimination-gen2 \
|
|
|
|
fig8-elimination-gen3 \
|
2021-04-18 23:24:15 +03:00
|
|
|
fig5-gentle-inflection-before \
|
|
|
|
fig5-gentle-inflection-after \
|
|
|
|
inflection-1-gentle-inflection-before \
|
|
|
|
inflection-1-gentle-inflection-after \
|
2021-05-09 14:33:53 +03:00
|
|
|
fig6-selfcrossing \
|
|
|
|
selfcrossing-1 \
|
2021-05-09 14:15:04 +03:00
|
|
|
isolated-1-exaggerated
|
2021-04-18 23:24:15 +03:00
|
|
|
|
|
|
|
RIVERS = \
|
2021-04-20 18:21:07 +03:00
|
|
|
salvis-25k \
|
|
|
|
salvis-50k \
|
2021-05-16 18:11:44 +03:00
|
|
|
salvis-250k-10x \
|
|
|
|
salvis-gdr250-2x \
|
2021-05-16 23:23:07 +03:00
|
|
|
salvis-dp-64-50k \
|
|
|
|
salvis-vw-64-50k \
|
|
|
|
salvis-dp-64-chaikin-50k \
|
|
|
|
salvis-vw-64-chaikin-50k \
|
|
|
|
salvis-overlaid-dp-64-chaikin-50k \
|
|
|
|
salvis-overlaid-vw-64-chaikin-50k \
|
2021-05-16 18:11:44 +03:00
|
|
|
salvis-wm-250k-10x \
|
|
|
|
salvis-wm-250k-2x \
|
2021-05-16 17:34:04 +03:00
|
|
|
salvis-wm-50k \
|
|
|
|
salvis-wm-50k-nw \
|
|
|
|
salvis-wm-50k-ne \
|
2021-05-16 16:10:39 +03:00
|
|
|
salvis-wm-overlaid-250k-zoom \
|
2021-05-16 17:45:13 +03:00
|
|
|
salvis-wm-gdr50 \
|
2021-05-16 18:11:44 +03:00
|
|
|
salvis-wm-gdr50-ne \
|
2021-05-18 09:41:57 +03:00
|
|
|
salvis-wm-220
|
2021-03-28 12:49:46 +03:00
|
|
|
|
2021-04-13 15:36:04 +03:00
|
|
|
test-figures_1SELECT = wm_figures
|
2021-04-13 15:32:28 +03:00
|
|
|
|
2021-05-09 14:15:04 +03:00
|
|
|
fig8-definition-of-a-bend_1SELECT = wm_debug where name='fig8' AND stage='afigures' AND gen=1
|
2021-04-13 15:36:04 +03:00
|
|
|
fig8-definition-of-a-bend_2SELECT = wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=1
|
2021-05-09 11:39:34 +03:00
|
|
|
fig8-definition-of-a-bend_3SELECT = wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=1
|
|
|
|
fig8-definition-of-a-bend_3LINESTYLE = dotted
|
2021-04-13 15:32:28 +03:00
|
|
|
|
2021-05-09 14:15:04 +03:00
|
|
|
fig8-elimination-gen1_1SELECT = wm_debug where name='fig8' AND stage='afigures' AND gen=1
|
2021-05-08 18:14:07 +03:00
|
|
|
fig8-elimination-gen1_2SELECT = wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=1
|
2021-05-09 11:39:34 +03:00
|
|
|
fig8-elimination-gen1_3SELECT = wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=1
|
|
|
|
fig8-elimination-gen1_3LINESTYLE = dotted
|
|
|
|
|
2021-05-09 14:15:04 +03:00
|
|
|
fig8-elimination-gen2_1SELECT = wm_debug where name='fig8' AND stage='afigures' AND gen=2
|
2021-05-08 18:14:07 +03:00
|
|
|
fig8-elimination-gen2_2SELECT = wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=2
|
2021-05-09 11:39:34 +03:00
|
|
|
fig8-elimination-gen2_3SELECT = wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=2
|
|
|
|
fig8-elimination-gen2_3LINESTYLE = dotted
|
2021-05-08 18:14:07 +03:00
|
|
|
fig8-elimination-gen3_1SELECT = wm_debug where name='fig8' AND stage='bbends' AND gen=3
|
|
|
|
fig8-elimination-gen3_2SELECT = wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=3
|
2021-05-09 11:39:34 +03:00
|
|
|
fig8-elimination-gen3_3SELECT = wm_debug where name='fig8' AND stage='bbends-polygon' AND gen=3
|
|
|
|
fig8-elimination-gen3_3LINESTYLE = dotted
|
2021-05-08 18:14:07 +03:00
|
|
|
|
2021-04-13 15:32:28 +03:00
|
|
|
fig5-gentle-inflection-before_WITHDIV = 2
|
2021-05-09 14:33:53 +03:00
|
|
|
fig5-gentle-inflection-before_1SELECT = wm_debug where name='fig5' AND stage='afigures' AND gen=1
|
2021-04-13 15:36:04 +03:00
|
|
|
fig5-gentle-inflection-before_2SELECT = wm_debug where name='fig5' AND stage='bbends-polygon' AND gen=1
|
2021-05-09 11:39:34 +03:00
|
|
|
fig5-gentle-inflection-before_3SELECT = wm_debug where name='fig5' AND stage='bbends-polygon' AND gen=1
|
|
|
|
fig5-gentle-inflection-before_3LINESTYLE = dotted
|
2021-04-13 15:32:28 +03:00
|
|
|
fig5-gentle-inflection-after_WITHDIV = 2
|
2021-04-13 15:36:04 +03:00
|
|
|
fig5-gentle-inflection-after_1SELECT = wm_debug where name='fig5' AND stage='cinflections' AND gen=1
|
|
|
|
fig5-gentle-inflection-after_2SELECT = wm_debug where name='fig5' AND stage='cinflections-polygon' AND gen=1
|
2021-05-09 11:39:34 +03:00
|
|
|
fig5-gentle-inflection-after_3SELECT = wm_debug where name='fig5' AND stage='cinflections-polygon' AND gen=1
|
|
|
|
fig5-gentle-inflection-after_3LINESTYLE = dotted
|
2021-04-13 15:32:28 +03:00
|
|
|
|
2021-04-18 16:38:03 +03:00
|
|
|
inflection-1-gentle-inflection-before_WIDTHDIV = 2
|
2021-05-09 14:33:53 +03:00
|
|
|
inflection-1-gentle-inflection-before_1SELECT = wm_debug where name='inflection-1' AND stage='afigures' AND gen=1
|
2021-04-13 15:36:04 +03:00
|
|
|
inflection-1-gentle-inflection-before_2SELECT = wm_debug where name='inflection-1' AND stage='bbends-polygon' AND gen=1
|
2021-05-09 11:39:34 +03:00
|
|
|
inflection-1-gentle-inflection-before_3SELECT = wm_debug where name='inflection-1' AND stage='bbends-polygon' AND gen=1
|
|
|
|
inflection-1-gentle-inflection-before_3LINESTYLE = dotted
|
2021-04-18 16:38:03 +03:00
|
|
|
inflection-1-gentle-inflection-after_WIDTHDIV = 2
|
2021-04-13 15:36:04 +03:00
|
|
|
inflection-1-gentle-inflection-after_1SELECT = wm_debug where name='inflection-1' AND stage='cinflections' AND gen=1
|
|
|
|
inflection-1-gentle-inflection-after_2SELECT = wm_debug where name='inflection-1' AND stage='cinflections-polygon' AND gen=1
|
2021-05-09 11:39:34 +03:00
|
|
|
inflection-1-gentle-inflection-after_3SELECT = wm_debug where name='inflection-1' AND stage='cinflections-polygon' AND gen=1
|
|
|
|
inflection-1-gentle-inflection-after_3LINESTYLE = dotted
|
2021-04-13 15:32:28 +03:00
|
|
|
|
2021-05-09 14:33:53 +03:00
|
|
|
fig6-selfcrossing_WIDTHDIV = 2
|
|
|
|
fig6-selfcrossing_1SELECT = wm_debug where name='fig6' AND stage='afigures' AND gen=1
|
|
|
|
fig6-selfcrossing_1LINESTYLE = dotted
|
|
|
|
fig6-selfcrossing_2SELECT = wm_debug where name='fig6' AND stage='dcrossings' AND gen=1
|
|
|
|
fig6-selfcrossing_3SELECT = wm_visuals where name='fig6-baseline'
|
|
|
|
fig6-selfcrossing_3COLOR = orange
|
|
|
|
|
|
|
|
selfcrossing-1_WIDTHDIV = 2
|
|
|
|
selfcrossing-1_1SELECT = wm_debug where name='selfcrossing-1' AND stage='afigures' AND gen=1
|
|
|
|
selfcrossing-1_1LINESTYLE = dotted
|
|
|
|
selfcrossing-1_2SELECT = wm_debug where name='selfcrossing-1' AND stage='dcrossings' AND gen=1
|
|
|
|
selfcrossing-1_3SELECT = wm_visuals where name='selfcrossing-1-baseline'
|
|
|
|
selfcrossing-1_3COLOR = orange
|
2021-04-17 16:16:27 +03:00
|
|
|
|
2021-05-09 14:15:04 +03:00
|
|
|
isolated-1-exaggerated_WIDTHDIV = 2
|
2021-05-16 16:51:11 +03:00
|
|
|
isolated-1-exaggerated_1SELECT = wm_debug where name='isolated-1' AND stage='afigures' AND gen=2
|
|
|
|
isolated-1-exaggerated_2SELECT = wm_debug where name='isolated-1' AND stage='afigures' AND gen=1
|
|
|
|
isolated-1-exaggerated_1COLOR = orange
|
2021-05-08 18:14:07 +03:00
|
|
|
|
2021-04-25 15:49:34 +03:00
|
|
|
salvis-25k_1SELECT = wm_visuals where name='salvis'
|
2021-04-20 18:21:07 +03:00
|
|
|
salvis-25k_WIDTHDIV = 1
|
2021-04-18 23:24:15 +03:00
|
|
|
|
2021-04-25 15:49:34 +03:00
|
|
|
salvis-50k_1SELECT = wm_visuals where name='salvis'
|
2021-04-24 12:49:37 +03:00
|
|
|
salvis-50k_WIDTHDIV = 2
|
2021-04-18 23:31:33 +03:00
|
|
|
|
2021-05-16 18:11:44 +03:00
|
|
|
salvis-250k-10x_1SELECT = wm_visuals where name='salvis'
|
|
|
|
salvis-250k-10x_WIDTHDIV = 10
|
|
|
|
|
|
|
|
salvis-gdr250-2x_1SELECT = wm_visuals where name='salvis-gdr250'
|
|
|
|
salvis-gdr250-2x_WIDTHDIV = 2
|
2021-04-18 23:31:33 +03:00
|
|
|
|
2021-05-16 23:23:07 +03:00
|
|
|
salvis-dp-64-50k_1SELECT = wm_visuals where name='salvis-dp-64'
|
|
|
|
salvis-dp-64-50k_WIDTHDIV = 2
|
2021-04-26 10:12:46 +03:00
|
|
|
|
2021-05-16 23:23:07 +03:00
|
|
|
salvis-vw-64-50k_1SELECT = wm_visuals where name='salvis-vw-64'
|
|
|
|
salvis-vw-64-50k_WIDTHDIV = 2
|
2021-04-26 10:12:46 +03:00
|
|
|
|
2021-05-18 09:48:42 +03:00
|
|
|
salvis-dp-64-chaikin-50k_2SELECT = wm_visuals where name='salvis-dp-chaikin-64'
|
2021-05-16 23:23:07 +03:00
|
|
|
salvis-dp-64-chaikin-50k_WIDTHDIV = 2
|
2021-04-26 10:12:46 +03:00
|
|
|
|
2021-05-18 09:48:42 +03:00
|
|
|
salvis-vw-64-chaikin-50k_2SELECT = wm_visuals where name='salvis-vw-chaikin-64'
|
2021-05-16 23:23:07 +03:00
|
|
|
salvis-vw-64-chaikin-50k_WIDTHDIV = 2
|
2021-04-26 10:12:46 +03:00
|
|
|
|
2021-05-18 09:48:42 +03:00
|
|
|
salvis-overlaid-dp-64-chaikin-50k_1SELECT = wm_visuals where name='salvis-dp-chaikin-64'
|
2021-05-16 23:23:07 +03:00
|
|
|
salvis-overlaid-dp-64-chaikin-50k_2SELECT = wm_visuals where name='salvis'
|
|
|
|
salvis-overlaid-dp-64-chaikin-50k_1COLOR = orange
|
|
|
|
salvis-overlaid-dp-64-chaikin-50k_WIDTHDIV = 2
|
|
|
|
salvis-overlaid-dp-64-chaikin-50k_QUADRANT = 1
|
2021-04-28 17:23:26 +03:00
|
|
|
|
2021-05-18 09:48:42 +03:00
|
|
|
salvis-overlaid-vw-64-chaikin-50k_1SELECT = wm_visuals where name='salvis-vw-chaikin-64'
|
2021-05-16 23:23:07 +03:00
|
|
|
salvis-overlaid-vw-64-chaikin-50k_2SELECT = wm_visuals where name='salvis'
|
|
|
|
salvis-overlaid-vw-64-chaikin-50k_1COLOR = orange
|
|
|
|
salvis-overlaid-vw-64-chaikin-50k_WIDTHDIV = 2
|
|
|
|
salvis-overlaid-vw-64-chaikin-50k_QUADRANT = 1
|
2021-04-28 17:23:26 +03:00
|
|
|
|
2021-05-16 18:11:44 +03:00
|
|
|
salvis-wm-250k-2x_1SELECT = wm_visuals where name='salvis-wm-220'
|
|
|
|
salvis-wm-250k-2x_WIDTHDIV = 2
|
|
|
|
|
|
|
|
salvis-wm-250k-10x_1SELECT = wm_visuals where name='salvis-wm-220'
|
|
|
|
salvis-wm-250k-10x_WIDTHDIV = 10
|
2021-05-15 16:35:33 +03:00
|
|
|
|
2021-05-16 17:34:04 +03:00
|
|
|
salvis-wm-50k_1SELECT = wm_visuals where name='salvis-wm-75'
|
|
|
|
salvis-wm-50k_2SELECT = wm_visuals where name='salvis'
|
|
|
|
salvis-wm-50k_1COLOR = orange
|
|
|
|
|
|
|
|
salvis-wm-50k-nw_1SELECT = wm_visuals where name='salvis-wm-75'
|
|
|
|
salvis-wm-50k-nw_2SELECT = wm_visuals where name='salvis'
|
|
|
|
salvis-wm-50k-nw_1COLOR = orange
|
|
|
|
salvis-wm-50k-nw_QUADRANT = 2
|
|
|
|
|
|
|
|
salvis-wm-50k-ne_1SELECT = wm_visuals where name='salvis-wm-75'
|
|
|
|
salvis-wm-50k-ne_2SELECT = wm_visuals where name='salvis'
|
|
|
|
salvis-wm-50k-ne_1COLOR = orange
|
|
|
|
salvis-wm-50k-ne_QUADRANT = 1
|
2021-05-15 16:35:33 +03:00
|
|
|
|
2021-05-16 16:10:39 +03:00
|
|
|
salvis-wm-overlaid-250k-zoom_1SELECT = wm_visuals where name='salvis-wm-220'
|
|
|
|
salvis-wm-overlaid-250k-zoom_2SELECT = wm_visuals where name='salvis'
|
2021-05-15 16:35:33 +03:00
|
|
|
salvis-wm-overlaid-250k-zoom_1COLOR = orange
|
2021-04-26 10:12:46 +03:00
|
|
|
|
2021-05-16 17:45:13 +03:00
|
|
|
salvis-wm-gdr50_1SELECT = wm_visuals where name='salvis-wm-75'
|
|
|
|
salvis-wm-gdr50_2SELECT = wm_visuals where name='salvis-gdr50'
|
|
|
|
salvis-wm-gdr50_3SELECT = wm_visuals where name='salvis'
|
|
|
|
salvis-wm-gdr50_1COLOR = orange
|
|
|
|
salvis-wm-gdr50_2COLOR = green
|
2021-05-16 23:23:07 +03:00
|
|
|
salvis-wm-gdr50_3LINESTYLE = dotted
|
2021-05-16 17:45:13 +03:00
|
|
|
|
|
|
|
salvis-wm-gdr50-ne_1SELECT = wm_visuals where name='salvis-wm-75'
|
|
|
|
salvis-wm-gdr50-ne_2SELECT = wm_visuals where name='salvis-gdr50'
|
|
|
|
salvis-wm-gdr50-ne_3SELECT = wm_visuals where name='salvis'
|
|
|
|
salvis-wm-gdr50-ne_1COLOR = orange
|
|
|
|
salvis-wm-gdr50-ne_2COLOR = green
|
2021-05-16 23:23:07 +03:00
|
|
|
salvis-wm-gdr50-ne_3LINESTYLE = dotted
|
2021-05-16 17:45:13 +03:00
|
|
|
salvis-wm-gdr50-ne_QUADRANT = 1
|
|
|
|
|
2021-05-16 18:11:44 +03:00
|
|
|
salvis-wm-220_1SELECT = wm_visuals where name='salvis-wm-220'
|
|
|
|
salvis-wm-220_WIDTHDIV = 2
|
2021-05-16 16:10:39 +03:00
|
|
|
|
2021-05-18 09:25:18 +03:00
|
|
|
label_wm = Wang--Müller
|
|
|
|
label_vw = Visvalingam--Whyatt
|
|
|
|
label_dp = Douglas \& Peucker
|
|
|
|
label_vw-chaikin = $(label_vw) and Chaikin
|
|
|
|
label_dp-chaikin = $(label_dp) and Chaikin
|
|
|
|
|
|
|
|
define wm_vwdp50k
|
|
|
|
RIVERS += salvis-wm-$(1)-50k
|
2021-05-18 09:48:42 +03:00
|
|
|
$(info $(RIVERS))
|
2021-05-18 09:25:18 +03:00
|
|
|
salvis-wm-$(1)-50k_1SELECT = wm_visuals where name='salvis-$(1)-64'
|
2021-05-18 09:41:57 +03:00
|
|
|
salvis-wm-$(1)-50k_2SELECT = wm_visuals where name='salvis-wm-75'
|
2021-05-18 09:25:18 +03:00
|
|
|
salvis-wm-$(1)-50k_3SELECT = wm_visuals where name='salvis'
|
|
|
|
salvis-wm-$(1)-50k_1COLOR = green
|
|
|
|
salvis-wm-$(1)-50k_1LABEL = $(label_$(1))
|
|
|
|
salvis-wm-$(1)-50k_2COLOR = orange
|
|
|
|
salvis-wm-$(1)-50k_2LABEL = $(label_wm)
|
|
|
|
salvis-wm-$(1)-50k_3LINESTYLE = dotted
|
2021-05-18 09:41:57 +03:00
|
|
|
#salvis-wm-$(1)-50k_3LABEL = GRPK 1:\numprint{10000}
|
|
|
|
salvis-wm-$(1)-50k_3LABEL = GRPK 1:10000
|
2021-05-18 09:25:18 +03:00
|
|
|
salvis-wm-$(1)-50k_LEGEND = lower left
|
|
|
|
endef
|
|
|
|
$(foreach x,vw dp vw-chaikin dp-chaikin,$(eval $(call wm_vwdp50k,$(x))))
|
|
|
|
|
2021-05-18 09:41:57 +03:00
|
|
|
define FIG_template
|
|
|
|
$(1).pdf: layer2img.py Makefile $(2)
|
|
|
|
python3 ./layer2img.py --outfile=$(1).pdf \
|
|
|
|
$$(if $$($(1)_LEGEND),--legend="$$($(1)_LEGEND)") \
|
|
|
|
$$(if $$($(1)_WIDTHDIV),--widthdiv=$$($(1)_WIDTHDIV)) \
|
|
|
|
$$(if $$($(1)_QUADRANT),--quadrant=$$($(1)_QUADRANT)) \
|
|
|
|
$$(foreach i,1 2 3, \
|
|
|
|
$$(if $$($(1)_$$(i)LABEL),--g$$(i)-label="$$($(1)_$$(i)LABEL)") \
|
|
|
|
$$(if $$($(1)_$$(i)COLOR),--g$$(i)-color="$$($(1)_$$(i)COLOR)") \
|
|
|
|
$$(if $$($(1)_$$(i)SELECT),--g$$(i)-select="$$($(1)_$$(i)SELECT)") \
|
|
|
|
$$(if $$($(1)_$$(i)LINESTYLE),--g$$(i)-linestyle="$$($(1)_$$(i)LINESTYLE)") \
|
|
|
|
)
|
|
|
|
endef
|
2021-05-18 09:48:42 +03:00
|
|
|
|
2021-05-18 09:41:57 +03:00
|
|
|
$(foreach fig,$(FIGURES),$(eval $(call FIG_template,$(fig),.faux_test)))
|
|
|
|
$(foreach fig,$(RIVERS), $(eval $(call FIG_template,$(fig),.faux_visuals)))
|
|
|
|
|
2021-05-18 09:48:42 +03:00
|
|
|
#################################
|
|
|
|
# The thesis, publishable version
|
|
|
|
#################################
|
|
|
|
|
|
|
|
mj-msc-full.pdf: mj-msc.pdf version.inc.tex $(ARCHIVABLES) ## Thesis for publishing
|
|
|
|
cp $< .tmp-$@
|
|
|
|
for f in $^; do \
|
|
|
|
if [ "$$f" = "$<" ]; then continue; fi; \
|
|
|
|
pdfattach .tmp-$@ $$f .tmp2-$@; \
|
|
|
|
mv .tmp2-$@ .tmp-$@; \
|
|
|
|
done
|
|
|
|
mv .tmp-$@ $@
|
|
|
|
|
|
|
|
###############################
|
|
|
|
# Auxiliary targets for humans
|
|
|
|
###############################
|
|
|
|
|
|
|
|
.PHONY: test
|
|
|
|
test: .faux_test ## Unit tests (fast)
|
|
|
|
|
|
|
|
.PHONY: visuals
|
|
|
|
visuals: .faux_visuals # Generate visuals for paper (fast)
|
|
|
|
|
|
|
|
.PHONY: test-rivers
|
|
|
|
test-rivers: .faux_test-rivers ## Rivers tests (slow)
|
|
|
|
|
|
|
|
.PHONY: slides
|
|
|
|
slides: $(SLIDES)
|
|
|
|
|
|
|
|
.PHONY: refresh-rivers
|
|
|
|
refresh-rivers: refresh-rivers-10.sql refresh-rivers-50.sql refresh-rivers-250.sql ## Refresh river data from national datasets
|
|
|
|
|
|
|
|
###########################
|
|
|
|
# The report, quick version
|
|
|
|
###########################
|
|
|
|
|
|
|
|
mj-msc.pdf: mj-msc.tex version.inc.tex vars.inc.tex bib.bib \
|
|
|
|
$(LISTINGS) $(addsuffix .pdf,$(FIGURES)) $(addsuffix .pdf,$(RIVERS))
|
|
|
|
latexmk -shell-escape -pdf $<
|
|
|
|
|
|
|
|
############################
|
|
|
|
# Report's test dependencies
|
|
|
|
############################
|
|
|
|
|
|
|
|
.PHONY: allfigs
|
|
|
|
allfigs: $(addsuffix .pdf,$(FIGURES)) $(addsuffix .pdf,$(RIVERS))
|
|
|
|
|
|
|
|
|
2021-05-16 23:23:07 +03:00
|
|
|
|
2021-05-16 12:51:57 +03:00
|
|
|
.faux_db_pre: db init.sql
|
2021-05-07 20:59:27 +03:00
|
|
|
bash db start
|
2021-05-16 12:51:57 +03:00
|
|
|
bash db -f init.sql
|
|
|
|
touch $@
|
|
|
|
|
2021-05-16 15:11:02 +03:00
|
|
|
.faux_db: rivers-10.sql rivers-50.sql rivers-250.sql
|
|
|
|
bash db $(addprefix -f ,$^)
|
2021-04-17 16:16:27 +03:00
|
|
|
touch $@
|
2021-05-16 15:11:02 +03:00
|
|
|
.faux_db: .EXTRA_PREREQS = .faux_db_pre
|
2021-04-17 16:16:27 +03:00
|
|
|
|
2021-05-04 10:35:27 +03:00
|
|
|
.faux_test: test.sql wm.sql .faux_db
|
2021-04-25 10:16:57 +03:00
|
|
|
bash db -f $<
|
2021-04-01 19:30:20 +03:00
|
|
|
touch $@
|
2021-03-28 12:35:15 +03:00
|
|
|
|
2021-05-13 07:25:51 +03:00
|
|
|
.faux_visuals: visuals.sql .faux_test
|
2021-05-07 20:59:27 +03:00
|
|
|
bash db -v scaledwidth=$(SCALEDWIDTH) -f $<
|
|
|
|
touch $@
|
|
|
|
|
|
|
|
.faux_test-rivers: test-rivers.sql wm.sql Makefile .faux_db
|
|
|
|
bash db -f $<
|
2021-04-17 16:16:27 +03:00
|
|
|
touch $@
|
|
|
|
|
|
|
|
################################
|
|
|
|
# Report's non-test dependencies
|
|
|
|
################################
|
|
|
|
|
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-29 21:03:22 +03:00
|
|
|
TZ=UTC date '+\gdef\VCDescribe{%F (revision $(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-17 16:55:49 +03:00
|
|
|
###############
|
|
|
|
# Misc commands
|
|
|
|
###############
|
2021-04-17 16:16:27 +03:00
|
|
|
|
|
|
|
slides-2021-03-29.pdf: slides-2021-03-29.txt
|
|
|
|
pandoc -t beamer -i $< -o $@
|
|
|
|
|
|
|
|
dump-debug_wm.sql.xz:
|
2021-04-17 21:52:08 +03:00
|
|
|
docker exec -ti wm-mj pg_dump -Uosm osm -t wm_devug | xz -v > $@
|
2021-04-17 16:16:27 +03:00
|
|
|
|
2021-04-29 23:08:58 +03:00
|
|
|
release.zip: mj-msc.tex mj-msc.bbl version.inc.tex vars.inc.tex \
|
2021-04-24 13:01:12 +03:00
|
|
|
$(addsuffix .pdf,$(FIGURES)) $(addsuffix .pdf,$(RIVERS)) \
|
|
|
|
$(shell git ls-files .)
|
|
|
|
-rm $@
|
2021-04-29 23:08:58 +03:00
|
|
|
mkdir -p .tmp; touch .tmp/editorial-version
|
2021-04-24 13:01:12 +03:00
|
|
|
zip $@ $^
|
2021-04-29 23:08:58 +03:00
|
|
|
zip $@ -j .tmp/editorial-version
|
2021-04-24 13:01:12 +03:00
|
|
|
|
2021-04-29 23:08:58 +03:00
|
|
|
mj-msc.bbl: mj-msc.tex bib.bib
|
|
|
|
biber mj-msc
|
2021-04-24 13:01:12 +03:00
|
|
|
|
2021-04-13 15:36:04 +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 15:46:35 +03:00
|
|
|
.PHONY: clean
|
2021-04-17 16:16:27 +03:00
|
|
|
clean: ## Clean the current working directory
|
2021-04-25 10:16:57 +03:00
|
|
|
-bash db stop
|
2021-05-07 20:59:27 +03:00
|
|
|
-rm -r .faux_test .faux_aggregate-rivers .faux_test-rivers .faux_visuals \
|
2021-05-16 12:51:57 +03:00
|
|
|
.faux_db .faux_db_pre version.inc.tex vars.inc.tex version.aux \
|
|
|
|
version.fdb_latexmk _minted-mj-msc .tmp \
|
2021-04-13 15:46:35 +03:00
|
|
|
$(shell git ls-files -o mj-msc*) \
|
|
|
|
$(addsuffix .pdf,$(FIGURES)) \
|
2021-04-18 23:36:29 +03:00
|
|
|
$(addsuffix .pdf,$(RIVERS)) \
|
2021-04-13 15:46:35 +03:00
|
|
|
$(SLIDES)
|
|
|
|
|
|
|
|
.PHONY: clean-tables
|
2021-04-18 09:58:43 +03:00
|
|
|
clean-tables: ## Remove tables created during unit or rivers tests
|
2021-04-25 10:16:57 +03:00
|
|
|
bash db -c '\dt wm_*' | awk '/_/{print "drop table "$$3";"}' | bash db -f -
|
2021-04-17 17:05:47 +03:00
|
|
|
-rm .faux_db
|
2021-04-13 15:46:35 +03:00
|
|
|
|
2021-04-17 16:16:27 +03:00
|
|
|
.PHONY: help
|
|
|
|
help: ## Print this help message
|
2021-05-16 12:51:57 +03:00
|
|
|
@awk -F':.*?## ' '/^[a-z0-9.-]*: *.*## */{printf "%-18s %s\n",$$1,$$2}' \
|
|
|
|
$(MAKEFILE_LIST)
|
2021-04-17 21:52:08 +03:00
|
|
|
|
2021-04-24 23:51:51 +03:00
|
|
|
.PHONY: wc
|
|
|
|
wc: mj-msc.pdf ## Character and page count
|
|
|
|
@pdftotext $< - | \
|
|
|
|
awk '/\yReferences\y/{exit}; {print}' | \
|
|
|
|
tr -d '[:space:]' | wc -c | \
|
|
|
|
awk '{printf("Chars: %d, pages: %.1f\n", $$1, $$1/1500)}'
|
|
|
|
|
2021-05-16 15:11:02 +03:00
|
|
|
define refresh_rivers_template
|
|
|
|
.PHONY: refresh-$(1)
|
|
|
|
refresh-$(1): aggregate-rivers.sql gdr2pgsql .faux_db_pre
|
2021-05-16 12:51:57 +03:00
|
|
|
@if [ ! -f "$$($(2))" ]; then \
|
|
|
|
echo "ERROR: $(2)-static-*.zip not found. Run env $(2)=<...>"; \
|
2021-05-10 23:20:01 +03:00
|
|
|
exit 1; \
|
|
|
|
fi
|
2021-05-16 12:51:57 +03:00
|
|
|
./gdr2pgsql "$$($(2))" "$(3)" "$(RIVERFILTER)" "$(1)"
|
|
|
|
endef
|
|
|
|
|
2021-05-16 14:57:58 +03:00
|
|
|
$(eval $(call rivers_template,rivers-10.sql,GDB10LT,wm_rivers))
|
2021-05-16 12:51:57 +03:00
|
|
|
$(eval $(call rivers_template,rivers-50.sql,GDR50LT,wm_rivers_50))
|
|
|
|
$(eval $(call rivers_template,rivers-250.sql,GDR250LT,wm_rivers_250))
|