1#!/bin/sh 2# Generate m68k-tables.opt from the lists in *.def. 3# Copyright (C) 2011-2021 Free Software Foundation, Inc. 4# 5# This file is part of GCC. 6# 7# GCC is free software; you can redistribute it and/or modify 8# it under the terms of the GNU General Public License as published by 9# the Free Software Foundation; either version 3, or (at your option) 10# any later version. 11# 12# GCC is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# GNU General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License 18# along with GCC; see the file COPYING3. If not see 19# <http://www.gnu.org/licenses/>. 20 21cat <<EOF 22; -*- buffer-read-only: t -*- 23; Generated automatically by genopt.sh from m68k-devices.def, 24; m68k-isas.def and m68k-microarchs.def. 25 26; Copyright (C) 2011-2021 Free Software Foundation, Inc. 27; 28; This file is part of GCC. 29; 30; GCC is free software; you can redistribute it and/or modify it under 31; the terms of the GNU General Public License as published by the Free 32; Software Foundation; either version 3, or (at your option) any later 33; version. 34; 35; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 36; WARRANTY; without even the implied warranty of MERCHANTABILITY or 37; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 38; for more details. 39; 40; You should have received a copy of the GNU General Public License 41; along with GCC; see the file COPYING3. If not see 42; <http://www.gnu.org/licenses/>. 43 44Enum 45Name(target_device) Type(enum target_device) 46Known M68K CPUs (for use with the -mcpu= option): 47 48EOF 49 50awk -F'[(, ]+' '/^M68K_DEVICE/ { 51 name = $2 52 enum = $3 53 gsub("\"", "", name) 54 print "EnumValue" 55 print "Enum(target_device) String(" name ") Value(" enum ")" 56 print "" 57}' $1/m68k-devices.def 58 59cat <<EOF 60Enum 61Name(uarch_type) Type(enum uarch_type) 62Known M68K microarchitectures (for use with the -mtune= option): 63 64EOF 65 66awk -F'[(, ]+' '/^M68K_MICROARCH/ { 67 name = $2 68 enum = $4 69 gsub("\"", "", name) 70 print "EnumValue" 71 print "Enum(uarch_type) String(" name ") Value(u" enum ")" 72 print "" 73}' $1/m68k-microarchs.def 74 75cat <<EOF 76Enum 77Name(m68k_isa) Type(int) 78Known M68K ISAs (for use with the -march= option): 79 80EOF 81 82awk -F'[(, ]+' 'BEGIN { 83 value = 0 84} 85/^M68K_ISA/ { 86 name = $2 87 gsub("\"", "", name) 88 print "EnumValue" 89 print "Enum(m68k_isa) String(" name ") Value(" value ")" 90 print "" 91 value++ 92}' $1/m68k-isas.def 93