]>
Commit | Line | Data |
---|---|---|
c906108c SS |
1 | # Makefile template for Configure for the MIPS simulator. |
2 | # Written by Cygnus Support. | |
3 | ||
4 | ## COMMON_PRE_CONFIG_FRAG | |
5 | ||
6 | srcdir=@srcdir@ | |
7 | srcroot=$(srcdir)/../../ | |
8 | ||
9 | # Object files created by various simulator generators. | |
10 | ||
11 | ||
12 | SIM_IGEN_OBJ = \ | |
13 | support.o \ | |
14 | itable.o \ | |
15 | semantics.o \ | |
16 | idecode.o \ | |
17 | icache.o \ | |
18 | @mips_igen_engine@ \ | |
19 | irun.o \ | |
20 | ||
21 | ||
22 | SIM_M16_OBJ = \ | |
23 | m16_support.o \ | |
24 | m16_semantics.o \ | |
25 | m16_idecode.o \ | |
26 | m16_icache.o \ | |
27 | \ | |
28 | m32_support.o \ | |
29 | m32_semantics.o \ | |
30 | m32_idecode.o \ | |
31 | m32_icache.o \ | |
32 | \ | |
33 | itable.o \ | |
34 | m16run.o \ | |
35 | ||
36 | ||
37 | MIPS_EXTRA_OBJS = @mips_extra_objs@ | |
38 | MIPS_EXTRA_LIBS = @mips_extra_libs@ | |
39 | ||
40 | SIM_OBJS = \ | |
41 | $(SIM_@sim_gen@_OBJ) \ | |
42 | $(SIM_NEW_COMMON_OBJS) \ | |
43 | $(MIPS_EXTRA_OBJS) \ | |
44 | interp.o \ | |
45 | sim-main.o \ | |
46 | sim-hload.o \ | |
47 | sim-engine.o \ | |
48 | sim-stop.o \ | |
49 | sim-resume.o \ | |
50 | sim-reason.o \ | |
51 | ||
52 | ||
53 | # List of flags to always pass to $(CC). | |
54 | SIM_SUBTARGET=@SIM_SUBTARGET@ | |
55 | SIM_EXTRA_CFLAGS = $(SIM_SUBTARGET) | |
56 | ||
57 | SIM_EXTRA_CLEAN = clean-extra | |
58 | ||
59 | SIM_EXTRA_ALL = $(SIM_@sim_gen@_ALL) | |
60 | ||
61 | SIM_EXTRA_LIBS = $(MIPS_EXTRA_LIBS) | |
62 | ||
63 | # List of main object files for `run'. | |
64 | SIM_RUN_OBJS = nrun.o | |
65 | ||
66 | ||
67 | ||
68 | ## COMMON_POST_CONFIG_FRAG | |
69 | ||
70 | interp.o: $(srcdir)/interp.c config.h sim-main.h itable.h | |
71 | ||
72 | ||
73 | ../igen/igen: | |
74 | cd ../igen && $(MAKE) | |
75 | ||
76 | IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries # -G trace-all | |
77 | IGEN_INSN=$(srcdir)/mips.igen | |
78 | IGEN_DC=$(srcdir)/mips.dc | |
79 | M16_DC=$(srcdir)/m16.dc | |
80 | IGEN_INCLUDE=\ | |
81 | $(srcdir)/m16.igen \ | |
82 | $(srcdir)/tx.igen \ | |
83 | $(srcdir)/vr.igen \ | |
84 | ||
85 | # NB: Since these can be built by a number of generators, care | |
86 | # must be taken to ensure that they are only dependant on | |
87 | # one of those generators. | |
88 | BUILT_SRC_FROM_GEN = \ | |
89 | itable.h \ | |
90 | itable.c \ | |
91 | ||
92 | SIM_IGEN_ALL = tmp-igen | |
93 | SIM_M16_ALL = tmp-m16 | |
94 | ||
95 | $(BUILT_SRC_FROM_GEN): $(SIM_@sim_gen@_ALL) | |
96 | ||
97 | ||
98 | ||
99 | BUILT_SRC_FROM_IGEN = \ | |
100 | icache.h \ | |
101 | icache.c \ | |
102 | idecode.h \ | |
103 | idecode.c \ | |
104 | semantics.h \ | |
105 | semantics.c \ | |
106 | model.h \ | |
107 | model.c \ | |
108 | support.h \ | |
109 | support.c \ | |
110 | engine.h \ | |
111 | engine.c \ | |
112 | irun.c \ | |
113 | ||
114 | $(BUILT_SRC_FROM_IGEN): tmp-igen | |
115 | ||
116 | tmp-igen: $(IGEN_INSN) $(IGEN_DC) ../igen/igen $(IGEN_INCLUDE) | |
117 | cd ../igen && $(MAKE) | |
118 | ../igen/igen \ | |
119 | $(IGEN_TRACE) \ | |
120 | -I $(srcdir) \ | |
121 | -Werror \ | |
122 | -Wnodiscard \ | |
123 | @sim_igen_flags@ \ | |
124 | -G gen-direct-access \ | |
125 | -G gen-zero-r0 \ | |
126 | -B 32 \ | |
127 | -H 31 \ | |
128 | -i $(IGEN_INSN) \ | |
129 | -o $(IGEN_DC) \ | |
130 | -x \ | |
131 | -n icache.h -hc tmp-icache.h \ | |
132 | -n icache.c -c tmp-icache.c \ | |
133 | -n semantics.h -hs tmp-semantics.h \ | |
134 | -n semantics.c -s tmp-semantics.c \ | |
135 | -n idecode.h -hd tmp-idecode.h \ | |
136 | -n idecode.c -d tmp-idecode.c \ | |
137 | -n model.h -hm tmp-model.h \ | |
138 | -n model.c -m tmp-model.c \ | |
139 | -n support.h -hf tmp-support.h \ | |
140 | -n support.c -f tmp-support.c \ | |
141 | -n itable.h -ht tmp-itable.h \ | |
142 | -n itable.c -t tmp-itable.c \ | |
143 | -n engine.h -he tmp-engine.h \ | |
144 | -n engine.c -e tmp-engine.c \ | |
145 | -n irun.c -r tmp-irun.c | |
146 | $(srcdir)/../../move-if-change tmp-icache.h icache.h | |
147 | $(srcdir)/../../move-if-change tmp-icache.c icache.c | |
148 | $(srcdir)/../../move-if-change tmp-idecode.h idecode.h | |
149 | $(srcdir)/../../move-if-change tmp-idecode.c idecode.c | |
150 | $(srcdir)/../../move-if-change tmp-semantics.h semantics.h | |
151 | $(srcdir)/../../move-if-change tmp-semantics.c semantics.c | |
152 | $(srcdir)/../../move-if-change tmp-model.h model.h | |
153 | $(srcdir)/../../move-if-change tmp-model.c model.c | |
154 | $(srcdir)/../../move-if-change tmp-support.h support.h | |
155 | $(srcdir)/../../move-if-change tmp-support.c support.c | |
156 | $(srcdir)/../../move-if-change tmp-itable.h itable.h | |
157 | $(srcdir)/../../move-if-change tmp-itable.c itable.c | |
158 | $(srcdir)/../../move-if-change tmp-engine.h engine.h | |
159 | $(srcdir)/../../move-if-change tmp-engine.c engine.c | |
160 | $(srcdir)/../../move-if-change tmp-irun.c irun.c | |
161 | touch tmp-igen | |
162 | ||
163 | semantics.o: sim-main.h semantics.c $(SIM_EXTRA_DEPS) | |
164 | engine.o: sim-main.h engine.c $(SIM_EXTRA_DEPS) | |
165 | support.o: sim-main.h support.c $(SIM_EXTRA_DEPS) | |
166 | idecode.o: sim-main.h idecode.c $(SIM_EXTRA_DEPS) | |
167 | itable.o: sim-main.h itable.c $(SIM_EXTRA_DEPS) | |
168 | ||
169 | ||
170 | ||
171 | ||
172 | BUILT_SRC_FROM_M16 = \ | |
173 | m16_icache.h \ | |
174 | m16_icache.c \ | |
175 | m16_idecode.h \ | |
176 | m16_idecode.c \ | |
177 | m16_semantics.h \ | |
178 | m16_semantics.c \ | |
179 | m16_model.h \ | |
180 | m16_model.c \ | |
181 | m16_support.h \ | |
182 | m16_support.c \ | |
183 | \ | |
184 | m32_icache.h \ | |
185 | m32_icache.c \ | |
186 | m32_idecode.h \ | |
187 | m32_idecode.c \ | |
188 | m32_semantics.h \ | |
189 | m32_semantics.c \ | |
190 | m32_model.h \ | |
191 | m32_model.c \ | |
192 | m32_support.h \ | |
193 | m32_support.c \ | |
194 | ||
195 | $(BUILT_SRC_FROM_M16): tmp-m16 | |
196 | ||
197 | tmp-m16: $(IGEN_INSN) $(IGEN_DC) ../igen/igen $(IGEN_INCLUDE) | |
198 | cd ../igen && $(MAKE) | |
199 | ../igen/igen \ | |
200 | $(IGEN_TRACE) \ | |
201 | -I $(srcdir) \ | |
202 | -Werror \ | |
203 | -Wnodiscard \ | |
204 | @sim_m16_flags@ \ | |
205 | -G gen-direct-access \ | |
206 | -G gen-zero-r0 \ | |
207 | -B 16 \ | |
208 | -H 15 \ | |
209 | -i $(IGEN_INSN) \ | |
210 | -o $(M16_DC) \ | |
211 | -P m16_ \ | |
212 | -x \ | |
213 | -n m16_icache.h -hc tmp-icache.h \ | |
214 | -n m16_icache.c -c tmp-icache.c \ | |
215 | -n m16_semantics.h -hs tmp-semantics.h \ | |
216 | -n m16_semantics.c -s tmp-semantics.c \ | |
217 | -n m16_idecode.h -hd tmp-idecode.h \ | |
218 | -n m16_idecode.c -d tmp-idecode.c \ | |
219 | -n m16_model.h -hm tmp-model.h \ | |
220 | -n m16_model.c -m tmp-model.c \ | |
221 | -n m16_support.h -hf tmp-support.h \ | |
222 | -n m16_support.c -f tmp-support.c \ | |
223 | # | |
224 | $(srcdir)/../../move-if-change tmp-icache.h m16_icache.h | |
225 | $(srcdir)/../../move-if-change tmp-icache.c m16_icache.c | |
226 | $(srcdir)/../../move-if-change tmp-idecode.h m16_idecode.h | |
227 | $(srcdir)/../../move-if-change tmp-idecode.c m16_idecode.c | |
228 | $(srcdir)/../../move-if-change tmp-semantics.h m16_semantics.h | |
229 | $(srcdir)/../../move-if-change tmp-semantics.c m16_semantics.c | |
230 | $(srcdir)/../../move-if-change tmp-model.h m16_model.h | |
231 | $(srcdir)/../../move-if-change tmp-model.c m16_model.c | |
232 | $(srcdir)/../../move-if-change tmp-support.h m16_support.h | |
233 | $(srcdir)/../../move-if-change tmp-support.c m16_support.c | |
234 | ../igen/igen \ | |
235 | $(IGEN_TRACE) \ | |
236 | -I $(srcdir) \ | |
237 | -Werror \ | |
238 | -Wnodiscard \ | |
239 | @sim_igen_flags@ \ | |
240 | -G gen-direct-access \ | |
241 | -G gen-zero-r0 \ | |
242 | -B 32 \ | |
243 | -H 31 \ | |
244 | -i $(IGEN_INSN) \ | |
245 | -o $(IGEN_DC) \ | |
246 | -P m32_ \ | |
247 | -x \ | |
248 | -n m32_icache.h -hc tmp-icache.h \ | |
249 | -n m32_icache.c -c tmp-icache.c \ | |
250 | -n m32_semantics.h -hs tmp-semantics.h \ | |
251 | -n m32_semantics.c -s tmp-semantics.c \ | |
252 | -n m32_idecode.h -hd tmp-idecode.h \ | |
253 | -n m32_idecode.c -d tmp-idecode.c \ | |
254 | -n m32_model.h -hm tmp-model.h \ | |
255 | -n m32_model.c -m tmp-model.c \ | |
256 | -n m32_support.h -hf tmp-support.h \ | |
257 | -n m32_support.c -f tmp-support.c \ | |
258 | # | |
259 | $(srcdir)/../../move-if-change tmp-icache.h m32_icache.h | |
260 | $(srcdir)/../../move-if-change tmp-icache.c m32_icache.c | |
261 | $(srcdir)/../../move-if-change tmp-idecode.h m32_idecode.h | |
262 | $(srcdir)/../../move-if-change tmp-idecode.c m32_idecode.c | |
263 | $(srcdir)/../../move-if-change tmp-semantics.h m32_semantics.h | |
264 | $(srcdir)/../../move-if-change tmp-semantics.c m32_semantics.c | |
265 | $(srcdir)/../../move-if-change tmp-model.h m32_model.h | |
266 | $(srcdir)/../../move-if-change tmp-model.c m32_model.c | |
267 | $(srcdir)/../../move-if-change tmp-support.h m32_support.h | |
268 | $(srcdir)/../../move-if-change tmp-support.c m32_support.c | |
269 | ../igen/igen \ | |
270 | $(IGEN_TRACE) \ | |
271 | -I $(srcdir) \ | |
272 | -Werror \ | |
273 | -Wnodiscard \ | |
274 | -Wnowidth \ | |
275 | @sim_igen_flags@ @sim_m16_flags@ \ | |
276 | -G gen-direct-access \ | |
277 | -G gen-zero-r0 \ | |
278 | -i $(IGEN_INSN) \ | |
279 | -n itable.h -ht tmp-itable.h \ | |
280 | -n itable.c -t tmp-itable.c \ | |
281 | # | |
282 | $(srcdir)/../../move-if-change tmp-itable.h itable.h | |
283 | $(srcdir)/../../move-if-change tmp-itable.c itable.c | |
284 | touch tmp-m16 | |
285 | ||
286 | ||
287 | clean-extra: | |
288 | rm -f $(BUILT_SRC_FROM_GEN) | |
289 | rm -f $(BUILT_SRC_FROM_IGEN) | |
290 | rm -f $(BUILT_SRC_FROM_M16) | |
291 | rm -f tmp-* | |
292 | rm -f m16* m32* itable* | |
293 |