| [891] | 1 | #!/bin/csh | 
|---|
| [976] | 2 | ##################################################### | 
|---|
| [891] | 3 | if( $#argv >= 1 ) then | 
|---|
|  | 4 | if( "$1" == "-h" ) then | 
|---|
| [976] | 5 | echo "mkmf [-options] [-o dir] [module1] [module2] [...]" | 
|---|
| [891] | 6 | echo "  generate documentation for all Sophya" | 
|---|
| [976] | 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 | 
|---|
| [891] | 17 | endif | 
|---|
|  | 18 | endif | 
|---|
| [976] | 19 | ##################################################### | 
|---|
| [891] | 20 |  | 
|---|
| [976] | 21 | ################################## | 
|---|
|  | 22 | ######## Decode arguments ######## | 
|---|
|  | 23 | ################################## | 
|---|
| [1000] | 24 | set allmodules = ( \ | 
|---|
|  | 25 | SysTools TArray NTools HiStats SkyMap Samba FitsIOServer PMixer SkyT \ | 
|---|
|  | 26 | ) | 
|---|
| [976] | 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 |  | 
|---|
| [891] | 57 | ########################################## | 
|---|
|  | 58 | ######## Test de la configuration ######## | 
|---|
|  | 59 | ########################################## | 
|---|
|  | 60 |  | 
|---|
| [976] | 61 | #------------ | 
|---|
| [891] | 62 | # mydoxy.conf | 
|---|
| [976] | 63 | #------------ | 
|---|
| [891] | 64 | cp dox_sophya.conf mydoxy.conf | 
|---|
|  | 65 |  | 
|---|
| [976] | 66 | #---------- | 
|---|
| [891] | 67 | # doxygen ? | 
|---|
| [976] | 68 | #---------- | 
|---|
| [891] | 69 | which doxygen >! /dev/null | 
|---|
|  | 70 | if( $status != 0 ) then | 
|---|
|  | 71 | echo 'ERROR: doxygen is not installed...' | 
|---|
|  | 72 | exit -1 | 
|---|
|  | 73 | endif | 
|---|
|  | 74 |  | 
|---|
| [976] | 75 | #------------- | 
|---|
| [891] | 76 | # doxysearch ? | 
|---|
| [976] | 77 | #------------- | 
|---|
| [891] | 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` | 
|---|
| [976] | 84 | echo 'doxysearch is installed in : ' $s:h | 
|---|
| [891] | 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 |  | 
|---|
| [976] | 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 | 
|---|
| [891] | 101 | endif | 
|---|
| [976] | 102 | grep 'PROJECT_NUMBER = ' mydoxy.conf | tail -1 | 
|---|
| [891] | 103 |  | 
|---|
| [976] | 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 | #------------------------ | 
|---|
| [1453] | 152 | if( ! -d $outdir ) then | 
|---|
|  | 153 | echo ERROR: Not existing directory : $outdir | 
|---|
|  | 154 | exit -1 | 
|---|
|  | 155 | endif | 
|---|
| [976] | 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 |  | 
|---|
| [891] | 165 | ######################################### | 
|---|
|  | 166 | ######## Creation de la Makefile ######## | 
|---|
|  | 167 | ######################################### | 
|---|
|  | 168 |  | 
|---|
|  | 169 | rm -f Makefile | 
|---|
|  | 170 | touch Makefile | 
|---|
|  | 171 | chmod +x Makefile | 
|---|
|  | 172 | cat >> Makefile << EOF_ | 
|---|
|  | 173 |  | 
|---|
| [1453] | 174 | #------------------------------------------------------- | 
|---|
|  | 175 | all: doc sophya pmixer | 
|---|
|  | 176 |  | 
|---|
|  | 177 | #------------------------------------------------------- | 
|---|
| [891] | 178 | clean: | 
|---|
| [1453] | 179 | rm -rf *.o dox_filter | 
|---|
|  | 180 | if [ -d ${outdir} ] ; then cd ${outdir}/ ; rm -rf html latex man rtf; fi | 
|---|
| [891] | 181 |  | 
|---|
| [1453] | 182 | #------------------------------------------------------- | 
|---|
|  | 183 | copy: | 
|---|
|  | 184 | if [ ! -d ${outdir}/latex ] ; then mkdir ${outdir}/latex; fi | 
|---|
|  | 185 | cp -p *.tex *.sty *.eps *.inc ${outdir}/latex/. | 
|---|
|  | 186 |  | 
|---|
|  | 187 | #------------------------------------------------------- | 
|---|
| [891] | 188 | doc: filter | 
|---|
|  | 189 | doxygen mydoxy.conf | 
|---|
|  | 190 |  | 
|---|
| [1453] | 191 | #------------------------------------------------------- | 
|---|
| [891] | 192 | filter: dox_filter | 
|---|
|  | 193 |  | 
|---|
|  | 194 | dox_filter : dox_filter.o | 
|---|
|  | 195 |  | 
|---|
|  | 196 | dox_filter.o : dox_filter.c | 
|---|
|  | 197 |  | 
|---|
| [1453] | 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 |  | 
|---|
| [891] | 211 | EOF_ | 
|---|
|  | 212 |  | 
|---|
|  | 213 | exit 0 | 
|---|