File: gen_tableheaderfile.in

package info (click to toggle)
cdo 2.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 49,836 kB
  • sloc: cpp: 185,271; ansic: 95,766; sh: 7,192; f90: 6,147; makefile: 1,977; ruby: 1,078; csh: 1,028; python: 995; fortran: 319; pascal: 219; perl: 9
file content (107 lines) | stat: -rwxr-xr-x 2,217 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#!/bin/ksh
#
# gen_tables create the headerfile table.h
# with all default tables from default_tables
#
set -e
DEFTABLES=@abs_top_srcdir@/tables/default_tables
OFILE=@abs_top_srcdir@/src/table.h
PTFILES=""
#
#########################################
#
rm -f "$OFILE"
exec 3<"$DEFTABLES" 4>"$OFILE"
#
item=0
while read -u3 PTFILE[item] ; do
#

if [ -z ${PTFILE[item]} ] ; then break ; fi
#
PTFILE[item]="@abs_srcdir@/${PTFILE[item]}"
#
let item=item+1
#
done
unset PTFILE[item]
#
#########################################
#
#
cat >&4 <<EOF
/* Automatically generated, do not edit! */
#ifndef TABLE_H
#define TABLE_H

// clang-format off

EOF
#
for TFILE in "${PTFILE[@]}"; do
    echo "process: $TFILE"
    rm -f ptfile
    @abs_top_builddir@/app/createtable "$TFILE" - >&4
done
#
cat >&4 <<EOF

static
void tableDefault(void)
{
EOF
#
settabvar() {
  grep "$2" "$1" | cut -f 2 -d "="
}
#
item=0
for TFILE in "${PTFILE[@]}" ; do
TFBASENAME="${TFILE##*/}"
echo "process: $TFILE"
#
TABLE_ID=`settabvar ${TFILE}  "TABLE_ID"`
TABLE_NA=`settabvar ${TFILE}  "TABLE_NA"`
TABLE_MO=`settabvar ${TFILE}  "TABLE_MO"`
TABLE_IN=`settabvar ${TFILE}  "TABLE_IN"`
TABLE_CE=`settabvar ${TFILE}  "TABLE_CE"`
TABLE_SU=`settabvar ${TFILE}  "TABLE_SU"`
#
if [ -z $TABLE_ID ] ; then TABLE_ID=0; fi
if [ -z $TABLE_NA ] ; then TABLE_NA=$TFBASENAME; fi
#if [ -z $TABLE_MO ] ; then TABLE_MO=NULL; fi
if [ -z $TABLE_CE ] ; then TABLE_CE=0; fi
if [ -z $TABLE_SU ] ; then TABLE_SU=0; fi
#
echo "ID = $TABLE_ID name=$TABLE_NA model=$TABLE_MO inistitut=$TABLE_IN center=$TABLE_CE subcenter=$TABLE_SU"
TABLENAME=`echo ${TFBASENAME} | sed -e "s/\./_/g" `
#
cat >&4 <<EOF

  // define table : ${TFBASENAME}
  {
    int instID = institutInq(${TABLE_CE}, ${TABLE_SU}, "${TABLE_IN}", NULL);
    if (instID == -1) instID = institutDef(${TABLE_CE}, ${TABLE_SU}, "${TABLE_IN}", NULL);

    int modelID = modelInq(instID, 0, "${TABLE_MO}");
    if (modelID == -1) modelID = modelDef(instID, 0, "${TABLE_MO}");

    int tableID = tableDef(modelID, ${TABLE_ID}, "${TABLE_NA}");

    tableLink(tableID, ${TABLENAME}, sizeof(${TABLENAME}) / sizeof(param_type));
  }
EOF
#
done
#
cat >&4 <<EOF
}

// clang-format on

#endif  /* TABLE_H */
EOF
#
rm -f ptfile
#
exit