#! /bin/sh
# CGEN generic assembler support code.
#
-# Copyright 2000, 2003, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2000-2019 Free Software Foundation, Inc.
#
# This file is part of the GNU opcodes library.
#
# cgen.sh action srcdir cgen cgendir cgenflags arch prefix \
# arch-file opc-file options [extrafiles]
#
-# ACTION is currently always "opcodes". It exists to be consistent with the
+# ACTION is currently always "opcodes". It exists to be consistent with the
# simulator.
# ARCH is the name of the architecture.
# It is substituted into @arch@ and @ARCH@ in the generated files.
esac
done
+header="/* DO NOT EDIT! -*- buffer-read-only: t -*- vi:set ro: */"
+
case $action in
opcodes)
# Remove residual working files.
${extrafile_args}
# Customise generated files for the particular architecture.
- sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" < ${tmp}-desc.h1 > ${tmp}-desc.h
+ sed -e "1i$header" \
+ -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+ -e 's/[ ][ ]*$//' < ${tmp}-desc.h1 > ${tmp}-desc.h
${rootdir}/move-if-change ${tmp}-desc.h ${srcdir}/${prefix}-desc.h
- sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
- -e "s/@prefix@/${prefix}/" < ${tmp}-desc.c1 > ${tmp}-desc.c
+ sed -e "1i$header" \
+ -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+ -e "s/@prefix@/${prefix}/" -e 's/[ ][ ]*$//' \
+ < ${tmp}-desc.c1 > ${tmp}-desc.c
${rootdir}/move-if-change ${tmp}-desc.c ${srcdir}/${prefix}-desc.c
- sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" < ${tmp}-opc.h1 > ${tmp}-opc.h
+ sed -e "1i$header" \
+ -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+ -e 's/[ ][ ]*$//' < ${tmp}-opc.h1 > ${tmp}-opc.h
${rootdir}/move-if-change ${tmp}-opc.h ${srcdir}/${prefix}-opc.h
- sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
- -e "s/@prefix@/${prefix}/" < ${tmp}-opc.c1 > ${tmp}-opc.c
+ sed -e "1i$header" \
+ -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+ -e "s/@prefix@/${prefix}/" -e 's/[ ][ ]*$//' \
+ < ${tmp}-opc.c1 > ${tmp}-opc.c
${rootdir}/move-if-change ${tmp}-opc.c ${srcdir}/${prefix}-opc.c
case $extrafiles in
*opinst*)
- sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
- -e "s/@prefix@/${prefix}/" < ${tmp}-opinst.c1 >${tmp}-opinst.c
+ sed -e "1i$header" \
+ -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+ -e "s/@prefix@/${prefix}/" -e 's/[ ][ ]*$//' \
+ < ${tmp}-opinst.c1 >${tmp}-opinst.c
${rootdir}/move-if-change ${tmp}-opinst.c ${srcdir}/${prefix}-opinst.c
;;
esac
cat ${srcdir}/cgen-ibld.in ${tmp}-ibld.in1 | \
- sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
- -e "s/@prefix@/${prefix}/" > ${tmp}-ibld.c
+ sed -e "1i$header" \
+ -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+ -e "s/@prefix@/${prefix}/" -e 's/[ ][ ]*$//' > ${tmp}-ibld.c
${rootdir}/move-if-change ${tmp}-ibld.c ${srcdir}/${prefix}-ibld.c
sed -e "/ -- assembler routines/ r ${tmp}-asm.in1" ${srcdir}/cgen-asm.in \
- | sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
- -e "s/@prefix@/${prefix}/" > ${tmp}-asm.c
+ | sed -e "1i$header" \
+ -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+ -e "s/@prefix@/${prefix}/" -e 's/[ ][ ]*$//' \
+ > ${tmp}-asm.c
${rootdir}/move-if-change ${tmp}-asm.c ${srcdir}/${prefix}-asm.c
sed -e "/ -- disassembler routines/ r ${tmp}-dis.in1" ${srcdir}/cgen-dis.in \
- | sed -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
- -e "s/@prefix@/${prefix}/" > ${tmp}-dis.c
+ | sed -e "1i$header" \
+ -e "s/@ARCH@/${ARCH}/g" -e "s/@arch@/${arch}/g" \
+ -e "s/@prefix@/${prefix}/" -e 's/[ ][ ]*$//' \
+ > ${tmp}-dis.c
${rootdir}/move-if-change ${tmp}-dis.c ${srcdir}/${prefix}-dis.c
# Remove temporary files.