| 1 | #!/bin/csh | 
|---|
| 2 | ##################################################### | 
|---|
| 3 | if( $#argv >= 1 ) then | 
|---|
| 4 | if( "$1" == "-h" ) then | 
|---|
| 5 | echo "mkmf [-options] [-o dir] [module1] [module2] [...]" | 
|---|
| 6 | echo "  generate documentation for all Sophya" | 
|---|
| 7 | echo "  or only for module [module...]" | 
|---|
| 8 | echo "  **** [-options] :" | 
|---|
| 9 | echo "  -html : generate HTML doc" | 
|---|
| 10 | echo "  -latex : generate LATEX doc" | 
|---|
| 11 | echo "  -man : generate MAN doc" | 
|---|
| 12 | echo "  -rtf : generate RTF doc" | 
|---|
| 13 | echo "  default is : html + latex" | 
|---|
| 14 | echo "  **** [-o dir] : directory where doc have to be put" | 
|---|
| 15 | echo "  default is ." | 
|---|
| 16 | exit -1 | 
|---|
| 17 | endif | 
|---|
| 18 | endif | 
|---|
| 19 | ##################################################### | 
|---|
| 20 |  | 
|---|
| 21 | ################################## | 
|---|
| 22 | ######## Decode arguments ######## | 
|---|
| 23 | ################################## | 
|---|
| 24 | set allmodules = ( \ | 
|---|
| 25 | SysTools TArray NTools HiStats SkyMap Samba FitsIOServer PMixer SkyT \ | 
|---|
| 26 | ) | 
|---|
| 27 | unset modules; unset latex; unset html; unset man; unset rtf | 
|---|
| 28 | set outdir = "." | 
|---|
| 29 | if( $#argv >= 1 ) then | 
|---|
| 30 | while ( $#argv > 0) | 
|---|
| 31 | if( "$1" == "-o" ) then | 
|---|
| 32 | shift | 
|---|
| 33 | set outdir = $1 | 
|---|
| 34 | else if( "$1" == "-html" ) then | 
|---|
| 35 | set html | 
|---|
| 36 | else if( "$1" == "-latex" ) then | 
|---|
| 37 | set latex | 
|---|
| 38 | else if( "$1" == "-man" ) then | 
|---|
| 39 | set man | 
|---|
| 40 | else if( "$1" == "-rtf" ) then | 
|---|
| 41 | set rtf | 
|---|
| 42 | else | 
|---|
| 43 | if( ! $?modules ) set modules | 
|---|
| 44 | set modules = ( $modules $1 ) | 
|---|
| 45 | endif | 
|---|
| 46 | shift | 
|---|
| 47 | end | 
|---|
| 48 | endif | 
|---|
| 49 | if( ! $?html  && ! $?latex  && ! $?man  && ! $?rtf ) then | 
|---|
| 50 | set html | 
|---|
| 51 | set latex | 
|---|
| 52 | endif | 
|---|
| 53 | if( ! $?modules ) then | 
|---|
| 54 | set modules = ( $allmodules ) | 
|---|
| 55 | endif | 
|---|
| 56 |  | 
|---|
| 57 | ########################################## | 
|---|
| 58 | ######## Test de la configuration ######## | 
|---|
| 59 | ########################################## | 
|---|
| 60 |  | 
|---|
| 61 | #------------ | 
|---|
| 62 | # mydoxy.conf | 
|---|
| 63 | #------------ | 
|---|
| 64 | cp dox_sophya.conf mydoxy.conf | 
|---|
| 65 |  | 
|---|
| 66 | #---------- | 
|---|
| 67 | # doxygen ? | 
|---|
| 68 | #---------- | 
|---|
| 69 | which doxygen >! /dev/null | 
|---|
| 70 | if( $status != 0 ) then | 
|---|
| 71 | echo 'ERROR: doxygen is not installed...' | 
|---|
| 72 | exit -1 | 
|---|
| 73 | endif | 
|---|
| 74 |  | 
|---|
| 75 | #------------- | 
|---|
| 76 | # doxysearch ? | 
|---|
| 77 | #------------- | 
|---|
| 78 | which doxysearch >! /dev/null | 
|---|
| 79 | if( $status != 0 ) then | 
|---|
| 80 | echo 'ERROR: doxysearch is not installed...' | 
|---|
| 81 | exit -2 | 
|---|
| 82 | else | 
|---|
| 83 | set s = `which doxysearch` | 
|---|
| 84 | echo 'doxysearch is installed in : ' $s:h | 
|---|
| 85 | echo 'mkmf will automatically update the config file.' | 
|---|
| 86 | echo "BIN_ABSPATH = $s:h" >>  mydoxy.conf | 
|---|
| 87 | grep 'BIN_ABSPATH' mydoxy.conf | grep -v ^\# | 
|---|
| 88 | endif | 
|---|
| 89 |  | 
|---|
| 90 | #----------------- | 
|---|
| 91 | # Version number ? | 
|---|
| 92 | #----------------- | 
|---|
| 93 | set f = ../SysTools/sversion.h | 
|---|
| 94 | if( -e $f ) then | 
|---|
| 95 | set v = `grep 'SOPHYA_VERSION'  $f | awk '{print $3}'` | 
|---|
| 96 | set r = `grep 'SOPHYA_REVISION' $f | awk '{print $3}'` | 
|---|
| 97 | set t = `grep 'SOPHYA_TAG'      $f | awk '{print $3}'` | 
|---|
| 98 | echo "PROJECT_NUMBER = V${v}_R${r}_${t}" >>  mydoxy.conf | 
|---|
| 99 | else | 
|---|
| 100 | echo "PROJECT_NUMBER = Not_Defined" >>  mydoxy.conf | 
|---|
| 101 | endif | 
|---|
| 102 | grep 'PROJECT_NUMBER = ' mydoxy.conf | tail -1 | 
|---|
| 103 |  | 
|---|
| 104 | #--------------- | 
|---|
| 105 | # What modules ? | 
|---|
| 106 | #--------------- | 
|---|
| 107 | set lf = | 
|---|
| 108 | foreach f ( $modules ) | 
|---|
| 109 | echo "... Generating doc for ../$f" | 
|---|
| 110 | set lf = ( ../$f $lf ) | 
|---|
| 111 | end | 
|---|
| 112 | echo "INPUT = $lf" >>  mydoxy.conf | 
|---|
| 113 | grep 'INPUT = ' mydoxy.conf | tail -1 | 
|---|
| 114 |  | 
|---|
| 115 | set lf = | 
|---|
| 116 | foreach f ( $allmodules ) | 
|---|
| 117 | set lf = ( ../$f $lf ) | 
|---|
| 118 | end | 
|---|
| 119 | echo "EXAMPLE_PATH = $lf" >>  mydoxy.conf | 
|---|
| 120 |  | 
|---|
| 121 | #------------------- | 
|---|
| 122 | # What kind of doc ? | 
|---|
| 123 | #------------------- | 
|---|
| 124 | if( $?html ) then | 
|---|
| 125 | echo "GENERATE_HTML = YES" >>  mydoxy.conf | 
|---|
| 126 | echo "...... generating HTML" | 
|---|
| 127 | else | 
|---|
| 128 | echo "GENERATE_HTML = NO" >>  mydoxy.conf | 
|---|
| 129 | endif | 
|---|
| 130 | if( $?latex ) then | 
|---|
| 131 | echo "GENERATE_LATEX = YES" >>  mydoxy.conf | 
|---|
| 132 | echo "...... generating LATEX" | 
|---|
| 133 | else | 
|---|
| 134 | echo "GENERATE_LATEX = NO" >>  mydoxy.conf | 
|---|
| 135 | endif | 
|---|
| 136 | if( $?man ) then | 
|---|
| 137 | echo "GENERATE_MAN = YES" >>  mydoxy.conf | 
|---|
| 138 | echo "...... generating MAN" | 
|---|
| 139 | else | 
|---|
| 140 | echo "GENERATE_MAN = NO" >>  mydoxy.conf | 
|---|
| 141 | endif | 
|---|
| 142 | if( $?rtf ) then | 
|---|
| 143 | echo "GENERATE_RTF = YES" >>  mydoxy.conf | 
|---|
| 144 | echo "...... generating RTF" | 
|---|
| 145 | else | 
|---|
| 146 | echo "GENERATE_RTF = NO" >>  mydoxy.conf | 
|---|
| 147 | endif | 
|---|
| 148 |  | 
|---|
| 149 | #------------------------ | 
|---|
| 150 | # What output directory ? | 
|---|
| 151 | #------------------------ | 
|---|
| 152 | if( ! -d $outdir ) then | 
|---|
| 153 | echo ERROR: Not existing directory : $outdir | 
|---|
| 154 | exit -1 | 
|---|
| 155 | endif | 
|---|
| 156 | echo "OUTPUT_DIRECTORY = $outdir" >>  mydoxy.conf | 
|---|
| 157 | grep 'OUTPUT_DIRECTORY = ' mydoxy.conf | tail -1 | 
|---|
| 158 |  | 
|---|
| 159 | #-------------------------- | 
|---|
| 160 | # Configuration file update | 
|---|
| 161 | #-------------------------- | 
|---|
| 162 | doxygen -u mydoxy.conf >! /dev/null | 
|---|
| 163 | rm -f mydoxy.conf.bak | 
|---|
| 164 |  | 
|---|
| 165 | ######################################### | 
|---|
| 166 | ######## Creation de la Makefile ######## | 
|---|
| 167 | ######################################### | 
|---|
| 168 |  | 
|---|
| 169 | rm -f Makefile | 
|---|
| 170 | touch Makefile | 
|---|
| 171 | chmod +x Makefile | 
|---|
| 172 | cat >> Makefile << EOF_ | 
|---|
| 173 |  | 
|---|
| 174 | #------------------------------------------------------- | 
|---|
| 175 | all: doc sophya pmixer | 
|---|
| 176 |  | 
|---|
| 177 | #------------------------------------------------------- | 
|---|
| 178 | clean: | 
|---|
| 179 | rm -rf *.o dox_filter | 
|---|
| 180 | if [ -d ${outdir} ] ; then cd ${outdir}/ ; rm -rf html latex man rtf; fi | 
|---|
| 181 |  | 
|---|
| 182 | #------------------------------------------------------- | 
|---|
| 183 | copy: | 
|---|
| 184 | if [ ! -d ${outdir}/latex ] ; then mkdir ${outdir}/latex; fi | 
|---|
| 185 | cp -p *.tex *.sty *.eps *.inc ${outdir}/latex/. | 
|---|
| 186 |  | 
|---|
| 187 | #------------------------------------------------------- | 
|---|
| 188 | doc: filter | 
|---|
| 189 | doxygen mydoxy.conf | 
|---|
| 190 |  | 
|---|
| 191 | #------------------------------------------------------- | 
|---|
| 192 | filter: dox_filter | 
|---|
| 193 |  | 
|---|
| 194 | dox_filter : dox_filter.o | 
|---|
| 195 |  | 
|---|
| 196 | dox_filter.o : dox_filter.c | 
|---|
| 197 |  | 
|---|
| 198 | #------------------------------------------------------- | 
|---|
| 199 | sophya: copy ${outdir}/latex/sophya.ps | 
|---|
| 200 |  | 
|---|
| 201 | ${outdir}/latex/sophya.ps: sophya.tex defsophya.sty blue_sophya_400.eps ex1.inc | 
|---|
| 202 | cd ${outdir}/latex/; latex sophya.tex; latex sophya.tex; \ | 
|---|
| 203 | dvips -o sophya.ps sophya.dvi | 
|---|
| 204 |  | 
|---|
| 205 | pmixer: copy ${outdir}/latex/pmixer.ps | 
|---|
| 206 |  | 
|---|
| 207 | ${outdir}/latex/pmixer.ps: pmixer.tex | 
|---|
| 208 | cd ${outdir}/latex/; latex pmixer.tex; latex pmixer.tex; \ | 
|---|
| 209 | dvips -o pmixer.ps pmixer.dvi | 
|---|
| 210 |  | 
|---|
| 211 | EOF_ | 
|---|
| 212 |  | 
|---|
| 213 | exit 0 | 
|---|