# Makefile template for Configure for the V850 sim library.
-# Copyright (C) 1990, 1991, 1992, 1995 Free Software Foundation, Inc.
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
# Written by Cygnus Support.
#
# This program 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 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
-#
+#
# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-VPATH = @srcdir@:@srcdir@/../common:@srcdir@/../../gdb/
-srcdir = @srcdir@
-srcroot = $(srcdir)/../..
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-host_alias = @host_alias@
-target_alias = @target_alias@
-program_transform_name = @program_transform_name@
-bindir = @bindir@
-
-libdir = @libdir@
-tooldir = $(libdir)/$(target_alias)
-
-datadir = @datadir@
-mandir = @mandir@
-man1dir = $(mandir)/man1
-man2dir = $(mandir)/man2
-man3dir = $(mandir)/man3
-man4dir = $(mandir)/man4
-man5dir = $(mandir)/man5
-man6dir = $(mandir)/man6
-man7dir = $(mandir)/man7
-man8dir = $(mandir)/man8
-man9dir = $(mandir)/man9
-infodir = @infodir@
-includedir = @includedir@
-
-SHELL = /bin/sh
-
-INSTALL = $(srcroot)/install.sh -c
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_XFORM = $(INSTALL) -t='$(program_transform_name)'
-INSTALL_XFORM1= $(INSTALL_XFORM) -b=.1
-
-AR = @AR@
-AR_FLAGS = rc
-CC = @CC@
-CFLAGS = @CFLAGS@ @DEFS@
-MAKEINFO = makeinfo
-RANLIB = @RANLIB@
-CC_FOR_BUILD = @CC_FOR_BUILD@
-
-HDEFINES = @HDEFINES@
-TDEFINES =
-
-.NOEXPORT:
-MAKEOVERRIDES=
-
-X=xstuff.o
-XL=-lX11
-X=
-XL=
-
-INCDIR = $(srcdir)/../../include
-CSEARCH = -I. -I$(srcdir) -I../../include \
- -I../../bfd -I$(INCDIR) -I$(srcdir)/../../bfd -I$(srcdir)/../../gdb -I$(srcdir)/../../newlib/libc/sys/sh
-DEP = mkdep
-
-all: run libsim.a
-
-run: interp.o $(X) run.o table.o callback.o simops.o
- $(CC) $(CFLAGS) -o run $(X) interp.o table.o callback.o simops.o run.o ../../bfd/libbfd.a ../../libiberty/libiberty.a $(XL) -lm
-
-interp.o:interp.c table.c
-run.o:run.c
-
-libsim.a:interp.o table.o simops.o
- $(AR) $(ARFLAGS) libsim.a interp.o table.o simops.o
- $(RANLIB) libsim.a
-
-simops.h: gencode
- ./gencode -h >$@
-
-table.c: gencode simops.h
- ./gencode >$@
-
-gencode: gencode.c ../../opcodes/libopcodes.a
- $(CC) $(CFLAGS) $(HDEFINES) $(TDEFINES) $(CSEARCH) $(CSWITCHE) -o gencode $(srcdir)/gencode.c ../../opcodes/libopcodes.a -lc
-
-.c.o:
- $(CC) -c -DINSIDE_SIMULATOR $(CFLAGS) $(HDEFINES) $(TDEFINES) $(CSEARCH) $(CSWITCHES) $<
-
-check:
-
-info:
-clean-info:
-install-info:
-
-tags etags: TAGS
-
-TAGS: force
- etags $(INCDIR)/*.h $(srcdir)/*.h $(srcdir)/*.c
-
-clean:
- rm -f *.[oa] *~ core *.E *.p *.ip aout-params.h gen-aout
- rm -f run table.c simops.h gencode libsim.a
-
-distclean mostlyclean maintainer-clean realclean: clean
- rm -f TAGS
- rm -f Makefile config.cache config.log config.status
-
-# Dummy target to force execution of dependent targets.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+SHELL = @SHELL@
+
+## COMMON_PRE_CONFIG_FRAG
+
+SIM_OBJS = \
+ $(SIM_NEW_COMMON_OBJS) \
+ simops.o interp.o \
+ itable.o semantics.o idecode.o icache.o engine.o irun.o support.o \
+ sim-resume.o
+
+# List of extra dependencies.
+# Generally this consists of simulator specific files included by sim-main.h.
+SIM_EXTRA_DEPS = v850_sim.h sim-main.h simops.h itable.h
+
+# List of flags to always pass to $(CC)
+SIM_EXTRA_CFLAGS = \
+ -DDEBUG \
+ -I$(srcdir)/../../newlib/libc/sys/sysnecv850
+SIM_EXTRA_CLEAN = clean-extra
+
+INCLUDE = $(sim_main_headers) $(SIM_EXTRA_DEPS)
+
+NL_TARGET = -DNL_TARGET_v850
+
+## COMMON_POST_CONFIG_FRAG
+
+BUILT_SRC_FROM_IGEN = \
+ icache.h \
+ icache.c \
+ idecode.h \
+ idecode.c \
+ semantics.h \
+ semantics.c \
+ model.h \
+ model.c \
+ support.h \
+ support.c \
+ itable.h \
+ itable.c \
+ engine.h \
+ engine.c \
+ irun.c
+$(BUILT_SRC_FROM_IGEN): tmp-igen
#
-force:
-
-# Copy the files into directories where they will be run.
-install:
- $(INSTALL_XFORM) run $(bindir)/run
-
-install-man: run.1
- $(INSTALL_XFORM1) $(srcdir)/run.1 $(man1dir)/run.1
-
-Makefile: Makefile.in config.status
- $(SHELL) ./config.status
-
-config.status: configure
- $(SHELL) ./config.status --recheck
-
-dep: $(CFILES)
- mkdep $(CFLAGS) $?
-
-# What appears below is generated by a hacked mkdep using gcc -MM.
-
-# DO NOT DELETE THIS LINE -- mkdep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
+.PHONY: clean-igen
+clean-igen:
+ rm -f $(BUILT_SRC_FROM_IGEN)
+ rm -f tmp-igen tmp-insns
+
+../igen/igen:
+ cd ../igen && $(MAKE)
+
+IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries
+IGEN_INSN=$(srcdir)/v850.igen
+IGEN_DC=$(srcdir)/v850-dc
+tmp-igen: $(IGEN_INSN) $(IGEN_DC) ../igen/igen
+ cd ../igen && $(MAKE)
+ ../igen/igen \
+ $(IGEN_TRACE) \
+ -G gen-direct-access \
+ -G gen-zero-r0 \
+ -i $(IGEN_INSN) \
+ -o $(IGEN_DC) \
+ -x \
+ -n icache.h -hc tmp-icache.h \
+ -n icache.c -c tmp-icache.c \
+ -n semantics.h -hs tmp-semantics.h \
+ -n semantics.c -s tmp-semantics.c \
+ -n idecode.h -hd tmp-idecode.h \
+ -n idecode.c -d tmp-idecode.c \
+ -n model.h -hm tmp-model.h \
+ -n model.c -m tmp-model.c \
+ -n support.h -hf tmp-support.h \
+ -n support.c -f tmp-support.c \
+ -n itable.h -ht tmp-itable.h \
+ -n itable.c -t tmp-itable.c \
+ -n engine.h -he tmp-engine.h \
+ -n engine.c -e tmp-engine.c \
+ -n irun.c -r tmp-irun.c
+ $(SHELL) $(srcdir)/../../move-if-change tmp-icache.h icache.h
+ $(SHELL) $(srcdir)/../../move-if-change tmp-icache.c icache.c
+ $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.h idecode.h
+ $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.c idecode.c
+ $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.h semantics.h
+ $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.c semantics.c
+ $(SHELL) $(srcdir)/../../move-if-change tmp-model.h model.h
+ $(SHELL) $(srcdir)/../../move-if-change tmp-model.c model.c
+ $(SHELL) $(srcdir)/../../move-if-change tmp-support.h support.h
+ $(SHELL) $(srcdir)/../../move-if-change tmp-support.c support.c
+ $(SHELL) $(srcdir)/../../move-if-change tmp-itable.h itable.h
+ $(SHELL) $(srcdir)/../../move-if-change tmp-itable.c itable.c
+ $(SHELL) $(srcdir)/../../move-if-change tmp-engine.h engine.h
+ $(SHELL) $(srcdir)/../../move-if-change tmp-engine.c engine.c
+ $(SHELL) $(srcdir)/../../move-if-change tmp-irun.c irun.c
+ touch tmp-igen
+
+clean-extra: clean-igen
+ rm -f table.c simops.h gencode
+
+interp.o: interp.c $(INCLUDE)
+simops.o: simops.c simops.h $(INCLUDE) targ-vals.h
+semantics.o: $(INCLUDE)