DST?=moscow-5

CPUS?=4
MEM?=1536
DEPTH?=16
IMCOMP?=zip
ENCOMP?=DEFLATE
RGBPROFILE?=../../tools/profiles/RGB.icc
sRGBPROFILE?=../../tools/profiles/sRGB.icm

CONV?=convert -limit area 3GiB
REMAP?=eval nona -v -t ${CPUS} -m TIFF_m -r ldr -p UINT${DEPTH} -z ${ENCOMP} -o tmp-
FFUSE?=eval enfuse -v --compression=${ENCOMP} -m ${MEM} -b 16384 --exposure-weight=0 --saturation-weight=0  --contrast-weight=1 --hard-mask
MERGE?=eval enfuse -v --compression=${ENCOMP} -m ${MEM} -b 16384 --exposure-weight=1.00 --saturation-weight=0.50 --contrast-weight=0.10 --exposure-mu=0.35 --exposure-sigma=0.15 --gray-projector=value
DEGHOST?=deghosting_mask -v -s 60 -c 0.8 -t 150 -i 8 -a mw
BLEND?=eval enblend -v --compression=${ENCOMP} -m ${MEM} -b 16384 --fine-mask --primary-seam-generator=nearest-feature-transform --mask-vectorize=12 -f 6720x3072+512+544

EXIFTFF?=exiftool -overwrite_original -P -TagsFromFile
EXIFTAG?=-EXIF:ExposureTime -EXIF:ShutterSpeedValue -EXIF:ApertureValue -EXIF:ISO

RM=echo
MV=mv
LN=ln -f

all: ${DST}.tiff

tmp-0000.tif: ${DST}.pto 00-e00-f0000.tiff
	@${REMAP} -i 0 -e 14.33 ${DST}.pto
tmpf00-e00-f0000.tiff: tmp-0000.tif
	@${LN} tmp-0000.tif tmpf00-e00-f0000.tiff
	@${RM} tmp-0000.tif
tmpe00-e00.tiff: tmpf00-e00-f0000.tiff
	@${LN} tmpf00-e00-f0000.tiff tmpe00-e00.tiff
	@${RM} tmpf00-e00-f0000.tiff
tmpt00.tiff: tmpe00-e00.tiff
	@${LN} tmpe00-e00.tiff tmpt00.tiff
	@${RM} tmpe00-e00.tiff
tmp00.tiff: tmpt00.tiff
	@${LN} tmpt00.tiff tmp00.tiff
	@${RM} tmpt00.tiff
tmp-0001.tif: ${DST}.pto 01-e00-f0000.tiff
	@${REMAP} -i 1 -e 14.33 ${DST}.pto
tmpf01-e00-f0000.tiff: tmp-0001.tif
	@${LN} tmp-0001.tif tmpf01-e00-f0000.tiff
	@${RM} tmp-0001.tif
tmpe01-e00.tiff: tmpf01-e00-f0000.tiff
	@${LN} tmpf01-e00-f0000.tiff tmpe01-e00.tiff
	@${RM} tmpf01-e00-f0000.tiff
tmpt01.tiff: tmpe01-e00.tiff
	@${LN} tmpe01-e00.tiff tmpt01.tiff
	@${RM} tmpe01-e00.tiff
tmp01.tiff: tmpt01.tiff
	@${LN} tmpt01.tiff tmp01.tiff
	@${RM} tmpt01.tiff
tmp-0002.tif: ${DST}.pto 02-e00-f0000.tiff
	@${REMAP} -i 2 -e 14.33 ${DST}.pto
tmpf02-e00-f0000.tiff: tmp-0002.tif
	@${LN} tmp-0002.tif tmpf02-e00-f0000.tiff
	@${RM} tmp-0002.tif
tmpe02-e00.tiff: tmpf02-e00-f0000.tiff
	@${LN} tmpf02-e00-f0000.tiff tmpe02-e00.tiff
	@${RM} tmpf02-e00-f0000.tiff
tmpt02.tiff: tmpe02-e00.tiff
	@${LN} tmpe02-e00.tiff tmpt02.tiff
	@${RM} tmpe02-e00.tiff
tmp02.tiff: tmpt02.tiff
	@${LN} tmpt02.tiff tmp02.tiff
	@${RM} tmpt02.tiff
tmp-0003.tif: ${DST}.pto 03-e00-f0000.tiff
	@${REMAP} -i 3 -e 14.33 ${DST}.pto
