| 1 | # Makefile template for Configure for the V850 sim library. |
| 2 | # Copyright (C) 1996-2013 Free Software Foundation, Inc. |
| 3 | # Written by Cygnus Support. |
| 4 | # |
| 5 | # This program is free software; you can redistribute it and/or modify |
| 6 | # it under the terms of the GNU General Public License as published by |
| 7 | # the Free Software Foundation; either version 3 of the License, or |
| 8 | # (at your option) any later version. |
| 9 | # |
| 10 | # This program is distributed in the hope that it will be useful, |
| 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 13 | # GNU General Public License for more details. |
| 14 | # |
| 15 | # You should have received a copy of the GNU General Public License |
| 16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 17 | |
| 18 | SHELL = @SHELL@ |
| 19 | |
| 20 | ## COMMON_PRE_CONFIG_FRAG |
| 21 | |
| 22 | SIM_OBJS = \ |
| 23 | $(SIM_NEW_COMMON_OBJS) \ |
| 24 | simops.o interp.o \ |
| 25 | itable.o semantics.o idecode.o icache.o engine.o irun.o support.o \ |
| 26 | sim-engine.o \ |
| 27 | sim-hload.o \ |
| 28 | sim-hrw.o \ |
| 29 | sim-resume.o \ |
| 30 | sim-reason.o \ |
| 31 | sim-stop.o |
| 32 | |
| 33 | SIM_RUN_OBJS = nrun.o |
| 34 | |
| 35 | # List of extra dependencies. |
| 36 | # Generally this consists of simulator specific files included by sim-main.h. |
| 37 | SIM_EXTRA_DEPS = v850_sim.h sim-main.h simops.h itable.h |
| 38 | |
| 39 | # List of flags to always pass to $(CC) |
| 40 | SIM_EXTRA_CFLAGS = \ |
| 41 | -DDEBUG \ |
| 42 | -I$(srcdir)/../../newlib/libc/sys/sysnecv850 |
| 43 | SIM_EXTRA_CLEAN = clean-extra |
| 44 | |
| 45 | INCLUDE = $(sim_main_headers) $(SIM_EXTRA_DEPS) |
| 46 | |
| 47 | NL_TARGET = -DNL_TARGET_v850 |
| 48 | |
| 49 | ## COMMON_POST_CONFIG_FRAG |
| 50 | |
| 51 | BUILT_SRC_FROM_IGEN = \ |
| 52 | icache.h \ |
| 53 | icache.c \ |
| 54 | idecode.h \ |
| 55 | idecode.c \ |
| 56 | semantics.h \ |
| 57 | semantics.c \ |
| 58 | model.h \ |
| 59 | model.c \ |
| 60 | support.h \ |
| 61 | support.c \ |
| 62 | itable.h \ |
| 63 | itable.c \ |
| 64 | engine.h \ |
| 65 | engine.c \ |
| 66 | irun.c |
| 67 | $(BUILT_SRC_FROM_IGEN): tmp-igen |
| 68 | # |
| 69 | |
| 70 | .PHONY: clean-igen |
| 71 | clean-igen: |
| 72 | rm -f $(BUILT_SRC_FROM_IGEN) |
| 73 | rm -f tmp-igen tmp-insns |
| 74 | |
| 75 | ../igen/igen: |
| 76 | cd ../igen && $(MAKE) |
| 77 | |
| 78 | IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries |
| 79 | IGEN_INSN=$(srcdir)/v850.igen |
| 80 | IGEN_DC=$(srcdir)/v850-dc |
| 81 | tmp-igen: $(IGEN_INSN) $(IGEN_DC) ../igen/igen |
| 82 | cd ../igen && $(MAKE) |
| 83 | ../igen/igen \ |
| 84 | $(IGEN_TRACE) \ |
| 85 | -G gen-direct-access \ |
| 86 | -G gen-zero-r0 \ |
| 87 | -i $(IGEN_INSN) \ |
| 88 | -o $(IGEN_DC) \ |
| 89 | -x \ |
| 90 | -n icache.h -hc tmp-icache.h \ |
| 91 | -n icache.c -c tmp-icache.c \ |
| 92 | -n semantics.h -hs tmp-semantics.h \ |
| 93 | -n semantics.c -s tmp-semantics.c \ |
| 94 | -n idecode.h -hd tmp-idecode.h \ |
| 95 | -n idecode.c -d tmp-idecode.c \ |
| 96 | -n model.h -hm tmp-model.h \ |
| 97 | -n model.c -m tmp-model.c \ |
| 98 | -n support.h -hf tmp-support.h \ |
| 99 | -n support.c -f tmp-support.c \ |
| 100 | -n itable.h -ht tmp-itable.h \ |
| 101 | -n itable.c -t tmp-itable.c \ |
| 102 | -n engine.h -he tmp-engine.h \ |
| 103 | -n engine.c -e tmp-engine.c \ |
| 104 | -n irun.c -r tmp-irun.c |
| 105 | $(SHELL) $(srcdir)/../../move-if-change tmp-icache.h icache.h |
| 106 | $(SHELL) $(srcdir)/../../move-if-change tmp-icache.c icache.c |
| 107 | $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.h idecode.h |
| 108 | $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.c idecode.c |
| 109 | $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.h semantics.h |
| 110 | $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.c semantics.c |
| 111 | $(SHELL) $(srcdir)/../../move-if-change tmp-model.h model.h |
| 112 | $(SHELL) $(srcdir)/../../move-if-change tmp-model.c model.c |
| 113 | $(SHELL) $(srcdir)/../../move-if-change tmp-support.h support.h |
| 114 | $(SHELL) $(srcdir)/../../move-if-change tmp-support.c support.c |
| 115 | $(SHELL) $(srcdir)/../../move-if-change tmp-itable.h itable.h |
| 116 | $(SHELL) $(srcdir)/../../move-if-change tmp-itable.c itable.c |
| 117 | $(SHELL) $(srcdir)/../../move-if-change tmp-engine.h engine.h |
| 118 | $(SHELL) $(srcdir)/../../move-if-change tmp-engine.c engine.c |
| 119 | $(SHELL) $(srcdir)/../../move-if-change tmp-irun.c irun.c |
| 120 | touch tmp-igen |
| 121 | |
| 122 | clean-extra: clean-igen |
| 123 | rm -f table.c simops.h gencode |
| 124 | |
| 125 | interp.o: interp.c $(INCLUDE) |
| 126 | simops.o: simops.c simops.h $(INCLUDE) targ-vals.h |
| 127 | semantics.o: $(INCLUDE) |