Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / obp / obp / fm / kernel / sparc / depend.mk
CommitLineData
920dae64
AT
1# ========== Copyright Header Begin ==========================================
2#
3# Hypervisor Software File: depend.mk
4#
5# Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
6#
7# - Do no alter or remove copyright notices
8#
9# - Redistribution and use of this software in source and binary forms, with
10# or without modification, are permitted provided that the following
11# conditions are met:
12#
13# - Redistribution of source code must retain the above copyright notice,
14# this list of conditions and the following disclaimer.
15#
16# - Redistribution in binary form must reproduce the above copyright notice,
17# this list of conditions and the following disclaimer in the
18# documentation and/or other materials provided with the distribution.
19#
20# Neither the name of Sun Microsystems, Inc. or the names of contributors
21# may be used to endorse or promote products derived from this software
22# without specific prior written permission.
23#
24# This software is provided "AS IS," without a warranty of any kind.
25# ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
26# INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
27# PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
28# MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
29# ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
30# DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
31# OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
32# FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
33# DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
34# ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
35# SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
36#
37# You acknowledge that this software is not designed, licensed or
38# intended for use in the design, construction, operation or maintenance of
39# any nuclear facility.
40#
41# ========== Copyright Header End ============================================
42# id: @(#)depend.mk 1.8 06/02/16
43# purpose:
44# copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved
45# copyright: Use is subject to license terms.
46#
47# .fth files used in all kernels.
48
49KCOMPILER = ${COMPILER} ${VERBOSE} ${FFLAGS}
50
51KERNEL-SOURCES = \
52 ${BP}/fm/meta/meta1.fth \
53 ${BP}/cpu/sparc/assem.fth \
54 ${BP}/fm/lib/loclabel.fth \
55 ${BP}/fm/lib/message.fth \
56 ${BP}/fm/meta/nswapmap.fth \
57 ${BP}/fm/meta/sparc/target.fth \
58 ${BP}/fm/meta/forward.fth \
59 ${BP}/fm/meta/sparc/fixvoc.fth \
60 ${BP}/fm/meta/compilin.fth \
61 ${BP}/fm/kernel/sparc/metainit.fth \
62 ${BP}/fm/kernel/sparc/kerncode.fth \
63 ${BP}/fm/kernel/sparc/divrem.fth \
64 ${BP}/fm/kernel/uservars.fth \
65 ${BP}/fm/kernel/sparc/multiply.fth \
66 ${BP}/fm/kernel/sparc/move.fth \
67 ${BP}/fm/kernel/sparc/extra.fth \
68 ${BP}/fm/kernel/double.fth \
69 ${BP}/fm/kernel/dmuldiv.fth \
70 ${BP}/fm/kernel/dmul.fth \
71 ${BP}/fm/kernel/io.fth \
72 ${BP}/fm/kernel/stresc.fth \
73 ${BP}/fm/kernel/comment.fth \
74 ${BP}/fm/kernel/catchsel.fth \
75 ${BP}/fm/kernel/sparc/checkpt.fth \
76 ${BP}/fm/kernel/kernel2.fth \
77 ${BP}/fm/kernel/compiler.fth \
78 ${BP}/fm/kernel/interp.fth \
79 ${BP}/fm/kernel/kernport.fth \
80 ${BP}/fm/kernel/definers.fth \
81 ${BP}/fm/kernel/tagvoc.fth \
82 ${BP}/fm/kernel/voccom.fth \
83 ${BP}/fm/kernel/order.fth \
84 ${BP}/fm/kernel/is.fth \
85 ${BP}/fm/kernel/sparc/field.fth \
86 ${BP}/fm/kernel/sparc/filecode.fth \
87 ${BP}/fm/kernel/filecomm.fth \
88 ${BP}/fm/kernel/cold.fth \
89 ${BP}/fm/kernel/disk.fth \
90 ${BP}/fm/kernel/readline.fth \
91 ${BP}/fm/kernel/fileio.fth \
92 ${BP}/fm/lib/cstrings.fth \
93 ${BP}/fm/cwrapper/sysdisk.fth \
94 ${BP}/fm/cwrapper/syskey.fth \
95 ${BP}/os/unix/sparc/sys.fth \
96 ${BP}/fm/lib/alias.fth \
97 ${BP}/fm/kernel/cmdline.fth \
98 ${BP}/fm/kernel/nswapmap.fth \
99 ${BP}/fm/kernel/ansio.fth \
100 ${BP}/fm/cwrapper/sparc/boot.fth \
101 ${BP}/fm/kernel/init.fth \
102 ${BP}/fm/kernel/sparc/finish.fth \
103 ${BP}/fm/kernel/sparc/double.fth \
104 ${BP}/fm/kernel/guarded.fth \
105 ${BP}/fm/kernel/sparc/moveslow.fth \
106 ${BP}/fm/kernel/sparc/parseline.fth \
107 ${BP}/fm/meta/sparc/savemeta.fth
108
109KERNEL-COMMON = \
110 ${KERNEL-SOURCES} \
111 ${FORTH} \
112 ${BP}/os/sun/sparc/forth.dic \
113 ${BP}/fm/kernel/${CPU}/loadkern.fth
114
115KERNEL64-SRC = \
116 ${BP}/fm/kernel/sparc/mulv9.fth \
117 ${BP}/fm/kernel/sparc/divrem9.fth
118
119KERNELMODEL = /usr/bin/basename $@ | sed -e 'sX\..*XX'
120
121# same as k32t32.dic
122# used to bootstrap all the other kernels
123${BOOTSTRAPKERNEL}.dic: ${KERNEL-COMMON} ${BP}/os/sun/sparc/forth.dic
124${BOOTSTRAPKERNEL}.dic: ${BP}/fm/meta/conft32.fth
125 @${NOTIFY} Creating $@
126 ${RM} $@
127 ${RM} nheads.${KERNELMODEL:sh}.dic
128 (BP=${BP} ; export BP ; ${FORTH} ${VERBOSE} \
129 -d ${BP}/os/sun/sparc/forth.dic \
130 ${XFFLAGS} -D dic-file-name=$@ -D KERNEL \
131 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
132 ${BP}/fm/meta/conft32.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
133 @${RM} ${BOOTSTRAPKERNEL}.fth
134 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
135 ${SORT} +1 > ${BOOTSTRAPKERNEL}.fth
136 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
137 ${SORT} +1 > ${BOOTSTRAPKERNEL}.headless.fth
138 ${RM} nheads.${KERNELMODEL:sh}.dic
139
140${BOOTSTRAPKERNEL}-xref.dic: ${KERNEL-COMMON} ${BP}/os/sun/sparc/forth.dic
141${BOOTSTRAPKERNEL}-xref.dic: ${BP}/fm/meta/conft32.fth
142${BOOTSTRAPKERNEL}-xref.dic: ${BP}/fm/lib/xref.fth
143 @${NOTIFY} Creating $@
144 ${RM} $@
145 ${RM} nheads.${KERNELMODEL:sh}.dic
146 (BP=${BP} ; export BP ; ${FORTH} ${VERBOSE} \
147 -d ${BP}/os/sun/sparc/forth.dic \
148 ${XFFLAGS} -F -D dic-file-name=$@ -D KERNEL -D XREF -x $@.idx \
149 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
150 ${BP}/fm/meta/conft32.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
151 @${RM} ${BOOTSTRAPKERNEL}-xref.fth
152 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
153 ${SORT} +1 > ${BOOTSTRAPKERNEL}-xref.fth
154 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
155 ${SORT} +1 > ${BOOTSTRAPKERNEL}-xref.headless.fth
156 ${RM} nheads.${KERNELMODEL:sh}.dic
157
158# Now all the 32bit targets starting with kernels
159
160${K32T32}.dic: ${KERNEL-COMMON} ${BOOTSTRAPFORTH}.dic
161${K32T32}.dic: ${BP}/fm/meta/conft32.fth
162${K32T32}.dic: ${BP}/cpu/sparc/ultra/impldis.fth
163 @${NOTIFY} Creating $@
164 ${RM} $@
165 ${RM} nheads.${KERNELMODEL:sh}.dic
166 (BP=${BP} ; export BP ; ${FORTH} ${VERBOSE} -d ${BOOTSTRAPFORTH}.dic \
167 -D dic-file-name=$@ -D KERNEL \
168 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
169 ${BP}/fm/meta/conft32.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
170 @${RM} ${K32T32}.fth
171 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
172 ${SORT} +1 > ${K32T32}.fth
173 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
174 ${SORT} +1 > ${K32T32}.headless.fth
175 ${RM} nheads.${KERNELMODEL:sh}.dic
176
177
178# NOTE: The {K32T32}-xref model created here, or the identical
179# {F32T32}-xref.dic created in os/sun/sparc, may be used to replace
180# the saved forth.dic forth-engine that starts creation of the new
181# kernels and forth-engines. *DO NOT USE THE NON-xref VERSION*
182#
183# And when you do, be sure to replace the saved os/sun/sparc/headless.fth
184# with the {K32T32}-xref.headless.fth created here; it supplies the
185# restored-heads data for the forth-engine to which it corresponds,
186# and is highly version-sensitive. *DO NOT LET THEM GET OUT OF SYNC*
187#
188${K32T32}-xref.dic: ${KERNEL-COMMON} ${BOOTSTRAPFORTH}-xref.dic
189${K32T32}-xref.dic: ${BP}/fm/meta/conft32.fth
190${K32T32}-xref.dic: ${BP}/cpu/sparc/ultra/impldis.fth
191${K32T32}-xref.dic: ${BP}/fm/lib/xref.fth
192 @${NOTIFY} Creating $@
193 ${RM} $@
194 ${RM} nheads.${KERNELMODEL:sh}.dic
195 (BP=${BP} ; export BP ; ${FORTH} ${VERBOSE} \
196 -d ${BOOTSTRAPFORTH}-xref.dic \
197 -D dic-file-name=$@ -D KERNEL -D XREF -F -x $@.idx \
198 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
199 ${BP}/fm/meta/conft32.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
200 @${RM} ${K32T32}-xref.fth
201 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
202 ${SORT} +1 > ${K32T32}-xref.fth
203 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
204 ${SORT} +1 > ${K32T32}-xref.headless.fth
205 ${RM} nheads.${KERNELMODEL:sh}.dic
206
207${K32T16S2}.dic: ${KERNEL-COMMON} ${FORTHDIC}
208${K32T16S2}.dic: ${BP}/fm/meta/conft16.fth
209 @${NOTIFY} Creating $@
210 ${RM} $@
211 ${RM} nheads.${KERNELMODEL:sh}.dic
212 (BP=${BP} ; export BP ; ${KCOMPILER} \
213 -D dic-file-name=$@ -D KERNEL \
214 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
215 -s '2 constant tshift-t' \
216 -s "${FTHFLAGS}" \
217 ${BP}/fm/meta/conft16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
218 @${RM} ${K32T16S2}.fth
219 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
220 ${SORT} +1 > ${K32T16S2}.fth
221 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
222 ${SORT} +1 > ${K32T16S2}.headless.fth
223 ${RM} nheads.${KERNELMODEL:sh}.dic
224
225${K32T16S2}-xref.dic: ${KERNEL-COMMON} ${FORTHDIC}
226${K32T16S2}-xref.dic: ${BP}/fm/meta/conft16.fth
227${K32T16S2}-xref.dic: ${BP}/fm/lib/xref.fth
228 @${NOTIFY} Creating $@
229 ${RM} $@
230 ${RM} nheads.${KERNELMODEL:sh}.dic
231 (BP=${BP} ; export BP ; ${KCOMPILER} \
232 -D dic-file-name=$@ -D KERNEL -D XREF -F -x $@.idx \
233 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
234 -s '2 constant tshift-t' \
235 -s "${FTHFLAGS}" \
236 ${BP}/fm/meta/conft16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
237 @${RM} ${K32T16S2}-xref.fth
238 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
239 ${SORT} +1 > ${K32T16S2}-xref.fth
240 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
241 ${SORT} +1 > ${K32T16S2}-xref.headless.fth
242 ${RM} nheads.${KERNELMODEL:sh}.dic
243
244${K32T16S4}.dic: ${KERNEL-COMMON} ${FORTHDIC}
245${K32T16S4}.dic: ${BP}/fm/meta/conft16.fth
246 @${NOTIFY} Creating $@
247 ${RM} $@
248 ${RM} nheads.${KERNELMODEL:sh}.dic
249 (BP=${BP} ; export BP ; ${KCOMPILER} \
250 -D dic-file-name=$@ -D KERNEL \
251 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
252 -s ' 4 constant tshift-t' \
253 -s "${FTHFLAGS}" \
254 ${BP}/fm/meta/conft16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
255 @${RM} ${K32T16S4}.fth
256 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
257 ${SORT} +1 > ${K32T16S4}.fth
258 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
259 ${SORT} +1 > ${K32T16S4}.headless.fth
260 ${RM} nheads.${KERNELMODEL:sh}.dic
261
262${K32T16S4}-xref.dic: ${KERNEL-COMMON} ${FORTHDIC}
263${K32T16S4}-xref.dic: ${BP}/fm/meta/conft16.fth
264${K32T16S4}-xref.dic: ${BP}/fm/lib/xref.fth
265 @${NOTIFY} Creating $@
266 ${RM} $@
267 ${RM} nheads.${KERNELMODEL:sh}.dic
268 (BP=${BP} ; export BP ; ${KCOMPILER} \
269 -D dic-file-name=$@ -D KERNEL -D XREF -F -x $@.idx \
270 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
271 -s ' 4 constant tshift-t' \
272 -s "${FTHFLAGS}" \
273 ${BP}/fm/meta/conft16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
274 @${RM} ${K32T16S4}-xref.fth
275 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
276 ${SORT} +1 > ${K32T16S4}-xref.fth
277 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
278 ${SORT} +1 > ${K32T16S4}-xref.headless.fth
279 ${RM} nheads.${KERNELMODEL:sh}.dic
280
281# Now the 64 bit targets starting with kernels.
282${K64T32}.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
283${K64T32}.dic: ${BP}/cpu/sparc/ultra/impldis.fth
284${K64T32}.dic: ${BP}/fm/meta/conf64.fth
285 @${NOTIFY} Creating $@
286 ${RM} $@
287 ${RM} nheads.${KERNELMODEL:sh}.dic
288 (BP=${BP} ; export BP ; ${KCOMPILER} \
289 -D dic-file-name=$@ -D KERNEL \
290 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
291 -s "${FTHFLAGS}" \
292 ${BP}/fm/meta/conf64.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
293 @${RM} ${K64T32}.fth
294 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
295 ${SORT} +1 > ${K64T32}.fth
296 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
297 ${SORT} +1 > ${K64T32}.headless.fth
298 ${RM} nheads.${KERNELMODEL:sh}.dic
299
300${K64T32}-xref.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
301${K64T32}-xref.dic: ${BP}/cpu/sparc/ultra/impldis.fth
302${K64T32}-xref.dic: ${BP}/fm/meta/conf64.fth
303${K64T32}-xref.dic: ${BP}/fm/lib/xref.fth
304 @${NOTIFY} Creating $@
305 ${RM} $@
306 ${RM} nheads.${KERNELMODEL:sh}.dic
307 (BP=${BP} ; export BP ; ${KCOMPILER} \
308 -D dic-file-name=$@ -D KERNEL -D XREF -F -x $@.idx \
309 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
310 -s "${FTHFLAGS}" \
311 ${BP}/fm/meta/conf64.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
312 @${RM} ${K64T32}-xref.fth
313 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
314 ${SORT} +1 > ${K64T32}-xref.fth
315 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
316 ${SORT} +1 > ${K64T32}-xref.headless.fth
317 ${RM} nheads.${KERNELMODEL:sh}.dic
318
319# Now the 64 bit miniforth
320${K64MINI}.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
321${K64MINI}.dic: ${BP}/fm/kernel/${CPU}/loadkern.fth
322${K64MINI}.dic: ${BP}/cpu/sparc/ultra/impldis.fth
323${K64MINI}.dic: ${BP}/fm/meta/conf64.fth
324 @${NOTIFY} Creating $@
325 ${RM} $@
326 ${RM} nheads.${KERNELMODEL:sh}.dic
327 (BP=${BP} ; export BP ; ${KCOMPILER} \
328 -D "miniforth?" -D dic-file-name=$@ -D KERNEL \
329 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
330 -s "${FTHFLAGS}" \
331 ${BP}/fm/meta/conf64.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
332 @${RM} ${K64MINI}.fth
333 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
334 ${SORT} +1 > ${K64MINI}.fth
335 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
336 ${SORT} +1 > ${K64MINI}.headless.fth
337 ${RM} nheads.${KERNELMODEL:sh}.dic
338
339${K64MINI}-xref.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
340${K64MINI}-xref.dic: ${BP}/fm/kernel/${CPU}/loadkern.fth
341${K64MINI}-xref.dic: ${BP}/cpu/sparc/ultra/impldis.fth
342${K64MINI}-xref.dic: ${BP}/fm/meta/conf64.fth
343${K64MINI}-xref.dic: ${BP}/fm/lib/xref.fth
344 @${NOTIFY} Creating $@
345 ${RM} $@
346 ${RM} nheads.${KERNELMODEL:sh}.dic
347 (BP=${BP} ; export BP ; ${KCOMPILER} \
348 -D "miniforth?" -D dic-file-name=$@ -D KERNEL -D XREF -F -x $@.idx \
349 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
350 -s "${FTHFLAGS}" \
351 ${BP}/fm/meta/conf64.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
352 @${RM} ${K64MINI}-xref.fth
353 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
354 ${SORT} +1 > ${K64MINI}-xref.fth
355 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
356 ${SORT} +1 > ${K64MINI}-xref.headless.fth
357 ${RM} nheads.${KERNELMODEL:sh}.dic
358
359# Now the 64 bit miniforth
360${K64MINI}-t16.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
361${K64MINI}-t16.dic: ${BP}/fm/kernel/${CPU}/loadkern.fth
362${K64MINI}-t16.dic: ${BP}/cpu/sparc/ultra/impldis.fth
363${K64MINI}-t16.dic: ${BP}/fm/meta/conf64t16.fth
364 @${NOTIFY} Creating $@
365 ${RM} $@
366 ${RM} nheads.${KERNELMODEL:sh}.dic
367 (BP=${BP} ; export BP ; ${KCOMPILER} \
368 -D "miniforth?" -D dic-file-name=$@ -D KERNEL \
369 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
370 -s "${FTHFLAGS}" \
371 ${BP}/fm/meta/conf64t16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
372 @${RM} ${K64MINI}-t16.fth
373 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
374 ${SORT} +1 > ${K64MINI}-t16.fth
375 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
376 ${SORT} +1 > ${K64MINI}-t16.headless.fth
377 ${RM} nheads.${KERNELMODEL:sh}.dic
378
379${K64MINI}-t16-xref.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
380${K64MINI}-t16-xref.dic: ${BP}/fm/kernel/${CPU}/loadkern.fth
381${K64MINI}-t16-xref.dic: ${BP}/cpu/sparc/ultra/impldis.fth
382${K64MINI}-t16-xref.dic: ${BP}/fm/meta/conf64t16.fth
383${K64MINI}-t16-xref.dic: ${BP}/fm/lib/xref.fth
384 @${NOTIFY} Creating $@
385 ${RM} $@
386 ${RM} nheads.${KERNELMODEL:sh}.dic
387 (BP=${BP} ; export BP ; ${KCOMPILER} \
388 -D "miniforth?" -D dic-file-name=$@ -D KERNEL -D XREF -F -x $@.idx \
389 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
390 -s "${FTHFLAGS}" \
391 ${BP}/fm/meta/conf64t16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
392 @${RM} ${K64MINI}-t16-xref.fth
393 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
394 ${SORT} +1 > ${K64MINI}-t16-xref.fth
395 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
396 ${SORT} +1 > ${K64MINI}-t16-xref.headless.fth
397 ${RM} nheads.${KERNELMODEL:sh}.dic
398
399${K64T16S2}.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
400${K64T16S2}.dic: ${BP}/fm/lib/sparc/debugm16.fth
401${K64T16S2}.dic: ${BP}/fm/meta/conf64t16.fth
402 @${NOTIFY} Creating $@
403 ${RM} $@
404 ${RM} nheads.${KERNELMODEL:sh}.dic
405 (BP=${BP} ; export BP ; ${KCOMPILER} \
406 -D dic-file-name=$@ -D KERNEL \
407 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
408 -s ' 2 constant tshift-t' \
409 -s "${FTHFLAGS}" \
410 ${BP}/fm/meta/conf64t16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
411 @${RM} ${K64T16S2}.fth
412 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
413 ${SORT} +1 > ${K64T16S2}.fth
414 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
415 ${SORT} +1 > ${K64T16S2}.headless.fth
416 ${RM} nheads.${KERNELMODEL:sh}.dic
417
418${K64T16S2}-xref.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
419${K64T16S2}-xref.dic: ${BP}/fm/lib/sparc/debugm16.fth
420${K64T16S2}-xref.dic: ${BP}/fm/meta/conf64t16.fth
421${K64T16S2}-xref.dic: ${BP}/fm/lib/xref.fth
422 @${NOTIFY} Creating $@
423 ${RM} $@
424 ${RM} nheads.${KERNELMODEL:sh}.dic
425 (BP=${BP} ; export BP ; ${KCOMPILER} \
426 -D dic-file-name=$@ -D KERNEL -D XREF -F -x $@.idx \
427 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
428 -s ' 2 constant tshift-t' \
429 -s "${FTHFLAGS}" \
430 ${BP}/fm/meta/conf64t16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
431 @${RM} ${K64T16S2}-xref.fth
432 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
433 ${SORT} +1 > ${K64T16S2}-xref.fth
434 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
435 ${SORT} +1 > ${K64T16S2}-xref.headless.fth
436 ${RM} nheads.${KERNELMODEL:sh}.dic
437
438${K64T16S4}.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
439${K64T16S4}.dic: ${BP}/fm/meta/conf64t16.fth
440 @${NOTIFY} Creating $@
441 ${RM} $@
442 ${RM} nheads.${KERNELMODEL:sh}.dic
443 (BP=${BP} ; export BP ; ${KCOMPILER} \
444 -D dic-file-name=$@ -D KERNEL \
445 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
446 -s ' 4 constant tshift-t' \
447 -s "${FTHFLAGS}" \
448 ${BP}/fm/meta/conf64t16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
449 @${RM} ${K64T16S4}.fth
450 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
451 ${SORT} +1 > ${K64T16S4}.fth
452 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
453 ${SORT} +1 > ${K64T16S4}.headless.fth
454 ${RM} nheads.${KERNELMODEL:sh}.dic
455
456${K64T16S4}-xref.dic: ${KERNEL-COMMON} ${FORTHDIC} ${KERNEL64-SRC}
457${K64T16S4}-xref.dic: ${BP}/fm/meta/conf64t16.fth
458${K64T16S4}-xref.dic: ${BP}/fm/lib/xref.fth
459 @${NOTIFY} Creating $@
460 ${RM} $@
461 ${RM} nheads.${KERNELMODEL:sh}.dic
462 (BP=${BP} ; export BP ; ${KCOMPILER} \
463 -D dic-file-name=$@ -D KERNEL -D XREF -F -x $@.idx \
464 -D nheads-dic-name=nheads.${KERNELMODEL:sh}.dic \
465 -s ' 4 constant tshift-t' \
466 -s "${FTHFLAGS}" \
467 ${BP}/fm/meta/conf64t16.fth ${BP}/fm/kernel/${CPU}/loadkern.fth)
468 @${RM} ${K64T16S4}-xref.fth
469 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheads" | \
470 ${SORT} +1 > ${K64T16S4}-xref.fth
471 ${FORTH} -d nheads.${KERNELMODEL:sh}.dic -s " nheadless" | \
472 ${SORT} +1 > ${K64T16S4}-xref.headless.fth
473 ${RM} nheads.${KERNELMODEL:sh}.dic
474
475${BOOTSTRAPKERNEL}.fth: ${BOOTSTRAPKERNEL}.dic
476${K32T32}.fth: ${K32T32}.dic
477${K32T16S2}.fth: ${K32T16S2}.dic
478${K32T16S4}.fth: ${K32T16S4}.dic
479${K64T32}.fth: ${K64T32}.dic
480${K64T16S2}.fth: ${K64T16S2}.dic
481${K64T16S4}.fth: ${K64T16S4}.dic
482
483# Now the xref versions
484${BOOTSTRAPKERNEL}-xref.fth: ${BOOTSTRAPKERNEL}-xref.dic
485${K32T32}-xref.fth: ${K32T32}-xref.dic
486${K32T16S2}-xref.fth: ${K32T16S2}-xref.dic
487${K32T16S4}-xref.fth: ${K32T16S4}-xref.dic
488${K64T32}-xref.fth: ${K64T32}-xref.dic
489${K64T16S2}-xref.fth: ${K64T16S2}-xref.dic
490${K64T16S4}.fth: ${K64T16S4}-xref.dic
491
492clean::
493 ${RM} ${BOOTSTRAPKERNEL}.dic ${BOOTSTRAPKERNEL}.fth
494 ${RM} ${BOOTSTRAPFORTH}.dic ${BOOTSTRAPFORTH}.fth
495 ${RM} ${K32T16S2}.dic ${K32T16S2}.fth
496 ${RM} ${K32T16S4}.dic ${K32T16S4}.fth
497 ${RM} ${K32T32}.dic ${K32T32}.fth
498 ${RM} ${K64T32}.dic ${K64T32}.fth
499 ${RM} ${K64MINI}.dic ${K64MINI}.fth
500 ${RM} ${K64T16S2}.dic ${K64T16S2}.fth
501 ${RM} ${K64T16S4}.dic ${K64T16S4}.fth
502 ${RM} ${BOOTSTRAPKERNEL}-xref.dic ${BOOTSTRAPKERNEL}-xref.fth
503 ${RM} ${BOOTSTRAPFORTH}-xref.dic ${BOOTSTRAPFORTH}-xref.fth
504 ${RM} ${K32T32}-xref.dic ${K32T32}-xref.fth
505 ${RM} ${K32T16S2}-xref.dic ${K32T16S2}-xref.fth
506 ${RM} ${K32T16S4}-xref.dic ${K32T16S4}-xref.fth
507 ${RM} ${K64T32}-xref.dic ${K64T32}-xref.fth
508 ${RM} ${K64MINI}-xref.dic ${K64MINI}-xref.fth
509 ${RM} ${K64T16S2}-xref.dic ${K64T16S2}-xref.fth
510 ${RM} ${K64T16S4}-xref.dic ${K64T16S4}-xref.fth
511 ${RM} ${BOOTSTRAPKERNEL}-xref.dic.idx
512 ${RM} ${BOOTSTRAPFORTH}-xref.dic.idx
513 ${RM} ${K32T32}-xref.dic.idx
514 ${RM} ${K32T16S2}-xref.dic.idx
515 ${RM} ${K32T16S4}-xref.dic.idx
516 ${RM} ${K64T32}-xref.dic.idx
517 ${RM} ${K64MINI}-xref.dic.idx
518 ${RM} ${K64T16S2}-xref.dic.idx
519 ${RM} ${K64T16S4}-xref.dic.idx
520 ${RM} ${BOOTSTRAPKERNEL}.headless.fth
521 ${RM} ${BOOTSTRAPKERNEL}-xref.headless.fth
522 ${RM} ${K32T32}.headless.fth
523 ${RM} ${K32T32}-xref.headless.fth
524 ${RM} ${K32T16S2}.headless.fth
525 ${RM} ${K32T16S2}-xref.headless.fth
526 ${RM} ${K32T16S4}.headless.fth
527 ${RM} ${K32T16S4}-xref.headless.fth
528 ${RM} ${K64T32}.headless.fth
529 ${RM} ${K64T32}-xref.headless.fth
530 ${RM} ${K64MINI}.headless.fth
531 ${RM} ${K64MINI}-xref.headless.fth
532 ${RM} ${K64MINI}-t16.headless.fth
533 ${RM} ${K64MINI}-t16-xref.headless.fth
534 ${RM} ${K64T16S2}.headless.fth
535 ${RM} ${K64T16S2}-xref.headless.fth
536 ${RM} ${K64T16S4}.headless.fth
537 ${RM} ${K64T16S4}-xref.headless.fth