DST?=moscow-4

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 --fine-mask --primary-seam-generator=nearest-feature-transform --mask-vectorize=12 -f 8640x3072+352+1536

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 13 ${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 13 ${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 13 ${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 13 ${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 13 ${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 13 ${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 13 ${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 13 ${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 13 ${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 13 ${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.tiff: tmp00.tiff tmp01.tiff tmp02.tiff tmp03.tiff tmp04.tiff tmp05.tiff tmp06.tiff tmp07.tiff tmp08.tiff tmp09.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
	@${BLEND} -o tmp.tiff tmp00.tiff tmp01.tiff tmp02.tiff tmp03.tiff tmp04.tiff tmp05.tiff tmp06.tiff tmp07.tiff tmp08.tiff tmp09.tiff
	@${RM} tmp00.tiff tmp01.tiff tmp02.tiff tmp03.tiff tmp04.tiff tmp05.tiff tmp06.tiff tmp07.tiff tmp08.tiff tmp09.tiff
${DST}.tiff: tmp.tiff
	@${CONV} tmp.tiff \
		+matte +repage   \
		-compress ${IMCOMP} ${DST}.tiff
	@${RM} tmp.tiff
