Changeset 3520:be1498bb88bb in roaraudio
- Timestamp:
- 02/17/10 04:28:54 (14 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- compbins
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
compbins/Makefile
r3506 r3520 9 9 include ../Makefile.inc 10 10 11 .SUFFIXES: .a .r .bat 12 11 13 all: ${TARGETS} 12 14 cp $(cp_v) ${TARGETS} ../lib/ … … 17 19 .a.r: 18 20 ./ast2roar $@ $< 21 .a.bat: 22 ./ast2roar --dos $@ $< -
compbins/ast2roar
r3502 r3520 1 1 #!/bin/sh 2 3 DOS=false 4 SECTIONC=0 5 6 if [ "$1" = '--dos' ] 7 then 8 DOS=true; 9 shift; 10 fi 2 11 3 12 OUT="$1" … … 14 23 cat > $HELPFILE 15 24 } 25 16 26 17 27 if [ -r $IN ] … … 24 34 25 35 { 26 echo '#!/bin/sh' 36 $DOS && echo '@ECHO OFF' 37 $DOS || echo '#!/bin/sh' 27 38 echo 28 39 29 echo "_args='$ARGS_ADD_OPTS';" 30 cat <<_E_O_F_ 40 $DOS && echo "SET _ARGS=$ARGS_ADD_OPTS" 41 $DOS || echo "_args='$ARGS_ADD_OPTS';" 42 43 if $DOS 44 then 45 cat <<_E_O_F_ 46 47 :mloop 48 IF "x%1" == "x" GOTO mloopend 49 SET k=%1 50 SHIFT 51 52 IF "%k%" == "--" GOTO mloopend 53 _E_O_F_ 54 else 55 cat <<_E_O_F_ 31 56 32 57 while [ -n "\$1" ] … … 40 65 ;; 41 66 _E_O_F_ 67 fi 42 68 43 69 if [ "$HELPOPTS" != '' ] 44 70 then 45 _opts=`echo "$HELPOPTS" | sed "s/^/\'/; s/$/\'/; s/ /\'\|\'/g"` 46 echo " $_opts)"; 47 echo ' cat <<__AST2ROAR__END_OF_HELP_TEXT__' 48 cat $HELPFILE 49 echo '__AST2ROAR__END_OF_HELP_TEXT__' 50 echo ' exit 0;' 51 echo ' ;;'; 71 if $DOS 72 then 73 for o in $HELPOPTS 74 do 75 echo "IF \"%k%\" == \"$o\" GOTO help" 76 done 77 else 78 _opts=`echo "$HELPOPTS" | sed "s/^/\'/; s/$/\'/; s/ /\'\|\'/g"` 79 echo " $_opts)"; 80 echo ' cat <<__AST2ROAR__END_OF_HELP_TEXT__' 81 cat $HELPFILE 82 echo '__AST2ROAR__END_OF_HELP_TEXT__' 83 echo ' exit 0;' 84 echo ' ;;'; 85 fi 52 86 fi 53 87 … … 56 90 on=`echo $o | cut -d: -f1` 57 91 oa=`echo $o | cut -d: -f2` 58 echo " '$on')"; 59 if $oa 60 then 61 echo ' shift;'; 62 fi 63 echo ' ;;'; 92 if $DOS 93 then 94 if $oa 95 then 96 echo "IF \"%k%\" == \"$on\" GOTO nextshift" 97 else 98 echo "IF \"%k%\" == \"$on\" GOTO next" 99 fi 100 else 101 echo " '$on')"; 102 if $oa 103 then 104 echo ' shift;'; 105 fi 106 echo ' ;;'; 107 fi 64 108 done 65 109 … … 68 112 on=`echo $o | cut -d: -f1` 69 113 oa=`echo $o | cut -d: -f2` 70 echo " '$on')"; 71 if $oa 72 then 73 echo ' _args="$_args '"$on"' $1";'; 74 echo ' shift;'; 75 else 76 echo ' _args="$_args '"$on"'";'; 77 fi 78 echo ' ;;'; 114 if $DOS 115 then 116 if $oa 117 then 118 echo 'IF "%k%" == "'"$on"'" GOTO passval'; 119 else 120 echo 'IF "%k%" == "'"$on"'" GOTO pass'; 121 fi 122 else 123 echo " '$on')"; 124 if $oa 125 then 126 echo ' _args="$_args '"$on"' $1";'; 127 echo ' shift;'; 128 else 129 echo ' _args="$_args '"$on"'";'; 130 fi 131 echo ' ;;'; 132 fi 79 133 done 80 134 … … 84 138 oa=`echo $o | cut -d: -f2` 85 139 or=`echo $o | cut -d: -f3` 86 echo " '$on')"; 87 if $oa 88 then 89 echo ' _args="$_args '"$or"' $1";'; 90 echo ' shift;'; 91 else 92 echo ' _args="$_args '"$or"'";'; 93 fi 94 echo ' ;;'; 140 if $DOS 141 then 142 sec=sec$SECTIONC 143 SECTIONC=`expr $SECTIONC + 1` 144 if $oa 145 then 146 cat <<_E_O_F_ 147 IF NOT "%k%" == "$on" GOTO ${sec}end 148 SET _ARGV=%_ARGV% $or %1 149 GOTO nextshift 150 :${sec}end 151 152 _E_O_F_ 153 else 154 cat <<_E_O_F_ 155 IF NOT "%k%" == "$on" GOTO ${sec}end 156 SET _ARGV=%_ARGV% $or 157 GOTO next 158 :${sec}end 159 160 _E_O_F_ 161 fi 162 else 163 echo " '$on')"; 164 if $oa 165 then 166 echo ' _args="$_args '"$or"' $1";'; 167 echo ' shift;'; 168 else 169 echo ' _args="$_args '"$or"'";'; 170 fi 171 echo ' ;;'; 172 fi 95 173 done 96 174 97 175 for o in $ARGS_DEEQ_OPTS 98 176 do 99 echo " '$o='*)"; 100 echo ' _para=`echo "$k" | cut -d= -f2`;'; 101 echo ' _args="$_args '"$o"' $_para";'; 102 echo ' ;;'; 177 if $DOS 178 then 179 echo "REM IGNORED DEEQ: $o"; 180 echo "Warning: can not compile DEEQ as target does not support DEEQ: $o" >&2 181 else 182 echo " '$o='*)"; 183 echo ' _para=`echo "$k" | cut -d= -f2`;'; 184 echo ' _args="$_args '"$o"' $_para";'; 185 echo ' ;;'; 186 fi 103 187 done 104 188 … … 107 191 on=`echo $o | cut -d: -f1` 108 192 or=`echo $o | cut -d: -f2` 109 echo " '$on')"; 110 echo " export $or=\"\$1\""; 111 echo ' shift;'; 112 echo ' ;;'; 113 echo " '$on='*)"; 114 echo ' _para=`echo "$k" | cut -d= -f2`;'; 115 echo " export $or=\"\$_para\""; 116 echo ' ;;'; 117 done 118 119 cat <<_E_O_F_ 193 if $DOS 194 then 195 sec=sec$SECTIONC 196 SECTIONC=`expr $SECTIONC + 1` 197 cat <<_E_O_F_ 198 IF NOT "%k%" == "$on" GOTO ${sec}end 199 SET $or=%1 200 GOTO nextshift 201 :${sec}end 202 _E_O_F_ 203 else 204 echo " '$on')"; 205 echo " export $or=\"\$1\""; 206 echo ' shift;'; 207 echo ' ;;'; 208 echo " '$on='*)"; 209 echo ' _para=`echo "$k" | cut -d= -f2`;'; 210 echo " export $or=\"\$_para\""; 211 echo ' ;;'; 212 fi 213 done 214 215 if $DOS 216 then 217 : # we ignore this here and handle in the next section 218 else 219 cat <<_E_O_F_ 120 220 '-'*) 121 221 echo "Unknown option" >&2; … … 124 224 *) 125 225 _E_O_F_ 226 fi 126 227 127 228 if $ARGS_PASS_NON_OPTS 128 229 then 129 echo ' _args="$_args $k";'; 130 if $ARGS_END_OPTS_ON_NON_OPT 131 then 132 echo ' break;'; 133 fi 134 else 135 echo ' echo "Unknown option" >&2;'; 136 echo ' exit 1;'; 137 fi 138 139 cat <<_E_O_F_ 230 if $DOS 231 then 232 echo "Warning: can not compile unknown options check in as target does not support it" >&2 233 echo "REM IGNORED UNKNOWN OPTION CHECK" 234 if $ARGS_END_OPTS_ON_NON_OPT 235 then 236 cat <<_E_O_F_ 237 SET _ARGV=%_ARGV% %k% 238 GOTO mloopend 239 _E_O_F_ 240 else 241 echo 'GOTO addshift'; 242 fi 243 else 244 echo ' _args="$_args $k";'; 245 if $ARGS_END_OPTS_ON_NON_OPT 246 then 247 echo ' break;'; 248 fi 249 fi 250 else 251 if $DOS 252 then 253 echo 'GOTO erruopt' 254 else 255 echo ' echo "Unknown option" >&2;'; 256 echo ' exit 1;'; 257 fi 258 fi 259 260 if $DOS 261 then 262 cat <<_E_O_F_ 263 264 GOTO next 265 :pass 266 SET _ARGV=%_ARGV% %k% 267 GOTO next 268 :passval 269 SET _ARGV=%_ARGV% %k% 270 :addshift 271 SET _ARGV=%_ARGV% %1 272 :nextshift 273 SHIFT 274 275 :next 276 GOTO mloop 277 :mloopend 278 279 _E_O_F_ 280 else 281 cat <<_E_O_F_ 140 282 ;; 141 283 esac; … … 143 285 144 286 _E_O_F_ 287 fi 145 288 146 289 if $ARGS_PASS_NON_OPTS 147 290 then 148 echo '_args="$_args $*";'; 149 else 150 echo 'if [ "$*" != '' ]'; 151 echo 'then'; 152 echo ' echo "Unknown option" >&2;'; 153 echo ' exit 1;'; 154 echo 'fi'; 155 fi 156 157 cat <<_E_O_F_ 291 $DOS && echo "SET _ARGS=%_ARGS% %1 %2 %3 %4 %5 %6 %7 %8 %9" 292 $DOS || echo '_args="$_args $*";'; 293 else 294 if $DOS 295 then 296 echo 'IF "%1%2%3%4%5%6%7%8%9" GOTO erruopt' 297 else 298 echo 'if [ "$*" != '' ]'; 299 echo 'then'; 300 echo ' echo "Unknown option" >&2;'; 301 echo ' exit 1;'; 302 echo 'fi'; 303 fi 304 fi 305 306 if $DOS 307 then 308 cat <<_E_O_F_ 309 310 $RNAME %_ARGS% 311 312 GOTO end 313 314 :erruopt 315 ECHO Unknown option 316 EXIT 1 317 GOTO end 318 319 :help 320 _E_O_F_ 321 if [ "$HELPOPTS" != '' ] 322 then 323 sed 's/^$/./; s/^/echo /; s/</#/g; s/>/#/g;' $HELPFILE 324 fi 325 cat <<_E_O_F_ 326 GOTO end 327 328 :end 329 330 _E_O_F_ 331 else 332 cat <<_E_O_F_ 158 333 159 334 exec $RNAME \$_args 160 _E_O_F_ 335 336 _E_O_F_ 337 fi 161 338 162 339 echo 163 echo '#ll' 340 $DOS && echo 'REM ll' 341 $DOS || echo '#ll' 164 342 } > $OUT 165 343
Note: See TracChangeset
for help on using the changeset viewer.