annotate libcruft/mkf77def.in @ 7259:9f02c32eb70d ss-2-9-18

[project @ 2007-12-05 18:02:33 by jwe]
author jwe
date Wed, 05 Dec 2007 18:02:34 +0000
parents 4270ded9ddc6
children 932b0efeb81b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6102
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
1 #! /bin/sh
7019
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
2 #
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
3 # Copyright (C) 2006, 2007 John W. Eaton
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
4 #
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
5 # This file is part of Octave.
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
6 #
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
7 # Octave is free software; you can redistribute it and/or modify it
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
8 # under the terms of the GNU General Public License as published by the
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
9 # Free Software Foundation; either version 3 of the License, or (at
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
10 # your option) any later version.
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
11 #
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
12 # Octave is distributed in the hope that it will be useful, but WITHOUT
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
14 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
15 # for more details.
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
16 #
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
17 # You should have received a copy of the GNU General Public License
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
18 # along with Octave; see the file COPYING. If not, see
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6949
diff changeset
19 # <http://www.gnu.org/licenses/>.
6102
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
20
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
21 SED=${SED:-'sed'}
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
22 AWK=${AWK:-'awk'}
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
23
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
24 F77_TOLOWER=%F77_APPEND_UNDERSCORE%
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
25 F77_APPEND_UNDERSCORE=%F77_APPEND_UNDERSCORE%
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
26 F77_APPEND_EXTRA_UNDERSCORE=%F77_APPEND_EXTRA_UNDERSCORE%
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
27
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
28 if $F77_TOLOWER; then
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
29 case_cmd="tolower";
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
30 else
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
31 case_cmd="toupper";
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
32 fi
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
33
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
34 if $F77_APPEND_UNDERSCORE; then
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
35 uscore="_";
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
36 else
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
37 uscore="";
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
38 fi
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
39
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
40 if $F77_APPEND_EXTRA_UNDERSCORE; then
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
41 awkcmd="$AWK '{ if (\$0 ~ /_/) extra = \"_\"; else extra = \"\"; printf (\"%s%s%s\n\", $case_cmd (\$0), \"$uscore\", extra); }'"
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
42 else
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
43 awkcmd="$AWK '{ printf (\"%s%s\n\", tolower (\$0), \"$uscore\"); }'"
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
44 fi
ef9569e10d8b [project @ 2006-10-26 20:50:04 by jwe]
jwe
parents:
diff changeset
45
6949
88df962dc296 [project @ 2007-10-03 17:59:03 by jwe]
jwe
parents: 6118
diff changeset
46 $SED -n -e 'y/ABCDEFGHIJLKMNOPQRSTUVWXYZ/abcdefghijlkmnopqrstuvwxyz/; s/^\( \| \)[ ]*\(.*function\|subroutine\|entry\)[ ]*\([^ (]*\).*$/\3/p' | eval $awkcmd