* Makefile.in: Add m32rx objs, and rules to build them.
[binutils-gdb.git] / sim / m32r / Makefile.in
1 # Makefile template for Configure for the m32r simulator
2 # Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
3 # Contributed by Cygnus Support.
4 #
5 # This file is part of GDB, the GNU debugger.
6 #
7 # This program 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 2 of the License, or
10 # (at your option) any later version.
11 #
12 # This program 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 along
18 # with this program; if not, write to the Free Software Foundation, Inc.,
19 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20
21 ## COMMON_PRE_CONFIG_FRAG
22
23 M32R_OBJS = m32r.o decode.o extract.o sem.o model.o mloop.o
24 # start-sanitize-m32rx
25 M32RX_OBJS = m32rx.o decodex.o semx.o modelx.o mloopx.o
26 # end-sanitize-m32rx
27
28 SIM_OBJS = \
29 $(SIM_NEW_COMMON_OBJS) \
30 sim-hload.o sim-hrw.o sim-engine.o sim-model.o sim-reason.o \
31 cgen-utils.o cgen-trace.o cgen-scache.o \
32 sim-if.o arch.o \
33 $(start-sanitize-m32rx) \
34 $(M32RX_OBJS) \
35 $(end-sanitize-m32rx) \
36 $(M32R_OBJS)
37
38 # Extra headers included by sim-main.h.
39 SIM_EXTRA_DEPS = \
40 $(srcdir)/../common/cgen-types.h \
41 $(srcdir)/../common/cgen-sim.h \
42 $(srcdir)/../common/cgen-trace.h \
43 arch.h cpuall.h m32r-sim.h
44
45 SIM_EXTRA_CFLAGS =
46
47 SIM_RUN_OBJS = nrun.o
48 SIM_EXTRA_CLEAN = m32r-clean
49
50 ## COMMON_POST_CONFIG_FRAG
51
52 arch = m32r
53
54 MAIN_INCLUDE_DEPS = \
55 sim-main.h \
56 $(srcdir)/../common/sim-config.h \
57 $(srcdir)/../common/sim-base.h \
58 $(srcdir)/../common/sim-basics.h \
59 $(srcdir)/../common/sim-module.h \
60 $(srcdir)/../common/sim-trace.h \
61 $(srcdir)/../common/sim-profile.h \
62 tconfig.h
63 INCLUDE_DEPS = $(MAIN_INCLUDE_DEPS) $(SIM_EXTRA_DEPS) cpu-sim.h
64 OPS_INCLUDE_DEPS = \
65 $(srcdir)/../common/cgen-mem.h \
66 $(srcdir)/../common/cgen-ops.h
67
68 sim-if.o: sim-if.c $(INCLUDE_DEPS) $(srcdir)/../common/sim-core.h
69 m32r.o: m32r.c $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS)
70
71 arch.o: arch.c $(INCLUDE_DEPS) cpu-opc.h
72
73 # M32R objs
74
75 # FIXME: Use of `mono' is wip.
76 mloop.c: $(srcdir)/../common/genmloop.sh mloop.in Makefile
77 rm -f mloop.c
78 $(SHELL) $(srcdir)/../common/genmloop.sh $(SHELL) -mono -scache -fast m32r $(srcdir)/mloop.in | sed -e 's/@cpu@/m32r/' -e 's/@CPU@/M32R/' >mloop.c
79 mloop.o: mloop.c sem-switch.c $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpu.h
80
81 decode.o: decode.c decode.h $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpu-opc.h cpu.h
82 extract.o: extract.c decode.h $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpu.h
83 sem.o: sem.c decode.h $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpu.h
84 model.o: model.c $(INCLUDE_DEPS) cpu-opc.h cpu.h
85
86 # wip
87 #extr-cache.o: extract.c $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS)
88 # $(CC) -c $(srcdir)/extract.c -o extr-cache.o -DSCACHE_P $(ALL_CFLAGS)
89 sem-cache.o: sem.c decode.h $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpu.h
90 $(CC) -c $(srcdir)/sem.c -o sem-cache.o -DSCACHE_P $(ALL_CFLAGS)
91
92 # start-sanitize-m32rx
93 # M32RX objs
94
95 # FIXME: Use of `mono' is wip.
96 mloopx.c: $(srcdir)/../common/genmloop.sh mloopx.in Makefile
97 rm -f mloopx.c
98 $(SHELL) $(srcdir)/../common/genmloop.sh $(SHELL) -mono -no-scache -no-fast -parallel m32r $(srcdir)/mloopx.in | sed -e 's/@cpu@/m32rx/' -e 's/@CPU@/M32RX/' >mloopx.c
99 mloopx.o: mloopx.c readx.c $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpux.h
100
101 decodex.o: decodex.c decodex.h $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpu-opc.h cpux.h
102 extractx.o: extractx.c decodex.h $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpux.h
103 semx.o: semx.c decodex.h $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpux.h
104 modelx.o: modelx.c $(INCLUDE_DEPS) cpu-opc.h cpux.h
105
106 # wip
107 #extr-cache.o: extract.c $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS)
108 # $(CC) -c $(srcdir)/extract.c -o extr-cache.o -DSCACHE_P $(ALL_CFLAGS)
109 semx-cache.o: semx.c decode.h $(INCLUDE_DEPS) $(OPS_INCLUDE_DEPS) cpux.h
110 $(CC) -c $(srcdir)/semx.c -o semx-cache.o -DSCACHE_P $(ALL_CFLAGS)
111 # end-sanitize-m32rx
112
113 m32r-clean:
114 rm -f mloop.c stamp-arch stamp-cpu stamp-decode
115 # start-sanitize-m32rx
116 rm -f mloopx.c stamp-xcpu stamp-xdecode
117 # end-sanitize-m32rx
118 rm -f tmp-*
119
120 # start-sanitize-cygnus
121 # cgen support
122 # For now, require developers to configure with --enable-maintainer-mode.
123 # ??? Do we need to use a different option?
124
125 stamp-arch: $(CGEN_MAIN_SCM) $(srccgen)/m32r.cpu
126 $(MAKE) cgen-arch
127 touch stamp-arch
128 arch.h arch.c cpuall.h: @MAINT@ stamp-arch
129 @true
130
131 stamp-cpu: $(CGEN_MAIN_SCM) $(CGEN_CPU_SCM) $(srccgen)/m32r.cpu
132 $(MAKE) cgen-cpu cpu=m32r mach=m32r SUFFIX= FLAGS="with-scache,with-profile fn" EXTRAFILES="$(CGEN_CPU_EXTR) $(CGEN_CPU_SEM) $(CGEN_CPU_SEMSW)"
133 touch stamp-cpu
134 cpu.h extract.c sem.c sem-switch.c model.c: @MAINT@ stamp-cpu
135 @true
136
137 stamp-decode: $(CGEN_MAIN_SCM) $(CGEN_DECODE_SCM) $(srccgen)/m32r.cpu
138 $(MAKE) cgen-decode cpu=m32r mach=m32r SUFFIX= FLAGS="with-scache,with-profile fn"
139 touch stamp-decode
140 decode.h decode.c: @MAINT@ stamp-decode
141 @true
142 # start-sanitize-cygnus
143
144 # start-sanitize-m32rx
145 stamp-xcpu: $(CGEN_MAIN_SCM) $(CGEN_CPU_SCM) $(srccgen)/m32r.cpu
146 $(MAKE) cgen-cpu cpu=m32rx mach=m32rx SUFFIX=x FLAGS="" EXTRAFILES="$(CGEN_CPU_READ) $(CGEN_CPU_SEM)"
147 touch stamp-xcpu
148 cpux.h readx.c semx.c modelx.c: @MAINT@ stamp-xcpu
149 @true
150
151 stamp-xdecode: $(CGEN_MAIN_SCM) $(CGEN_DECODE_SCM) $(srccgen)/m32r.cpu
152 $(MAKE) cgen-decode cpu=m32rx mach=m32rx SUFFIX=x
153 touch stamp-xdecode
154 decodex.h decodex.c: @MAINT@ stamp-xdecode
155 @true
156 # end-sanitize-m32rx