Add an internal-representation no-op function.
[u/mdw/catacomb] / genmodes
CommitLineData
d03ab969 1#! /bin/sh
2
3baselist=$1
4extlist=$2
5
6for i in $baselist; do
7 I=`echo "$i" | tr -d '\n' | tr a-z A-Z | tr -c a-zA-Z0-9 _`
8 for j in $extlist; do
9 J=`echo "$j" | tr -d '\n' | tr a-z A-Z | tr -c a-zA-Z0-9 _`
79ba130c 10 guard="CATACOMB_${I}_${J}_H"
78b9cabc 11 cat >$i-$j.h.new <<EOF
d03ab969 12/* -*-c-*-
13 *
14 * $i-$j.h [generated]
15 */
16
17#ifndef $guard
18#define $guard
19
20#ifdef __cplusplus
21 extern "C" {
22#endif
23
79ba130c 24#ifndef CATACOMB_${J}_H
d03ab969 25# include "$j.h"
26#endif
27
79ba130c 28#ifndef CATACOMB_${I}_H
d03ab969 29# include "$i.h"
30#endif
31
32${J}_DECL($I, $i)
33
34#ifdef __cplusplus
35 }
36#endif
37
38#endif
39EOF
1cb20df9 40 if cmp "$i-$j.h" "$i-$j.h.new" >/dev/null 2>&1; then
78b9cabc 41 rm "$i-$j.h.new"
42 else
43 mv "$i-$j.h.new" "$i-$j.h"
44 echo >&2 "Written new $i-$j.h."
45 fi
46 cat >$i-$j.c.new <<EOF
d03ab969 47/* -*-c-*-
48 *
79ba130c 49 * $i-$j.c [generated]
d03ab969 50 */
51
52#include "$i-$j.h"
79ba130c 53#include "$j-def.h"
d03ab969 54${J}_DEF($I, $i)
55EOF
1cb20df9 56 if cmp "$i-$j.c" "$i-$j.c.new" >/dev/null 2>&1; then
78b9cabc 57 rm "$i-$j.c.new"
58 else
59 mv "$i-$j.c.new" "$i-$j.c"
60 echo >&2 "Written new $i-$j.c."
61 fi
d03ab969 62 done
63done