DST?=sky-29
TMPPFX?=tmp

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 ${TMPPFX}-
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-mu=0.45 --exposure-sigma=0.25
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=8 -f 4224x3072+736+608

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

RMSRC=echo
RMTMP=echo
RMDST=echo
MV=mv
LN=ln -f

all: ${DST}.tiff

${TMPPFX}-0000.tif: ${DST}.pto 00-e00-f0000.tiff
	@${REMAP} -i 0 -e -0.33 ${DST}.pto
${TMPPFX}f00-e00-f0000.tiff: ${TMPPFX}-0000.tif
	@${LN} ${TMPPFX}-0000.tif ${TMPPFX}f00-e00-f0000.tiff
	@${RMTMP} ${TMPPFX}-0000.tif
${TMPPFX}e00-e00.tiff: ${TMPPFX}f00-e00-f0000.tiff
	@${LN} ${TMPPFX}f00-e00-f0000.tiff ${TMPPFX}e00-e00.tiff
	@${RMTMP} ${TMPPFX}f00-e00-f0000.tiff
${TMPPFX}t00.tiff: ${TMPPFX}e00-e00.tiff
	@${MERGE} -o ${TMPPFX}t00.tiff ${TMPPFX}e00-e00.tiff ${TMPPFX}e00-e00.tiff
	@${RMTMP} ${TMPPFX}e00-e00.tiff
${TMPPFX}00.tiff: ${TMPPFX}t00.tiff
	@${LN} ${TMPPFX}t00.tiff ${TMPPFX}00.tiff
	@${RMTMP} ${TMPPFX}t00.tiff
${TMPPFX}-0001.tif: ${DST}.pto 01-e00-f0000.tiff
	@${REMAP} -i 1 -e -0.33 ${DST}.pto
${TMPPFX}f01-e00-f0000.tiff: ${TMPPFX}-0001.tif
	@${LN} ${TMPPFX}-0001.tif ${TMPPFX}f01-e00-f0000.tiff
	@${RMTMP} ${TMPPFX}-0001.tif
${TMPPFX}e01-e00.tiff: ${TMPPFX}f01-e00-f0000.tiff
	@${LN} ${TMPPFX}f01-e00-f0000.tiff ${TMPPFX}e01-e00.tiff
	@${RMTMP} ${TMPPFX}f01-e00-f0000.tiff
${TMPPFX}t01.tiff: ${TMPPFX}e01-e00.tiff
	@${MERGE} -o ${TMPPFX}t01.tiff ${TMPPFX}e01-e00.tiff ${TMPPFX}e01-e00.tiff
	@${RMTMP} ${TMPPFX}e01-e00.tiff
${TMPPFX}01.tiff: ${TMPPFX}t01.tiff
	@${LN} ${TMPPFX}t01.tiff ${TMPPFX}01.tiff
	@${RMTMP} ${TMPPFX}t01.tiff
${TMPPFX}-0002.tif: ${DST}.pto 02-e00-f0000.tiff
	@${REMAP} -i 2 -e -0.33 ${DST}.pto
${TMPPFX}f02-e00-f0000.tiff: ${TMPPFX}-0002.tif
	@${LN} ${TMPPFX}-0002.tif ${TMPPFX}f02-e00-f0000.tiff
	@${RMTMP} ${TMPPFX}-0002.tif
${TMPPFX}e02-e00.tiff: ${TMPPFX}f02-e00-f0000.tiff
	@${LN} ${TMPPFX}f02-e00-f0000.tiff ${TMPPFX}e02-e00.tiff
	@${RMTMP} ${TMPPFX}f02-e00-f0000.tiff
${TMPPFX}t02.tiff: ${TMPPFX}e02-e00.tiff
	@${MERGE} -o ${TMPPFX}t02.tiff ${TMPPFX}e02-e00.tiff ${TMPPFX}e02-e00.tiff
	@${RMTMP} ${TMPPFX}e02-e00.tiff
${TMPPFX}02.tiff: ${TMPPFX}t02.tiff
	@${LN} ${TMPPFX}t02.tiff ${TMPPFX}02.tiff
	@${RMTMP} ${TMPPFX}t02.tiff
${TMPPFX}-0003.tif: ${DST}.pto 03-e00-f0000.tiff
	@${REMAP} -i 3 -e -0.33 ${DST}.pto
${TMPPFX}f03-e00-f0000.tiff: ${TMPPFX}-0003.tif
	@${LN} ${TMPPFX}-0003.tif ${TMPPFX}f03-e00-f0000.tiff
	@${RMTMP} ${TMPPFX}-0003.tif
${TMPPFX}e03-e00.tiff: ${TMPPFX}f03-e00-f0000.tiff
	@${LN} ${TMPPFX}f03-e00-f0000.tiff ${TMPPFX}e03-e00.tiff
	@${RMTMP} ${TMPPFX}f03-e00-f0000.tiff
${TMPPFX}t03.tiff: ${TMPPFX}e03-e00.tiff
	@${MERGE} -o ${TMPPFX}t03.tiff ${TMPPFX}e03-e00.tiff ${TMPPFX}e03-e00.tiff
	@${RMTMP} ${TMPPFX}e03-e00.tiff
