#!/bin/ksh

usage()
{
    echo "Procedure ${0}

Usage : ${0} [-d] [-w] [-W] [-h] [-H] [-l] [-L] [-h] [-p] [-c] [-q] [-D]

   Defaults : -h -l

   -d  : run latex twice. needed for correct table of contents ;
   -w  : send web pages to IPSL web server ;
   -W  : don''t send web pages ;
   -b  : build html ;
   -B  : don''t build html ;
   -l  : latexize (build dvi) ;
   -L  : don''t latexize ;
   -p  : generates PostScript and PDF ;
   -q  : generates color PostScript and PDF ;
   -P  : doesn't generate PostScript neither PDF ;
   -a  : performs all builds, except cleaning ;
   -A  : does not perform default ;
   -c  : clean auxiliary files ;
   -C  : clean auxiliary and generated files ;
   -D  : synchronize data with Mercure
   -h  : print this short help.
"
}

DOCDIR=$( pwd )

WEBDIR=${HOME}"/Web/Documents/DODS-IPSL/IPSLCM4/DocIPSLCM4"
IPSL_WEB="omamce@calcul2.ipsl.jussieu.fr:/ipsl/modeli/data/dods/web/html/omamce/IPSLCM4/DocIPSLCM4"

IGCMGDIR=${HOME}"/Web/Documents/IGCMG"
IGCMG_WEB="igcmg@calcul2.ipsl.jussieu.fr:/ipsl/web/data_web/sites/igcmg/html"

HTMLDIR=${WEBDIR}"/HTML"
LATEXDIR=${WEBDIR}"/LATEX"

IPSL_HTML=${IPSL_WEB}"/HTML"
IPSL_LATEX=${IPSL_WEB}"/LATEX"
IPSL_FILES=${IPSL_WEB}"/FILES"
IPSL_SCRIPTS=${IPSL_WEB}"/SCRIPTS"
IPSL_FIGURES=${IPSL_WEB}"/FILES/Figures"

FIGURES=${DOCDIR}/Figures
SCRIPTS=${DOCDIR}/../Scripts

SCP='rsync -P --update --times --recursive --delete --perms --rsh=ssh'

# Set defaults
double="no"
web="no"
html="yes"
latex_nb="yes"
latex_color="no"
post="no"
clean="no"
Clean="no"
data_sync="no"

# Process command line options
while getopts aAhwWdDbBlLpPcCqs name
  do
  case ${name} in
      h)  usage ; exit 0 ;;
      d)  double="yes" ;;
      D)  double="no" ;;
      w)  web="yes" ;;
      W)  web="no" ;;
      b)  html="yes" ;;
      B)  html="no" ;;
      l)  latex_nb="yes" ;;
      q)  latex_color="yes";;
      L)  latex_nb="no" ; latex_color="no" ;;
      p)  post="yes" ;;
      P)  post="no" ;;
      c)  clean="yes" ;;
      C)  Clean="yes" ; clean="yes" ;;
      a)  double="yes" ; html="yes" ; latex_nb="yes" ; latex_color="yes"
	  post="yes" ;;
      A)  double="no" ; web="no" ; html="no" ; latex_nb="no" 
	  latex_color="no" post="no" ;;
      s)  data_sync="yes" ;;
  esac
done
shift $(( ${OPTIND} - 1 ))

echo ${DOCDIR}

if [ ${clean} = 'yes' ]
    then
    rm -f *.aux *.bbl *.lot *.out *.log *.lof *.blg *.toc
    if [ ${Clean} = 'yes' ]
	then
	rm -f *.dvi *.ps *.pdf *.rtf
    fi
    exit 0
fi


if [ ${latex_nb} = 'yes' ]
    then
    
    # Versions papiers : figures noir et blanc
    cd ${SCRIPTS}
    for file in *_nb.ps
      do
      ( cd ${FIGURES} ;  ln -fs ${SCRIPTS}/${file} ${FIGURES}/$(basename ${file} _nb.ps).eps )
    done
    cd ${DOCDIR}
    
    ln -fs support_pdfnb.tex support.tex
    
    latex  DocIPSLCM4
    bibtex DocIPSLCM4
    if [ ${double} = 'yes' ]
	then
	latex DocIPSLCM4
    fi
    if [ ${post} = 'yes' ]
	then
	dvips -o DocIPSLCM4.ps DocIPSLCM4
	dvipdf DocIPSLCM4
    fi
    
    mv DocIPSLCM4.ps DocIPSLCM4_nb.ps
    mv DocIPSLCM4.pdf DocIPSLCM4_nb.pdf
    cp DocIPSLCM4_nb.ps DocIPSLCM4_nb.pdf ${WEBDIR}/FILES
    
fi

