view libcruft/mkf77def.in @ 6984:827be634619e

[project @ 2007-10-09 15:55:13 by jwe]
author jwe
date Tue, 09 Oct 2007 15:55:14 +0000
parents 88df962dc296
children 4270ded9ddc6
line wrap: on
line source

#! /bin/sh

SED=${SED:-'sed'}
AWK=${AWK:-'awk'}

F77_TOLOWER=%F77_APPEND_UNDERSCORE%
F77_APPEND_UNDERSCORE=%F77_APPEND_UNDERSCORE%
F77_APPEND_EXTRA_UNDERSCORE=%F77_APPEND_EXTRA_UNDERSCORE%

if $F77_TOLOWER; then
  case_cmd="tolower";
else
  case_cmd="toupper";
fi

if $F77_APPEND_UNDERSCORE; then
  uscore="_";
else
  uscore="";
fi

if $F77_APPEND_EXTRA_UNDERSCORE; then
  awkcmd="$AWK '{ if (\$0 ~ /_/) extra = \"_\"; else extra = \"\"; printf (\"%s%s%s\n\", $case_cmd (\$0), \"$uscore\", extra); }'"
else
  awkcmd="$AWK '{ printf (\"%s%s\n\", tolower (\$0), \"$uscore\"); }'"
fi

$SED -n -e 'y/ABCDEFGHIJLKMNOPQRSTUVWXYZ/abcdefghijlkmnopqrstuvwxyz/; s/^\(      \|	\)[ 	]*\(.*function\|subroutine\|entry\)[ 	]*\([^ 	(]*\).*$/\3/p' | eval $awkcmd