${TMPPFX}03.tiff: ${TMPPFX}t03.tiff
	@${LN} ${TMPPFX}t03.tiff ${TMPPFX}03.tiff
	@${RMTMP} ${TMPPFX}t03.tiff
${TMPPFX}-0004.tif: ${DST}.pto 04-e00-f0000.tiff
	@${REMAP} -i 4 -e -0.33 ${DST}.pto
${TMPPFX}f04-e00-f0000.tiff: ${TMPPFX}-0004.tif
	@${LN} ${TMPPFX}-0004.tif ${TMPPFX}f04-e00-f0000.tiff
	@${RMTMP} ${TMPPFX}-0004.tif
${TMPPFX}e04-e00.tiff: ${TMPPFX}f04-e00-f0000.tiff
	@${LN} ${TMPPFX}f04-e00-f0000.tiff ${TMPPFX}e04-e00.tiff
	@${RMTMP} ${TMPPFX}f04-e00-f0000.tiff
${TMPPFX}t04.tiff: ${TMPPFX}e04-e00.tiff
	@${MERGE} -o ${TMPPFX}t04.tiff ${TMPPFX}e04-e00.tiff ${TMPPFX}e04-e00.tiff
	@${RMTMP} ${TMPPFX}e04-e00.tiff
${TMPPFX}04.tiff: ${TMPPFX}t04.tiff
	@${LN} ${TMPPFX}t04.tiff ${TMPPFX}04.tiff
	@${RMTMP} ${TMPPFX}t04.tiff
${TMPPFX}-0005.tif: ${DST}.pto 05-e00-f0000.tiff
	@${REMAP} -i 5 -e -0.33 ${DST}.pto
${TMPPFX}f05-e00-f0000.tiff: ${TMPPFX}-0005.tif
	@${LN} ${TMPPFX}-0005.tif ${TMPPFX}f05-e00-f0000.tiff
	@${RMTMP} ${TMPPFX}-0005.tif
${TMPPFX}e05-e00.tiff: ${TMPPFX}f05-e00-f0000.tiff
	@${LN} ${TMPPFX}f05-e00-f0000.tiff ${TMPPFX}e05-e00.tiff
	@${RMTMP} ${TMPPFX}f05-e00-f0000.tiff
${TMPPFX}t05.tiff: ${TMPPFX}e05-e00.tiff
	@${MERGE} -o ${TMPPFX}t05.tiff ${TMPPFX}e05-e00.tiff ${TMPPFX}e05-e00.tiff
	@${RMTMP} ${TMPPFX}e05-e00.tiff
${TMPPFX}05.tiff: ${TMPPFX}t05.tiff
	@${LN} ${TMPPFX}t05.tiff ${TMPPFX}05.tiff
	@${RMTMP} ${TMPPFX}t05.tiff
${TMPPFX}-0006.tif: ${DST}.pto 06-e00-f0000.tiff
	@${REMAP} -i 6 -e -0.33 ${DST}.pto
${TMPPFX}f06-e00-f0000.tiff: ${TMPPFX}-0006.tif
	@${LN} ${TMPPFX}-0006.tif ${TMPPFX}f06-e00-f0000.tiff
	@${RMTMP} ${TMPPFX}-0006.tif
${TMPPFX}e06-e00.tiff: ${TMPPFX}f06-e00-f0000.tiff
	@${LN} ${TMPPFX}f06-e00-f0000.tiff ${TMPPFX}e06-e00.tiff
	@${RMTMP} ${TMPPFX}f06-e00-f0000.tiff
${TMPPFX}t06.tiff: ${TMPPFX}e06-e00.tiff
	@${MERGE} -o ${TMPPFX}t06.tiff ${TMPPFX}e06-e00.tiff ${TMPPFX}e06-e00.tiff
	@${RMTMP} ${TMPPFX}e06-e00.tiff
${TMPPFX}06.tiff: ${TMPPFX}t06.tiff
	@${LN} ${TMPPFX}t06.tiff ${TMPPFX}06.tiff
	@${RMTMP} ${TMPPFX}t06.tiff
${TMPPFX}-0007.tif: ${DST}.pto 07-e00-f0000.tiff
	@${REMAP} -i 7 -e -0.33 ${DST}.pto
${TMPPFX}f07-e00-f0000.tiff: ${TMPPFX}-0007.tif
	@${LN} ${TMPPFX}-0007.tif ${TMPPFX}f07-e00-f0000.tiff
	@${RMTMP} ${TMPPFX}-0007.tif
${TMPPFX}e07-e00.tiff: ${TMPPFX}f07-e00-f0000.tiff
	@${LN} ${TMPPFX}f07-e00-f0000.tiff ${TMPPFX}e07-e00.tiff
	@${RMTMP} ${TMPPFX}f07-e00-f0000.tiff
${TMPPFX}t07.tiff: ${TMPPFX}e07-e00.tiff
	@${MERGE} -o ${TMPPFX}t07.tiff ${TMPPFX}e07-e00.tiff ${TMPPFX}e07-e00.tiff
	@${RMTMP} ${TMPPFX}e07-e00.tiff