if [ ${latex_color} = 'yes' ]
    then
    
    # Versions papiers : figures couleur
    cd ${SCRIPTS}
    for file in *_color.ps
      do
      ( cd ${FIGURES} ;  ln -fs ${SCRIPTS}/${file} ${FIGURES}/$(basename ${file} _color.ps).eps )
    done
    cd ${DOCDIR}
    
    ln -fs support_pdfcolor.tex support.tex
    
    latex  DocIPSLCM4
    bibtex DocIPSLCM4
    if [ ${double} = 'yes' ]
	then
	latex DocIPSLCM4
    fi
    
    if [ ${post} = 'yes' ]
	then
	dvips -o DocIPSLCM4.ps DocIPSLCM4
	dvipdf DocIPSLCM4
    fi
    
    mv DocIPSLCM4.ps DocIPSLCM4_color.ps
    mv DocIPSLCM4.pdf DocIPSLCM4_color.pdf
    cp DocIPSLCM4_color.ps DocIPSLCM4_color.pdf ${WEBDIR}/FILES
fi


if [ ${html} = 'yes' ]
    then
    
    # Versions web : figures couleur
    cd ${SCRIPTS}
    for file in *_color.ps
      do
      ( cd ${FIGURES} ;  ln -fs ${SCRIPTS}/${file} ${FIGURES}/`basename ${file} _color.ps`.eps )
    done
    cd ${DOCDIR}
    ln -fs support_html.tex support.tex
    
    \rm -rf ${HTMLDIR}
    mkdir ${HTMLDIR}
    latex2html \
	-dir ${HTMLDIR} \
	-reuse 2 \
	-long_titles 8 \
	-split 3 \
	-toc_depth 3 \
	-numbered_footnotes \
	-show_section_numbers \
	-navigation -top_navigation -bottom_navigation \
	-contents_in_navigation -index_in_navigation \
	-verbosity 1 \
	-white \
        -iso_language EN.EN \
        -no_antialias -antialias_text \
        -no_transparent \
	-local_icons \
        -no_math -html_version 4.0,frame \
	DocIPSLCM4.tex
    
        #	-html_version 4.0,math,frame \
        #	-transparent \
	
fi

 # Menage des liens
cd ${FIGURES}
for file in *
  do
  [ -L ${file} ] && rm ${file}
done


if [ ${web} = 'yes' ]
    then
    chmod -R ug+rX ${HTMLDIR} ${DOCDIR}
    ${SCP} --links ${HTMLDIR} ${IPSL_WEB}
    ${SCP} --links ${DOCDIR}/DocIPSLCM4_nb.ps     ${IPSL_FILES}
    ${SCP} --links ${DOCDIR}/DocIPSLCM4_nb.pdf    ${IPSL_FILES}
    ${SCP} --links ${DOCDIR}/DocIPSLCM4_color.ps  ${IPSL_FILES}
    ${SCP} --links ${DOCDIR}/DocIPSLCM4_color.pdf ${IPSL_FILES}
    ${SCP} --links ${DOCDIR}/htaccess ${IPSL_WEB}
    ${SCP} ${DOCDIR}/*.tex ${IPSL_LATEX}
    ${SCP} ${DOCDIR}/*.bib ${IPSL_LATEX}
    ${SCP} ${DOCDIR}/*.bst ${IPSL_LATEX}
    ${SCP} ${SCRIPTS}/*.jnl ${IPSL_SCRIPTS}
    ${SCP} --copy-links ${DOCDIR}/Figures ${IPSL_LATEX}
    ${SCP} --links ${WEBDIR}/Welcome.html ${IPSL_WEB}
    ${SCP} --links ${WEBDIR}/Welcome.html ${IPSL_WEB}/index.html
    ${SCP} --links ${WEBDIR}/Images       ${IPSL_WEB} 
    
    sed \
	-e 's%HREF="HTML%HREF="http://dods.ipsl.jussieu.fr/omamce/IPSLCM4/DocIPSLCM4/HTML%g'    \
	-e 's%HREF="FILES%HREF="http://dods.ipsl.jussieu.fr/omamce/IPSLCM4/DocIPSLCM4/FILES%g'  \
	-e 's%HREF="LATEX%HREF="http://dods.ipsl.jussieu.fr/omamce/IPSLCM4/DocIPSLCM4/LATEX%g'  \
	${WEBDIR}/Welcome.html > ${IGCMGDIR}/Doc/IPSLCM4/Welcome.html 
    
    ${SCP} ${IGCMGDIR}/Doc/IPSLCM4/Welcome.html ${IGCMG_WEB}/Doc/IPSLCM4/Welcome.html
    ${SCP} ${IGCMGDIR}/Doc/IPSLCM4/Welcome.html ${IGCMG_WEB}/Doc/IPSLCM4/index.html
    
    scp ${IGCMGDIR}/Welcome.html ${IGCMG_WEB}/Welcome.html 
    scp ${IGCMGDIR}/Welcome.html ${IGCMG_WEB}/index.html
    
fi

if [ "${data_sync}" = 'yes' ] 
    then
    cd /Volumes/CLIM/DataDoc
    for file in *.nc
      do
      rsync -P --update --times --perms --rsh=ssh ${file} p86mart@mercure.ccc.cea.fr:/dmnfs/p86mart/IPSLCM4/Doc/Data
    done
fi


