1# Makefile template for Configure for the frv simulator 2# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2007 3# Free Software Foundation, Inc. 4# Contributed by Red Hat. 5# 6# This program is free software; you can redistribute it and/or modify 7# it under the terms of the GNU General Public License as published by 8# the Free Software Foundation; either version 3 of the License, or 9# (at your option) any later version. 10# 11# This program is distributed in the hope that it will be useful, 12# but WITHOUT ANY WARRANTY; without even the implied warranty of 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14# GNU General Public License for more details. 15# 16# You should have received a copy of the GNU General Public License 17# along with this program. If not, see <http://www.gnu.org/licenses/>. 18 19## COMMON_PRE_CONFIG_FRAG 20 21FRV_OBJS = frv.o cpu.o decode.o sem.o model.o mloop.o cgen-par.o 22 23CONFIG_DEVICES = dv-sockser.o 24CONFIG_DEVICES = 25 26SIM_OBJS = \ 27 $(SIM_NEW_COMMON_OBJS) \ 28 sim-cpu.o \ 29 sim-hload.o \ 30 sim-hrw.o \ 31 sim-model.o \ 32 sim-reg.o \ 33 cgen-utils.o cgen-trace.o cgen-scache.o cgen-fpu.o cgen-accfp.o \ 34 cgen-run.o sim-reason.o sim-engine.o sim-stop.o \ 35 sim-if.o arch.o \ 36 $(FRV_OBJS) \ 37 traps.o interrupts.o memory.o cache.o pipeline.o \ 38 profile.o profile-fr400.o profile-fr450.o profile-fr500.o profile-fr550.o options.o \ 39 devices.o reset.o registers.o \ 40 $(CONFIG_DEVICES) 41 42# Extra headers included by sim-main.h. 43SIM_EXTRA_DEPS = \ 44 $(CGEN_INCLUDE_DEPS) \ 45 arch.h cpuall.h frv-sim.h $(srcdir)/../../opcodes/frv-desc.h cache.h \ 46 registers.h profile.h \ 47 $(sim-options_h) 48 49SIM_EXTRA_CFLAGS = @sim_trapdump@ 50 51SIM_RUN_OBJS = nrun.o 52SIM_EXTRA_CLEAN = frv-clean 53 54# This selects the frv newlib/libgloss syscall definitions. 55NL_TARGET = -DNL_TARGET_frv 56 57## COMMON_POST_CONFIG_FRAG 58 59arch = frv 60 61arch.o: arch.c $(SIM_MAIN_DEPS) 62 63devices.o: devices.c $(SIM_MAIN_DEPS) 64 65# FRV objs 66 67FRVBF_INCLUDE_DEPS = \ 68 $(CGEN_MAIN_CPU_DEPS) \ 69 $(SIM_EXTRA_DEPS) \ 70 cpu.h decode.h eng.h 71 72frv.o: frv.c $(FRVBF_INCLUDE_DEPS) 73traps.o: traps.c $(FRVBF_INCLUDE_DEPS) 74pipeline.o: pipeline.c $(FRVBF_INCLUDE_DEPS) 75interrupts.o: interrupts.c $(FRVBF_INCLUDE_DEPS) 76memory.o: memory.c $(FRVBF_INCLUDE_DEPS) 77cache.o: cache.c $(FRVBF_INCLUDE_DEPS) 78options.o: options.c $(FRVBF_INCLUDE_DEPS) 79reset.o: reset.c $(FRVBF_INCLUDE_DEPS) 80registers.o: registers.c $(FRVBF_INCLUDE_DEPS) 81profile.o: profile.c profile-fr400.h profile-fr500.h profile-fr550.h $(FRVBF_INCLUDE_DEPS) 82profile-fr400.o: profile-fr400.c profile-fr400.h $(FRVBF_INCLUDE_DEPS) 83profile-fr450.o: profile-fr450.c $(FRVBF_INCLUDE_DEPS) 84profile-fr500.o: profile-fr500.c profile-fr500.h $(FRVBF_INCLUDE_DEPS) 85profile-fr550.o: profile-fr550.c profile-fr550.h $(FRVBF_INCLUDE_DEPS) 86sim-if.o: sim-if.c $(FRVBF_INCLUDE_DEPS) $(srcdir)/../common/sim-core.h eng.h 87 88 89# FIXME: Use of `mono' is wip. 90mloop.c eng.h: stamp-mloop 91stamp-mloop: $(srcdir)/../common/genmloop.sh mloop.in Makefile 92 $(SHELL) $(srccom)/genmloop.sh \ 93 -mono -scache -parallel-generic-write -parallel-only \ 94 -cpu frvbf -infile $(srcdir)/mloop.in 95 $(SHELL) $(srcroot)/move-if-change eng.hin eng.h 96 $(SHELL) $(srcroot)/move-if-change mloop.cin mloop.c 97 touch stamp-mloop 98mloop.o: mloop.c $(FRVBF_INCLUDE_DEPS) 99 100cpu.o: cpu.c $(FRVBF_INCLUDE_DEPS) 101decode.o: decode.c $(FRVBF_INCLUDE_DEPS) 102sem.o: sem.c $(FRVBF_INCLUDE_DEPS) 103model.o: model.c $(FRVBF_INCLUDE_DEPS) 104 105frv-clean: 106 rm -f mloop.c eng.h stamp-mloop 107 rm -f tmp-* 108 rm -f stamp-arch stamp-cpu 109 110# cgen support, enable with --enable-cgen-maint 111CGEN_MAINT = ; @true 112# The following line is commented in or out depending upon --enable-cgen-maint. 113@CGEN_MAINT@CGEN_MAINT = 114 115stamp-arch: $(CGEN_READ_SCM) $(CGEN_ARCH_SCM) $(srcdir)/../../cpu/frv.cpu 116 $(MAKE) cgen-arch $(CGEN_FLAGS_TO_PASS) mach=all \ 117 archfile=$(srcdir)/../../cpu/frv.cpu \ 118 FLAGS="with-scache" 119 touch stamp-arch 120arch.h arch.c cpuall.h: $(CGEN_MAINT) stamp-arch 121# @true 122 123stamp-cpu: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_DECODE_SCM) $(srcdir)/../../cpu/frv.cpu 124 $(MAKE) cgen-cpu-decode $(CGEN_FLAGS_TO_PASS) \ 125 cpu=frvbf mach=frv,fr550,fr500,fr450,fr400,tomcat,simple SUFFIX= \ 126 archfile=$(srcdir)/../../cpu/frv.cpu \ 127 FLAGS="with-scache with-profile=fn with-generic-write with-parallel-only" \ 128 EXTRAFILES="$(CGEN_CPU_SEM)" 129 touch stamp-cpu 130cpu.h sem.c model.c decode.c decode.h: $(CGEN_MAINT) stamp-cpu 131# @true 132