#! /bin/bash -eu
# Last edited on 2025-12-21 22:59:23 by stolfi

# Creates directory "${idir}" default annotation script "${idir}/annotate.sh",
# and the default makefile "${idir}/raw.make".
# The latter creates the base image "raw.png" from multispectral images.
# 

USAGE="${0/*\/} {DEST_DIR} {PAGE} {CROP} {BORDER}"

if [[ $# -ne 4 ]]; then
  echo "** wrong num arguments $# [$*]" 1>&2; 
  echo "usage:\n${USAGE}" 1>&2
  exit 1;
fi

idir="$1"; shift
page="$1"; shift
crop="$1"; shift
border="$1"; shift

WORK="${HOME}/projects/voynich/work"


if [[ -s ${idir} ]]; then 
  echo "!! warning: folder ${idir} already exists" 1>&2
else
  mkdir -pv ${idir}
fi

if [[ -s ${idir}/annotate.sh ]]; then 
  echo "!! script ${idir}/annotate.sh already exists - kept" 1>&2 ;
else
  cat ${WORK}/report_default_annotate.sh \
    > ${idir}/annotate.sh
  chmod a+x ${idir}/annotate.sh
fi

if [[ -s ${idir}/raw.make ]]; then 
  echo "!! script ${idir}/raw.make already exists" 1>&2 ;
else
  cat ${WORK}/report_default_MS_raw.make \
    | sed \
        -e "s:@PAGE@:${page}:g" \
        -e "s:@CROP@:'${crop}':g" \
        -e "s:@BORDER@:'${border}':g" \
    > ${idir}/raw.make
fi

( cd ${idir} && ln -s ../Makefile )
( cd ${idir} && ln -s ../unlighted )
( cd ${idir} && ln -s work/MS )
( cd ${idir} && ln -s work/MultiSpectral )
( cd ${idir} && ln -s ../work )
