source: roaraudio/compbins/ast2roar @ 3122:57920f5ee786

Last change on this file since 3122:57920f5ee786 was 3122:57920f5ee786, checked in by phi, 14 years ago

added support for ARGS_DEEQ_OPTS

  • Property exe set to *
File size: 1.4 KB
Line 
1#!/bin/sh
2
3OUT="$1"
4IN="$2"
5
6[ -r $IN ] || exit 1;
7
8. ./$IN
9
10{
11 echo '#!/bin/sh'
12 echo
13
14 echo "_args='$ARGS_ADD_OPTS';"
15 cat <<_E_O_F_
16
17while [ -n "\$1" ]
18do
19 k="\$1"
20 shift;
21
22 case "\$k" in
23_E_O_F_
24
25 for o in $ARGS_IGNORE_OPTS
26 do
27  on=`echo $o | cut -d: -f1`
28  oa=`echo $o | cut -d: -f2`
29  echo "  '$on')";
30  if $oa
31  then
32   echo '   shift;';
33  fi
34  echo '  ;;';
35 done
36
37 for o in $ARGS_PASS_OPTS
38 do
39  on=`echo $o | cut -d: -f1`
40  oa=`echo $o | cut -d: -f2`
41  echo "  '$on')";
42  if $oa
43  then
44   echo '   _args="$_args '"$on"' $1";';
45   echo '   shift;';
46  else
47   echo '   _args="$_args '"$on"'";';
48  fi
49  echo '  ;;';
50 done
51
52 for o in $ARGS_MAP_OPTS
53 do
54  on=`echo $o | cut -d: -f1`
55  oa=`echo $o | cut -d: -f2`
56  or=`echo $o | cut -d: -f3`
57  echo "  '$on')";
58  if $oa
59  then
60   echo '   _args="$_args '"$or"' $1";';
61   echo '   shift;';
62  else
63   echo '   _args="$_args '"$or"'";';
64  fi
65  echo '  ;;';
66 done
67
68 for o in $ARGS_DEEQ_OPTS
69 do
70  echo "  '$o='*)";
71  echo '   _para=`echo "$k" | cut -d= -f2`;';
72  echo '   _args="$_args '"$o"' $_para";';
73  echo '  ;;';
74 done
75
76 cat <<_E_O_F_
77  '-'*)
78   echo "Unknown option" >&2;
79   exit 1;
80  ;;
81  *)
82_E_O_F_
83
84 if $ARGS_PASS_NON_OPTS
85 then
86  echo '   _args="$_args $k";';
87  echo '   shift;';
88 else
89  echo '   echo "Unknown option" >&2;';
90  echo '   exit 1;';
91 fi
92
93 cat <<_E_O_F_
94  ;;
95 esac;
96done
97
98exec $RNAME \$_args
99_E_O_F_
100
101 echo
102 echo '#ll'
103} > $OUT
104
105chmod a+rx $OUT
106
107exit 0;
108
109#ll
Note: See TracBrowser for help on using the repository browser.