summaryrefslogtreecommitdiff
path: root/opcodes/cgen.sh
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>1998-01-13 01:37:20 +0000
committerDoug Evans <dje@google.com>1998-01-13 01:37:20 +0000
commitbfc10abe47d82b1c6d10070a69b5e6fc11f0d311 (patch)
tree3c00bb850781e23e6a169fe63e7be74d1fec4eec /opcodes/cgen.sh
parentc062b1036fc459e1b4fe66c61ef3c916756706c9 (diff)
downloadbinutils-gdb-bfc10abe47d82b1c6d10070a69b5e6fc11f0d311.tar.gz
* Makefile.am: Add cgen support.
* Makefile.in: Regenerate. * configure.in: Add cgen support. * configure: Regenerate. * aclocal.m4: Regenerate. * cgen.sh, cgen-asm.in, cgen-dis.in: New files.
Diffstat (limited to 'opcodes/cgen.sh')
-rw-r--r--opcodes/cgen.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/opcodes/cgen.sh b/opcodes/cgen.sh
new file mode 100644
index 00000000000..9c904ae8448
--- /dev/null
+++ b/opcodes/cgen.sh
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Generate CGEN opcode files: arch-opc.[ch], arch-asm.c, arch-asm.c.
+#
+# We store the generated files in the source directory until we decide to
+# ship a scheme with gdb/binutils. Maybe we never will.
+
+srcdir=$1
+cgendir=$2
+cgenflags=$3
+scheme=$4
+schemeflags=$5
+arch=$6
+
+rm -f tmp-opc.h tmp-opc.c tmp-asm.c tmp-dis.c
+rm -f tmp-opc.h1 tmp-opc.c1 tmp-asm.c1 tmp-dis.c1
+rm -f tmp-asm.in tmp-asm.in1 tmp-dis.in tmp-dis.in1
+
+$scheme $schemeflags $cgendir/cgen-opc.scm \
+ -s $cgendir \
+ $cgenflags \
+ -m all \
+ -a $arch \
+ -h tmp-opc.h1 \
+ -t tmp-opc.c1 \
+ -A tmp-asm.in1 \
+ -D tmp-dis.in1
+
+sed -e "s/@arch@/${arch}/g" < tmp-opc.h1 > tmp-opc.h
+${srcdir}/../move-if-change tmp-opc.h ${srcdir}/${arch}-opc.h
+sed -e "s/@arch@/${arch}/g" < tmp-opc.c1 > tmp-opc.c
+${srcdir}/../move-if-change tmp-opc.c ${srcdir}/${arch}-opc.c
+sed -e "/ -- assembler routines/ r tmp-asm.in1" ${srcdir}/cgen-asm.in \
+ | sed -e "s/@arch@/${arch}/g" > tmp-asm.c
+${srcdir}/../move-if-change tmp-asm.c ${srcdir}/${arch}-asm.c
+sed -e "/ -- disassembler routines/ r tmp-dis.in1" ${srcdir}/cgen-dis.in \
+ | sed -e "s/@arch@/${arch}/g" > tmp-dis.c
+${srcdir}/../move-if-change tmp-dis.c ${srcdir}/${arch}-dis.c
+
+rm -f tmp-opc.h1 tmp-opc.c1 tmp-asm.c1 tmp-dis.c1
+rm -f tmp-asm.in tmp-asm.in1 tmp-dis.in tmp-dis.in1