| [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 | #------------------------ | 
|---|
|  | 152 | echo "OUTPUT_DIRECTORY = $outdir" >>  mydoxy.conf | 
|---|
|  | 153 | grep 'OUTPUT_DIRECTORY = ' mydoxy.conf | tail -1 | 
|---|
|  | 154 |  | 
|---|
|  | 155 | #-------------------------- | 
|---|
|  | 156 | # Configuration file update | 
|---|
|  | 157 | #-------------------------- | 
|---|
|  | 158 | doxygen -u mydoxy.conf >! /dev/null | 
|---|
|  | 159 | rm -f mydoxy.conf.bak | 
|---|
|  | 160 |  | 
|---|
| [891] | 161 | ######################################### | 
|---|
|  | 162 | ######## Creation de la Makefile ######## | 
|---|
|  | 163 | ######################################### | 
|---|
|  | 164 |  | 
|---|
|  | 165 | rm -f Makefile | 
|---|
|  | 166 | touch Makefile | 
|---|
|  | 167 | chmod +x Makefile | 
|---|
|  | 168 | cat >> Makefile << EOF_ | 
|---|
|  | 169 | all: doc | 
|---|
|  | 170 |  | 
|---|
|  | 171 | clean: | 
|---|
|  | 172 | rm -rf html latex man rtf *.o dox_filter | 
|---|
|  | 173 |  | 
|---|
|  | 174 | doc: filter | 
|---|
|  | 175 | doxygen mydoxy.conf | 
|---|
|  | 176 |  | 
|---|
|  | 177 | filter: dox_filter | 
|---|
|  | 178 |  | 
|---|
|  | 179 | dox_filter : dox_filter.o | 
|---|
|  | 180 |  | 
|---|
|  | 181 | dox_filter.o : dox_filter.c | 
|---|
|  | 182 |  | 
|---|
|  | 183 | EOF_ | 
|---|
|  | 184 |  | 
|---|
|  | 185 | exit 0 | 
|---|