tmpf03-e00-f0000.tiff: tmp-0003.tif
	@${LN} tmp-0003.tif tmpf03-e00-f0000.tiff
	@${RM} tmp-0003.tif
tmpe03-e00.tiff: tmpf03-e00-f0000.tiff
	@${LN} tmpf03-e00-f0000.tiff tmpe03-e00.tiff
	@${RM} tmpf03-e00-f0000.tiff
tmpt03.tiff: tmpe03-e00.tiff
	@${LN} tmpe03-e00.tiff tmpt03.tiff
	@${RM} tmpe03-e00.tiff
tmp03.tiff: tmpt03.tiff
	@${LN} tmpt03.tiff tmp03.tiff
	@${RM} tmpt03.tiff
tmp-0004.tif: ${DST}.pto 04-e00-f0000.tiff
	@${REMAP} -i 4 -e 14.33 ${DST}.pto
tmpf04-e00-f0000.tiff: tmp-0004.tif
	@${LN} tmp-0004.tif tmpf04-e00-f0000.tiff
	@${RM} tmp-0004.tif
tmpe04-e00.tiff: tmpf04-e00-f0000.tiff
	@${LN} tmpf04-e00-f0000.tiff tmpe04-e00.tiff
	@${RM} tmpf04-e00-f0000.tiff
tmpt04.tiff: tmpe04-e00.tiff
	@${LN} tmpe04-e00.tiff tmpt04.tiff
	@${RM} tmpe04-e00.tiff
tmp04.tiff: tmpt04.tiff
	@${LN} tmpt04.tiff tmp04.tiff
	@${RM} tmpt04.tiff
tmp-0005.tif: ${DST}.pto 05-e00-f0000.tiff
	@${REMAP} -i 5 -e 14.33 ${DST}.pto
tmpf05-e00-f0000.tiff: tmp-0005.tif
	@${LN} tmp-0005.tif tmpf05-e00-f0000.tiff
	@${RM} tmp-0005.tif
tmpe05-e00.tiff: tmpf05-e00-f0000.tiff
	@${LN} tmpf05-e00-f0000.tiff tmpe05-e00.tiff
	@${RM} tmpf05-e00-f0000.tiff
tmpt05.tiff: tmpe05-e00.tiff
	@${LN} tmpe05-e00.tiff tmpt05.tiff
	@${RM} tmpe05-e00.tiff
tmp05.tiff: tmpt05.tiff
	@${LN} tmpt05.tiff tmp05.tiff
	@${RM} tmpt05.tiff
tmp-0006.tif: ${DST}.pto 06-e00-f0000.tiff
	@${REMAP} -i 6 -e 14.33 ${DST}.pto
tmpf06-e00-f0000.tiff: tmp-0006.tif
	@${LN} tmp-0006.tif tmpf06-e00-f0000.tiff
	@${RM} tmp-0006.tif
tmpe06-e00.tiff: tmpf06-e00-f0000.tiff
	@${LN} tmpf06-e00-f0000.tiff tmpe06-e00.tiff
	@${RM} tmpf06-e00-f0000.tiff
tmpt06.tiff: tmpe06-e00.tiff
	@${LN} tmpe06-e00.tiff tmpt06.tiff
	@${RM} tmpe06-e00.tiff
tmp06.tiff: tmpt06.tiff
	@${LN} tmpt06.tiff tmp06.tiff
	@${RM} tmpt06.tiff
tmp-0007.tif: ${DST}.pto 07-e00-f0000.tiff
	@${REMAP} -i 7 -e 14.33 ${DST}.pto
tmpf07-e00-f0000.tiff: tmp-0007.tif
	@${LN} tmp-0007.tif tmpf07-e00-f0000.tiff
	@${RM} tmp-0007.tif
tmpe07-e00.tiff: tmpf07-e00-f0000.tiff
	@${LN} tmpf07-e00-f0000.tiff tmpe07-e00.tiff
	@${RM} tmpf07-e00-f0000.tiff
tmpt07.tiff: tmpe07-e00.tiff
	@${LN} tmpe07-e00.tiff tmpt07.tiff
	@${RM} tmpe07-e00.tiff
tmp07.tiff: tmpt07.tiff
	@${LN} tmpt07.tiff tmp07.tiff
	@${RM} tmpt07.tiff
tmp-0008.tif: ${DST}.pto 08-e00-f0000.tiff
	@${REMAP} -i 8 -e 14.33 ${DST}.pto