${TMPPFX}07.tiff: ${TMPPFX}t07.tiff
	@${LN} ${TMPPFX}t07.tiff ${TMPPFX}07.tiff
	@${RMTMP} ${TMPPFX}t07.tiff
${TMPPFX}-0008.tif: ${DST}.pto 08-e00-f0000.tiff
	@${REMAP} -i 8 -e -0.33 ${DST}.pto
${TMPPFX}f08-e00-f0000.tiff: ${TMPPFX}-0008.tif
	@${LN} ${TMPPFX}-0008.tif ${TMPPFX}f08-e00-f0000.tiff
	@${RMTMP} ${TMPPFX}-0008.tif
${TMPPFX}e08-e00.tiff: ${TMPPFX}f08-e00-f0000.tiff
	@${LN} ${TMPPFX}f08-e00-f0000.tiff ${TMPPFX}e08-e00.tiff
	@${RMTMP} ${TMPPFX}f08-e00-f0000.tiff
${TMPPFX}t08.tiff: ${TMPPFX}e08-e00.tiff
	@${MERGE} -o ${TMPPFX}t08.tiff ${TMPPFX}e08-e00.tiff ${TMPPFX}e08-e00.tiff
	@${RMTMP} ${TMPPFX}e08-e00.tiff
${TMPPFX}08.tiff: ${TMPPFX}t08.tiff
	@${LN} ${TMPPFX}t08.tiff ${TMPPFX}08.tiff
	@${RMTMP} ${TMPPFX}t08.tiff

${TMPPFX}.tiff: ${TMPPFX}00.tiff ${TMPPFX}01.tiff ${TMPPFX}02.tiff ${TMPPFX}03.tiff ${TMPPFX}04.tiff ${TMPPFX}05.tiff ${TMPPFX}06.tiff ${TMPPFX}07.tiff ${TMPPFX}08.tiff
	@${RMSRC}  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
	@${BLEND} -o ${TMPPFX}.tiff ${TMPPFX}00.tiff ${TMPPFX}01.tiff ${TMPPFX}02.tiff ${TMPPFX}03.tiff ${TMPPFX}04.tiff ${TMPPFX}05.tiff ${TMPPFX}06.tiff ${TMPPFX}07.tiff ${TMPPFX}08.tiff
	@${RMTMP} ${TMPPFX}00.tiff ${TMPPFX}01.tiff ${TMPPFX}02.tiff ${TMPPFX}03.tiff ${TMPPFX}04.tiff ${TMPPFX}05.tiff ${TMPPFX}06.tiff ${TMPPFX}07.tiff ${TMPPFX}08.tiff
${DST}.tiff: ${TMPPFX}.tiff
	@${CONV} ${TMPPFX}.tiff \
		+matte +repage   \
		-compress ${IMCOMP} ${DST}.tiff
	@${RMTMP} ${TMPPFX}.tiff

clean: 
	@-${RMSRC} 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
	@-${RMTMP} ${TMPPFX}-0000.tif ${TMPPFX}-0001.tif ${TMPPFX}-0002.tif ${TMPPFX}-0003.tif ${TMPPFX}-0004.tif ${TMPPFX}-0005.tif ${TMPPFX}-0006.tif ${TMPPFX}-0007.tif ${TMPPFX}-0008.tif
	@-${RMTMP} ${TMPPFX}f00-e00-f0000.tiff ${TMPPFX}e00-e00.tiff ${TMPPFX}t00.tiff ${TMPPFX}f01-e00-f0000.tiff ${TMPPFX}e01-e00.tiff ${TMPPFX}t01.tiff ${TMPPFX}f02-e00-f0000.tiff ${TMPPFX}e02-e00.tiff ${TMPPFX}t02.tiff ${TMPPFX}f03-e00-f0000.tiff ${TMPPFX}e03-e00.tiff ${TMPPFX}t03.tiff ${TMPPFX}f04-e00-f0000.tiff ${TMPPFX}e04-e00.tiff ${TMPPFX}t04.tiff ${TMPPFX}f05-e00-f0000.tiff ${TMPPFX}e05-e00.tiff ${TMPPFX}t05.tiff ${TMPPFX}f06-e00-f0000.tiff ${TMPPFX}e06-e00.tiff ${TMPPFX}t06.tiff ${TMPPFX}f07-e00-f0000.tiff ${TMPPFX}e07-e00.tiff ${TMPPFX}t07.tiff ${TMPPFX}f08-e00-f0000.tiff ${TMPPFX}e08-e00.tiff ${TMPPFX}t08.tiff
	@-${RMTMP} ${TMPPFX}00.tiff ${TMPPFX}01.tiff ${TMPPFX}02.tiff ${TMPPFX}03.tiff ${TMPPFX}04.tiff ${TMPPFX}05.tiff ${TMPPFX}06.tiff ${TMPPFX}07.tiff ${TMPPFX}08.tiff
	@-${RMTMP} ${TMPPFX}.tiff 
	@-${RMDST} ${DST}.tiff
