DST?=moskow-1

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 -l 20 -f 2976x3072+488+128

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.tiff
	@${REMAP} -i 0 -e 14 ${DST}.pto
tmpf00.tiff: tmp-0000.tif
	@${LN} tmp-0000.tif tmpf00.tiff
	@${RM} tmp-0000.tif
tmpe00.tiff: tmpf00.tiff
	@${LN} tmpf00.tiff tmpe00.tiff
	@${RM} tmpf00.tiff
tmpt00.tiff: tmpe00.tiff
	@${MERGE} -o tmpt00.tiff tmpe00.tiff tmpe00.tiff
tmp00.tiff: tmpt00.tiff
	@${LN} tmpt00.tiff tmp00.tiff
	@${RM} tmpt00.tiff
tmp-0001.tif: ${DST}.pto 01.tiff
	@${REMAP} -i 1 -e 14 ${DST}.pto
tmpf01.tiff: tmp-0001.tif
	@${LN} tmp-0001.tif tmpf01.tiff
	@${RM} tmp-0001.tif
tmpe01.tiff: tmpf01.tiff
	@${LN} tmpf01.tiff tmpe01.tiff
	@${RM} tmpf01.tiff
tmpt01.tiff: tmpe01.tiff
	@${MERGE} -o tmpt01.tiff tmpe01.tiff tmpe01.tiff
tmp01.tiff: tmpt01.tiff
	@${LN} tmpt01.tiff tmp01.tiff
	@${RM} tmpt01.tiff
tmp-0002.tif: ${DST}.pto 02.tiff
	@${REMAP} -i 2 -e 14 ${DST}.pto
tmpf02.tiff: tmp-0002.tif
	@${LN} tmp-0002.tif tmpf02.tiff
	@${RM} tmp-0002.tif
tmpe02.tiff: tmpf02.tiff
	@${LN} tmpf02.tiff tmpe02.tiff
	@${RM} tmpf02.tiff
tmpt02.tiff: tmpe02.tiff
	@${MERGE} -o tmpt02.tiff tmpe02.tiff tmpe02.tiff
tmp02.tiff: tmpt02.tiff
	@${LN} tmpt02.tiff tmp02.tiff
	@${RM} tmpt02.tiff
tmp-0003.tif: ${DST}.pto 03.tiff
	@${REMAP} -i 3 -e 14 ${DST}.pto
tmpf03.tiff: tmp-0003.tif
	@${LN} tmp-0003.tif tmpf03.tiff
	@${RM} tmp-0003.tif
tmpe03.tiff: tmpf03.tiff
	@${LN} tmpf03.tiff tmpe03.tiff
	@${RM} tmpf03.tiff
tmpt03.tiff: tmpe03.tiff
	@${MERGE} -o tmpt03.tiff tmpe03.tiff tmpe03.tiff
tmp03.tiff: tmpt03.tiff
	@${LN} tmpt03.tiff tmp03.tiff
	@${RM} tmpt03.tiff
tmp-0004.tif: ${DST}.pto 04.tiff
	@${REMAP} -i 4 -e 14 ${DST}.pto
tmpf04.tiff: tmp-0004.tif
	@${LN} tmp-0004.tif tmpf04.tiff
	@${RM} tmp-0004.tif
tmpe04.tiff: tmpf04.tiff
	@${LN} tmpf04.tiff tmpe04.tiff
	@${RM} tmpf04.tiff
tmpt04.tiff: tmpe04.tiff
	@${MERGE} -o tmpt04.tiff tmpe04.tiff tmpe04.tiff
tmp04.tiff: tmpt04.tiff
	@${LN} tmpt04.tiff tmp04.tiff
	@${RM} tmpt04.tiff
tmp-0005.tif: ${DST}.pto 05.tiff
	@${REMAP} -i 5 -e 14 ${DST}.pto
tmpf05.tiff: tmp-0005.tif
	@${LN} tmp-0005.tif tmpf05.tiff
	@${RM} tmp-0005.tif
tmpe05.tiff: tmpf05.tiff
	@${LN} tmpf05.tiff tmpe05.tiff
	@${RM} tmpf05.tiff
tmpt05.tiff: tmpe05.tiff
	@${MERGE} -o tmpt05.tiff tmpe05.tiff tmpe05.tiff
tmp05.tiff: tmpt05.tiff
	@${LN} tmpt05.tiff tmp05.tiff
	@${RM} tmpt05.tiff
tmp-0006.tif: ${DST}.pto 06.tiff
	@${REMAP} -i 6 -e 14 ${DST}.pto
tmpf06.tiff: tmp-0006.tif
	@${LN} tmp-0006.tif tmpf06.tiff
	@${RM} tmp-0006.tif
tmpe06.tiff: tmpf06.tiff
	@${LN} tmpf06.tiff tmpe06.tiff
	@${RM} tmpf06.tiff
tmpt06.tiff: tmpe06.tiff
	@${MERGE} -o tmpt06.tiff tmpe06.tiff tmpe06.tiff
