#!/bin/csh ##################################################### if( $#argv >= 1 ) then if( "$1" == "-h" ) then echo "mkmf [-options] [-o dir] [module1] [module2] [...]" echo " generate documentation for all Sophya" echo " or only for module [module...]" echo " **** [-options] :" echo " -html : generate HTML doc" echo " -latex : generate LATEX doc" echo " -man : generate MAN doc" echo " -rtf : generate RTF doc" echo " default is : html + latex" echo " **** [-o dir] : directory where doc have to be put" echo " default is ." exit -1 endif endif ##################################################### ################################## ######## Decode arguments ######## ################################## set allmodules = ( \ BaseTools HiStats NTools Samba SkyMap SUtils SysTools TArray \ FitsIOServer IFFTW LinAlg XAstroPack \ PMixer PrgMap PrgUtil ProgPI SkyT \ ) unset modules; unset latex; unset html; unset man; unset rtf set outdir = "." if( $#argv >= 1 ) then while ( $#argv > 0) if( "$1" == "-o" ) then shift set outdir = $1 else if( "$1" == "-html" ) then set html else if( "$1" == "-latex" ) then set latex else if( "$1" == "-man" ) then set man else if( "$1" == "-rtf" ) then set rtf else if( ! $?modules ) set modules set modules = ( $modules $1 ) endif shift end endif if( ! $?html && ! $?latex && ! $?man && ! $?rtf ) then set html set latex endif if( ! $?modules ) then set modules = ( $allmodules ) endif ########################################## ######## Test de la configuration ######## ########################################## #------------ # mydoxy.conf #------------ cp dox_sophya.conf mydoxy.conf #---------- # doxygen ? #---------- which doxygen >! /dev/null if( $status != 0 ) then echo 'ERROR: doxygen is not installed...' exit -1 endif #------------- # doxysearch ? #------------- which doxysearch >! /dev/null if( $status != 0 ) then echo 'ERROR: doxysearch is not installed...' exit -2 else set s = `which doxysearch` echo 'doxysearch is installed in : ' $s:h echo 'mkmf will automatically update the config file.' echo "BIN_ABSPATH = $s:h" >> mydoxy.conf grep 'BIN_ABSPATH' mydoxy.conf | grep -v ^\# endif #----------------- # Version number ? #----------------- set f = ../BaseTools/sversion.h if( -e $f ) then set v = `grep 'SOPHYA_VERSION' $f | awk '{print $3}'` set r = `grep 'SOPHYA_REVISION' $f | awk '{print $3}'` set t = `grep 'SOPHYA_TAG' $f | awk '{print $3}'` echo "PROJECT_NUMBER = V${v}_R${r}_${t}" >> mydoxy.conf else echo "PROJECT_NUMBER = Not_Defined" >> mydoxy.conf endif grep 'PROJECT_NUMBER = ' mydoxy.conf | tail -1 #--------------- # What modules ? #--------------- set lf = foreach f ( $modules ) echo "... Generating doc for ../$f" set lf = ( ../$f $lf ) end echo "INPUT = $lf" >> mydoxy.conf grep 'INPUT = ' mydoxy.conf | tail -1 set lf = foreach f ( $allmodules ) set lf = ( ../$f $lf ) end echo "EXAMPLE_PATH = $lf" >> mydoxy.conf #------------------- # What kind of doc ? #------------------- if( $?html ) then echo "GENERATE_HTML = YES" >> mydoxy.conf echo "...... generating HTML" else echo "GENERATE_HTML = NO" >> mydoxy.conf endif if( $?latex ) then echo "GENERATE_LATEX = YES" >> mydoxy.conf echo "...... generating LATEX" else echo "GENERATE_LATEX = NO" >> mydoxy.conf endif if( $?man ) then echo "GENERATE_MAN = YES" >> mydoxy.conf echo "...... generating MAN" else echo "GENERATE_MAN = NO" >> mydoxy.conf endif if( $?rtf ) then echo "GENERATE_RTF = YES" >> mydoxy.conf echo "...... generating RTF" else echo "GENERATE_RTF = NO" >> mydoxy.conf endif #------------------------ # What output directory ? #------------------------ if( ! -d $outdir ) then echo ERROR: Not existing directory : $outdir exit -1 endif echo "OUTPUT_DIRECTORY = $outdir" >> mydoxy.conf grep 'OUTPUT_DIRECTORY = ' mydoxy.conf | tail -1 #-------------------------- # Configuration file update #-------------------------- doxygen -u mydoxy.conf >! /dev/null rm -f mydoxy.conf.bak ######################################### ######## Creation de la Makefile ######## ######################################### rm -f Makefile touch Makefile chmod +x Makefile cat >> Makefile << EOF_ #------------------------------------------------------- all: doc sophya pmixer #------------------------------------------------------- clean: rm -rf *.o dox_filter if [ -d ${outdir} ] ; then cd ${outdir}/ ; rm -rf html latex man rtf; fi #------------------------------------------------------- copy: if [ ! -d ${outdir}/latex ] ; then mkdir ${outdir}/latex; fi cp -p *.tex *.sty *.eps *.inc ${outdir}/latex/. #------------------------------------------------------- doc: filter doxygen mydoxy.conf #------------------------------------------------------- filter: dox_filter dox_filter : dox_filter.o dox_filter.o : dox_filter.c #------------------------------------------------------- sophya: copy ${outdir}/latex/sophya.ps ${outdir}/latex/sophya.ps: sophya.tex defsophya.sty blue_sophya_400.eps ex1.inc cd ${outdir}/latex/; latex sophya.tex; latex sophya.tex; \ dvips -o sophya.ps sophya.dvi pmixer: copy ${outdir}/latex/pmixer.ps ${outdir}/latex/pmixer.ps: pmixer.tex cd ${outdir}/latex/; latex pmixer.tex; latex pmixer.tex; \ dvips -o pmixer.ps pmixer.dvi EOF_ exit 0