source: roaraudio/compbins/ast2roar @ 3497:19449f8242ff

Last change on this file since 3497:19449f8242ff was 3497:19449f8242ff, checked in by phi, 14 years ago

support specal option --

  • Property exe set to *
File size: 1.6 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  '--')
24   break;
25  ;;
26_E_O_F_
27
28 for o in $ARGS_IGNORE_OPTS
29 do
30  on=`echo $o | cut -d: -f1`
31  oa=`echo $o | cut -d: -f2`
32  echo "  '$on')";
33  if $oa
34  then
35   echo '   shift;';
36  fi
37  echo '  ;;';
38 done
39
40 for o in $ARGS_PASS_OPTS
41 do
42  on=`echo $o | cut -d: -f1`
43  oa=`echo $o | cut -d: -f2`
44  echo "  '$on')";
45  if $oa
46  then
47   echo '   _args="$_args '"$on"' $1";';
48   echo '   shift;';
49  else
50   echo '   _args="$_args '"$on"'";';
51  fi
52  echo '  ;;';
53 done
54
55 for o in $ARGS_MAP_OPTS
56 do
57  on=`echo $o | cut -d: -f1`
58  oa=`echo $o | cut -d: -f2`
59  or=`echo $o | cut -d: -f3`
60  echo "  '$on')";
61  if $oa
62  then
63   echo '   _args="$_args '"$or"' $1";';
64   echo '   shift;';
65  else
66   echo '   _args="$_args '"$or"'";';
67  fi
68  echo '  ;;';
69 done
70
71 for o in $ARGS_DEEQ_OPTS
72 do
73  echo "  '$o='*)";
74  echo '   _para=`echo "$k" | cut -d= -f2`;';
75  echo '   _args="$_args '"$o"' $_para";';
76  echo '  ;;';
77 done
78
79 cat <<_E_O_F_
80  '-'*)
81   echo "Unknown option" >&2;
82   exit 1;
83  ;;
84  *)
85_E_O_F_
86
87 if $ARGS_PASS_NON_OPTS
88 then
89  echo '   _args="$_args $k";';
90  echo '   shift;';
91 else
92  echo '   echo "Unknown option" >&2;';
93  echo '   exit 1;';
94 fi
95
96 cat <<_E_O_F_
97  ;;
98 esac;
99done
100
101_E_O_F_
102
103 if $ARGS_PASS_NON_OPTS
104 then
105  echo '_args="$_args $*";';
106 else
107  echo 'if [ "$*" != '' ]';
108  echo 'then';
109  echo ' echo "Unknown option" >&2;';
110  echo ' exit 1;';
111  echo 'fi';
112 fi
113
114 cat <<_E_O_F_
115
116exec $RNAME \$_args
117_E_O_F_
118
119 echo
120 echo '#ll'
121} > $OUT
122
123chmod a+rx $OUT
124
125exit 0;
126
127#ll
Note: See TracBrowser for help on using the repository browser.