tmp06.tiff: tmpt06.tiff
	@${LN} tmpt06.tiff tmp06.tiff
	@${RM} tmpt06.tiff
tmp-0007.tif: ${DST}.pto 07.tiff
	@${REMAP} -i 7 -e 14 ${DST}.pto
tmpf07.tiff: tmp-0007.tif
	@${LN} tmp-0007.tif tmpf07.tiff
	@${RM} tmp-0007.tif
tmpe07.tiff: tmpf07.tiff
	@${LN} tmpf07.tiff tmpe07.tiff
	@${RM} tmpf07.tiff
tmpt07.tiff: tmpe07.tiff
	@${MERGE} -o tmpt07.tiff tmpe07.tiff tmpe07.tiff
tmp07.tiff: tmpt07.tiff
	@${LN} tmpt07.tiff tmp07.tiff
	@${RM} tmpt07.tiff
tmp-0008.tif: ${DST}.pto 08.tiff
	@${REMAP} -i 8 -e 14 ${DST}.pto
tmpf08.tiff: tmp-0008.tif
	@${LN} tmp-0008.tif tmpf08.tiff
	@${RM} tmp-0008.tif
tmpe08.tiff: tmpf08.tiff
	@${LN} tmpf08.tiff tmpe08.tiff
	@${RM} tmpf08.tiff
tmpt08.tiff: tmpe08.tiff
	@${MERGE} -o tmpt08.tiff tmpe08.tiff tmpe08.tiff
tmp08.tiff: tmpt08.tiff
	@${LN} tmpt08.tiff tmp08.tiff
	@${RM} tmpt08.tiff
tmp-0009.tif: ${DST}.pto 09.tiff
	@${REMAP} -i 9 -e 14 ${DST}.pto
tmpf09.tiff: tmp-0009.tif
	@${LN} tmp-0009.tif tmpf09.tiff
	@${RM} tmp-0009.tif
tmpe09.tiff: tmpf09.tiff
	@${LN} tmpf09.tiff tmpe09.tiff
	@${RM} tmpf09.tiff
tmpt09.tiff: tmpe09.tiff
	@${MERGE} -o tmpt09.tiff tmpe09.tiff tmpe09.tiff
tmp09.tiff: tmpt09.tiff
	@${LN} tmpt09.tiff tmp09.tiff
	@${RM} tmpt09.tiff
tmp-0010.tif: ${DST}.pto 10.tiff
	@${REMAP} -i 10 -e 14 ${DST}.pto
tmpf10.tiff: tmp-0010.tif
	@${LN} tmp-0010.tif tmpf10.tiff
	@${RM} tmp-0010.tif
tmpe10.tiff: tmpf10.tiff
	@${LN} tmpf10.tiff tmpe10.tiff
	@${RM} tmpf10.tiff
tmpt10.tiff: tmpe10.tiff
	@${MERGE} -o tmpt10.tiff tmpe10.tiff tmpe10.tiff
tmp10.tiff: tmpt10.tiff
	@${LN} tmpt10.tiff tmp10.tiff
	@${RM} tmpt10.tiff
tmp-0011.tif: ${DST}.pto 11.tiff
	@${REMAP} -i 11 -e 14 ${DST}.pto
tmpf11.tiff: tmp-0011.tif
	@${LN} tmp-0011.tif tmpf11.tiff
	@${RM} tmp-0011.tif
tmpe11.tiff: tmpf11.tiff
	@${LN} tmpf11.tiff tmpe11.tiff
	@${RM} tmpf11.tiff
tmpt11.tiff: tmpe11.tiff
	@${MERGE} -o tmpt11.tiff tmpe11.tiff tmpe11.tiff
tmp11.tiff: tmpt11.tiff
	@${LN} tmpt11.tiff tmp11.tiff
	@${RM} tmpt11.tiff
tmp-0012.tif: ${DST}.pto 12.tiff
	@${REMAP} -i 12 -e 14 ${DST}.pto
tmpf12.tiff: tmp-0012.tif
	@${LN} tmp-0012.tif tmpf12.tiff
	@${RM} tmp-0012.tif
tmpe12.tiff: tmpf12.tiff
	@${LN} tmpf12.tiff tmpe12.tiff
	@${RM} tmpf12.tiff
tmpt12.tiff: tmpe12.tiff
	@${MERGE} -o tmpt12.tiff tmpe12.tiff tmpe12.tiff
tmp12.tiff: tmpt12.tiff
	@${LN} tmpt12.tiff tmp12.tiff
	@${RM} tmpt12.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
	@${RM}  00.tiff 01.tiff 02.tiff 03.tiff 04.tiff 05.tiff 06.tiff 07.tiff 08.tiff 09.tiff 10.tiff 11.tiff 12.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
	@${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
${DST}.tiff: tmp.tiff
	@${CONV} tmp.tiff \
		+matte +repage   \
		-compress ${IMCOMP} ${DST}.tiff
	@${RM} tmp.tiff
