view world/Makefile.inc @ 1711:fed7522d4b03

Fix HCBat map diffing by using correct options for diffmap.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 12 Oct 2017 12:43:51 +0300
parents 9a124fdb6dab
children 4db581ac116d
line wrap: on
line source

###
### Tool binary paths
###
COLORMAP_BIN=$(BINPATH)colormap$(EXEEXT)
MKLOC_BIN=$(BINPATH)mkloc$(EXEEXT)
MKSPECIAL_BIN=$(BINPATH)mkspecial$(EXEEXT)
MAP2PPM_BIN=$(BINPATH)map2ppm$(EXEEXT)
COMBINE_BIN=$(BINPATH)combine$(EXEEXT)
MKCITYMAP_BIN=$(BINPATH)mkcitymap$(EXEEXT)
DIFFMAP_BIN=$(BINPATH)diffmap$(EXEEXT)
PATCHMAP_BIN=$(BINPATH)patchmap$(EXEEXT)


###
### Intermediate file targets
###
%.tmp: %.map %.loc
	$(MKLOC_BIN) -v -o $@ -m $< -l $(patsubst %.map,%.loc,$<)

%.tmp2: %.map %.loc
	$(MKLOC_BIN) -v -N -o $@ -m $< -l $(patsubst %.map,%.loc,$<)

%.tmp3: %.loc
	$(MKLOC_BIN) -v -M -l $< -o $@

###
### HTML format maps
###

%.htm: %.tmp %.desc
	$(COLORMAP_BIN) $(COLORMAP_OPTS) $(COLORMAP_HTML) $(COLORMAP_EXTRA) -t "`cat $(patsubst %.tmp,%.desc,$<)`" -o $@ $<

%.html: %.tmp2 %.desc %.tmp3
	$(COLORMAP_BIN) $(COLORMAP_OPTS) $(COLORMAP_HTML) -P $(COLORMAP_EXTRA) -t "`cat $(patsubst %.tmp2,%.desc,$<)`" $< | \
	sed -e "/@LOCATIONS@/r $(patsubst %.tmp2,%.tmp3,$<)" -e "s/@LOCATIONS@//g" > $@


###
### ANSI text
###
%.ansi: %.tmp %.desc
	$(COLORMAP_BIN) $(COLORMAP_OPTS) $(COLORMAP_EXTRA) -f ansi -t "`cat $(patsubst %.tmp,%.desc,$<)`" -o $@ $<


###
### PNG images
###
%.script: %.map %.loc title.png $(MAP_FONT)
	$(MKLOC_BIN) -S -m $< -l $(patsubst %.map,%.loc,$<) -f $(MAP_FONT_SCALE) -u $(MAP_UNIT_SIZE) -s $(MAP_SCALE) | \
	sed -e "s/@OPTS_START@/-font $(MAP_FONT) -pointsize 14 -type TruecolorMatte/g" \
	-e "s/@OPTS_END@/\t-geometry +0+0 title.png -composite -compose screen \\\\\n\t-pointsize 20 -fill white -box none -draw \"text 5,50 \'@PAF@\n\n\n/g" | \
	sed -e "/@PAF@/r $(patsubst %.map,%.desc,$<)" -e "s/@PAF@//g" > $@

%.ppm: %.map
	$(MAP2PPM_BIN) -s $(MAP_SCALE) $(COLORMAP_EXTRA) $< -o $@

%.png: %.ppm %.script %.desc
	/bin/sh $(patsubst %.ppm,%.script,$<) $< $@


###
### Diff target between .map file and .new file. Makes necessary changes in .map and .loc
###
%.diff: %.map %.new
	@echo DIFFING $< ...
	@if ! $(DIFFMAP_BIN) $(DIFFMAP_OPTS) $+ -o $@ -a; then \
		$(MAP2PPM_BIN) $@ -o $@.ppm -d; \
		$(PATCHMAP_BIN) $< $@ -o $<; \
	fi
	@echo UPDATING LOCATIONS ...
	@$(MKLOC_BIN) -v -m $(patsubst %.map,%.new,$<) -l $(patsubst %.map,%.loc,$<) -L -g -o $(patsubst %.map,%.nloc,$<)
	@diff -ubB $(patsubst %.map,%.loc,$<) $(patsubst %.map,%.nloc,$<) | patch