tmpf08-e00-f0000.tiff: tmp-0008.tif
	@${LN} tmp-0008.tif tmpf08-e00-f0000.tiff
	@${RM} tmp-0008.tif
tmpe08-e00.tiff: tmpf08-e00-f0000.tiff
	@${LN} tmpf08-e00-f0000.tiff tmpe08-e00.tiff
	@${RM} tmpf08-e00-f0000.tiff
tmpt08.tiff: tmpe08-e00.tiff
	@${LN} tmpe08-e00.tiff tmpt08.tiff
	@${RM} tmpe08-e00.tiff
tmp08.tiff: tmpt08.tiff
	@${LN} tmpt08.tiff tmp08.tiff
	@${RM} tmpt08.tiff
tmp-0009.tif: ${DST}.pto 09-e00-f0000.tiff
	@${REMAP} -i 9 -e 14.33 ${DST}.pto
tmpf09-e00-f0000.tiff: tmp-0009.tif
	@${LN} tmp-0009.tif tmpf09-e00-f0000.tiff
	@${RM} tmp-0009.tif
tmpe09-e00.tiff: tmpf09-e00-f0000.tiff
	@${LN} tmpf09-e00-f0000.tiff tmpe09-e00.tiff
	@${RM} tmpf09-e00-f0000.tiff
tmpt09.tiff: tmpe09-e00.tiff
	@${LN} tmpe09-e00.tiff tmpt09.tiff
	@${RM} tmpe09-e00.tiff
tmp09.tiff: tmpt09.tiff
	@${LN} tmpt09.tiff tmp09.tiff
	@${RM} tmpt09.tiff
tmp-0010.tif: ${DST}.pto 10-e00-f0000.tiff
	@${REMAP} -i 10 -e 14.33 ${DST}.pto
tmpf10-e00-f0000.tiff: tmp-0010.tif
	@${LN} tmp-0010.tif tmpf10-e00-f0000.tiff
	@${RM} tmp-0010.tif
tmpe10-e00.tiff: tmpf10-e00-f0000.tiff
	@${LN} tmpf10-e00-f0000.tiff tmpe10-e00.tiff
	@${RM} tmpf10-e00-f0000.tiff
tmpt10.tiff: tmpe10-e00.tiff
	@${LN} tmpe10-e00.tiff tmpt10.tiff
	@${RM} tmpe10-e00.tiff
tmp10.tiff: tmpt10.tiff
	@${LN} tmpt10.tiff tmp10.tiff
	@${RM} tmpt10.tiff
tmp-0011.tif: ${DST}.pto 11-e00-f0000.tiff
	@${REMAP} -i 11 -e 14.33 ${DST}.pto
tmpf11-e00-f0000.tiff: tmp-0011.tif
	@${LN} tmp-0011.tif tmpf11-e00-f0000.tiff
	@${RM} tmp-0011.tif
tmpe11-e00.tiff: tmpf11-e00-f0000.tiff
	@${LN} tmpf11-e00-f0000.tiff tmpe11-e00.tiff
	@${RM} tmpf11-e00-f0000.tiff
tmpt11.tiff: tmpe11-e00.tiff
	@${LN} tmpe11-e00.tiff tmpt11.tiff
	@${RM} tmpe11-e00.tiff
tmp11.tiff: tmpt11.tiff
	@${LN} tmpt11.tiff tmp11.tiff
	@${RM} tmpt11.tiff
tmp-0012.tif: ${DST}.pto 12-e00-f0000.tiff
	@${REMAP} -i 12 -e 14.33 ${DST}.pto
tmpf12-e00-f0000.tiff: tmp-0012.tif
	@${LN} tmp-0012.tif tmpf12-e00-f0000.tiff
	@${RM} tmp-0012.tif
tmpe12-e00.tiff: tmpf12-e00-f0000.tiff
	@${LN} tmpf12-e00-f0000.tiff tmpe12-e00.tiff
	@${RM} tmpf12-e00-f0000.tiff
tmpt12.tiff: tmpe12-e00.tiff
	@${LN} tmpe12-e00.tiff tmpt12.tiff
	@${RM} tmpe12-e00.tiff
tmp12.tiff: tmpt12.tiff
	@${LN} tmpt12.tiff tmp12.tiff
	@${RM} tmpt12.tiff
