Corrected handling for FORTRAN data blocks 3 and 4: added endblock capability.
[h316.git] / lib / fortran / buildlib.sh
CommitLineData
e7180669 1#!/bin/bash
2
c4ba7a9a 3if [ ! "$MAKE" ]; then
4 echo "Not run from within Makefile!"
5 exit 4
6fi
e7180669 7
e7180669 8
e7180669 9# The suffix for library files (in and out)
10LIB_SUFFIX=.lib
11#######################################################################
c4ba7a9a 12IFS="
13"
e7180669 14
15# Clean everything up
16clean() {
c4ba7a9a 17 rm -rf $LIB_DIR $ORG_OBJDIR
e7180669 18}
19
20# Generate org directory containing the original library objects
21make_org() {
22 if [ ! -d "$ORG_OBJDIR" ]; then
23 mkdir $ORG_OBJDIR
24 fi
25 tdir=$PWD
26 cd $ORG_OBJDIR
38627116 27 cat $tdir/$ORG_LIBDIR/*$LIB_SUFFIX | ldc -s -l
e7180669 28 cd $tdir
29}
30
31genlib(){
32 echo "Library Builder start."
c4ba7a9a 33 if [ ! -d "$LIB_DIR" ]; then
34 echo -n "Creating $LIB_DIR:"
35 mkdir $LIB_DIR && echo "Ok." || echo "FAILED!"
e7180669 36 fi
37
c4ba7a9a 38 # RECIPE_LIST=`ls $RECIPE_DIR/*$RECIPE_SUFFIX`
39 # for recipe in $RECIPE_LIST; do
40 recipe=$1
41 lib=$LIB_DIR/`basename $recipe $RECIPE_SUFFIX`$LIB_SUFFIX
e7180669 42 echo "Building $lib:"
43 rm -f $lib
c4ba7a9a 44 for item in `cat $recipe| egrep -v '^[[:space:]]*(#.*)*$'`; do
45 echo "appending $item."
9f86bf48 46 cat `echo $item| egrep -o '[^[:space:]].*[^[:space:]]'` >> $lib || (echo "Error! could not find:$item")
e7180669 47 done
48 cat $ENDBLOCK >> $lib
c4ba7a9a 49 #done
e7180669 50}
51
52
53case $1 in
54 clean)
55 echo "Clean!"
56 clean
57 ;;
58 makeorg)
59 echo "Make org!"
60 make_org
61 ;;
c4ba7a9a 62 genlib)
e7180669 63 echo "Build Lib!"
c4ba7a9a 64 genlib $2
e7180669 65 ;;
66 *)
67 clean
68 make_org
69 genlib
70 ;;
71esac
72