#! /bin/sh
# This file is part of GNU epsilon, a functional language implementation

# Copyright (C) 2002, 2003 Luca Saiu

# GNU epsilon is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published
# by the Free Software Foundation; either version 2, or (at your
# option) any later version.

# GNU epsilon is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with epsilon; see the file COPYING.  If not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.


# Remove emacs backup files; they mess up my script:
rm -f c_instructions/[a-z]*/*\~

# Copy the code for all instructions in a single directory:
./make_all_c_instructions

# Make the instructions.h header:
echo "/* This -*- C -*- file is automatically generated. Don't edit */" > instructions.c
echo "const char* instructions_names[] = {" >> instructions.c

cd all_c_instructions
COUNTER=0
for I in *; do
    if test $I != "CVS"; then
        echo "  \"$I\", /* $COUNTER */" >> ../instructions.c
        COUNTER=`expr $COUNTER + 1`
    fi
done
cd ..

echo "};" >> instructions.c
