1#!/bin/ksh
2#
3# gen_tables create the headerfile table.h
4# with all default tables from default_tables
5#
6set -e
7DEFTABLES=@abs_top_srcdir@/tables/default_tables
8OFILE=@abs_top_srcdir@/src/table.h
9PTFILES=""
10#
11#########################################
12#
13rm -f "$OFILE"
14exec 3<"$DEFTABLES" 4>"$OFILE"
15#
16item=0
17while read -u3 PTFILE[item] ; do
18#
19
20if [ -z ${PTFILE[item]} ] ; then break ; fi
21#
22PTFILE[item]="@abs_srcdir@/${PTFILE[item]}"
23#
24let item=item+1
25#
26done
27unset PTFILE[item]
28#
29#########################################
30#
31#
32cat >&4 <<EOF
33/* Automatically generated, do not edit! */
34#ifndef TABLE_H
35#define TABLE_H
36
37EOF
38#
39for TFILE in "${PTFILE[@]}"; do
40    echo "process: $TFILE"
41    rm -f ptfile
42    @abs_top_builddir@/app/createtable "$TFILE" - >&4
43done
44#
45cat >&4 <<EOF
46
47static
48void tableDefault(void)
49{
50EOF
51#
52settabvar() {
53  grep "$2" "$1" | cut -f 2 -d "="
54}
55#
56item=0
57for TFILE in "${PTFILE[@]}" ; do
58TFBASENAME="${TFILE##*/}"
59echo "process: $TFILE"
60#
61TABLE_ID=`settabvar ${TFILE}  "TABLE_ID"`
62TABLE_NA=`settabvar ${TFILE}  "TABLE_NA"`
63TABLE_MO=`settabvar ${TFILE}  "TABLE_MO"`
64TABLE_IN=`settabvar ${TFILE}  "TABLE_IN"`
65TABLE_CE=`settabvar ${TFILE}  "TABLE_CE"`
66TABLE_SU=`settabvar ${TFILE}  "TABLE_SU"`
67#
68if [ -z $TABLE_ID ] ; then TABLE_ID=0; fi
69if [ -z $TABLE_NA ] ; then TABLE_NA=$TFBASENAME; fi
70#if [ -z $TABLE_MO ] ; then TABLE_MO=NULL; fi
71if [ -z $TABLE_CE ] ; then TABLE_CE=0; fi
72if [ -z $TABLE_SU ] ; then TABLE_SU=0; fi
73#
74echo "ID = $TABLE_ID name=$TABLE_NA model=$TABLE_MO inistitut=$TABLE_IN center=$TABLE_CE subcenter=$TABLE_SU"
75TABLENAME=`echo ${TFBASENAME} | sed -e "s/\./_/g" `
76#
77cat >&4 <<EOF
78
79  // define table : ${TFBASENAME}
80  {
81    int instID  = institutInq(${TABLE_CE}, ${TABLE_SU}, "${TABLE_IN}", NULL);
82    if ( instID == -1 )
83      instID  = institutDef(${TABLE_CE}, ${TABLE_SU}, "${TABLE_IN}", NULL);
84
85    int modelID = modelInq(instID, 0, "${TABLE_MO}");
86    if ( modelID == -1 )
87      modelID = modelDef(instID, 0, "${TABLE_MO}");
88
89    int tableID = tableDef(modelID, ${TABLE_ID}, "${TABLE_NA}");
90
91    tableLink(tableID, ${TABLENAME}, sizeof(${TABLENAME}) / sizeof(param_type));
92  }
93EOF
94#
95done
96#
97cat >&4 <<EOF
98}
99
100#endif  /* TABLE_H */
101EOF
102#
103rm -f ptfile
104#
105exit
106