tmp-0013.tif: ${DST}.pto 13-e00-f0000.tiff
	@${REMAP} -i 13 -e 14.33 ${DST}.pto
tmpf13-e00-f0000.tiff: tmp-0013.tif
	@${LN} tmp-0013.tif tmpf13-e00-f0000.tiff
	@${RM} tmp-0013.tif
tmpe13-e00.tiff: tmpf13-e00-f0000.tiff
	@${LN} tmpf13-e00-f0000.tiff tmpe13-e00.tiff
	@${RM} tmpf13-e00-f0000.tiff
tmpt13.tiff: tmpe13-e00.tiff
	@${LN} tmpe13-e00.tiff tmpt13.tiff
	@${RM} tmpe13-e00.tiff
tmp13.tiff: tmpt13.tiff
	@${LN} tmpt13.tiff tmp13.tiff
	@${RM} tmpt13.tiff
tmp-0014.tif: ${DST}.pto 14-e00-f0000.tiff
	@${REMAP} -i 14 -e 14.33 ${DST}.pto
tmpf14-e00-f0000.tiff: tmp-0014.tif
	@${LN} tmp-0014.tif tmpf14-e00-f0000.tiff
	@${RM} tmp-0014.tif
tmpe14-e00.tiff: tmpf14-e00-f0000.tiff
	@${LN} tmpf14-e00-f0000.tiff tmpe14-e00.tiff
	@${RM} tmpf14-e00-f0000.tiff
tmpt14.tiff: tmpe14-e00.tiff
	@${LN} tmpe14-e00.tiff tmpt14.tiff
	@${RM} tmpe14-e00.tiff
tmp14.tiff: tmpt14.tiff
	@${LN} tmpt14.tiff tmp14.tiff
	@${RM} tmpt14.tiff
tmp-0015.tif: ${DST}.pto 15-e00-f0000.tiff
	@${REMAP} -i 15 -e 14.33 ${DST}.pto
tmpf15-e00-f0000.tiff: tmp-0015.tif
	@${LN} tmp-0015.tif tmpf15-e00-f0000.tiff
	@${RM} tmp-0015.tif
tmpe15-e00.tiff: tmpf15-e00-f0000.tiff
	@${LN} tmpf15-e00-f0000.tiff tmpe15-e00.tiff
	@${RM} tmpf15-e00-f0000.tiff
tmpt15.tiff: tmpe15-e00.tiff
	@${LN} tmpe15-e00.tiff tmpt15.tiff
	@${RM} tmpe15-e00.tiff
tmp15.tiff: tmpt15.tiff
	@${LN} tmpt15.tiff tmp15.tiff
	@${RM} tmpt15.tiff

tmp.tiff: tmp00.tiff tmp01.tiff tmp02.tiff tmp03.tiff tmp04.tiff tmp05.tiff tmp06.tiff tmp07.tiff tmp08.tiff tmp09.tiff tmp10.tiff tmp11.tiff tmp12.tiff tmp13.tiff tmp14.tiff tmp15.tiff
	@${RM}  00-e00-f0000.tiff 01-e00-f0000.tiff 02-e00-f0000.tiff 03-e00-f0000.tiff 04-e00-f0000.tiff 05-e00-f0000.tiff 06-e00-f0000.tiff 07-e00-f0000.tiff 08-e00-f0000.tiff 09-e00-f0000.tiff 10-e00-f0000.tiff 11-e00-f0000.tiff 12-e00-f0000.tiff 13-e00-f0000.tiff 14-e00-f0000.tiff 15-e00-f0000.tiff
	@${BLEND} -o tmp.tiff tmp00.tiff tmp01.tiff tmp02.tiff tmp03.tiff tmp04.tiff tmp05.tiff tmp06.tiff tmp07.tiff tmp08.tiff tmp09.tiff tmp10.tiff tmp11.tiff tmp12.tiff tmp13.tiff tmp14.tiff tmp15.tiff
	@${RM} tmp00.tiff tmp01.tiff tmp02.tiff tmp03.tiff tmp04.tiff tmp05.tiff tmp06.tiff tmp07.tiff tmp08.tiff tmp09.tiff tmp10.tiff tmp11.tiff tmp12.tiff tmp13.tiff tmp14.tiff tmp15.tiff
${DST}.tiff: tmp.tiff
	@${CONV} tmp.tiff \
		+matte +repage   \
		-compress ${IMCOMP} ${DST}.tiff
	@${RM} tmp.tiff
