Pristine Ack-5.5
[Ack-5.5.git] / lib / sun3 / descr
1 # $Revision: 1.20 $
2 var w=4
3 var p=4
4 var s=2
5 var l=4
6 var f=4
7 var d=8
8 var NAME=sun
9 var M=m68020
10 var P=sun3
11 var LIB=lib/{P}/tail_
12 var RT=lib/{P}/head_
13 var MLIB=lib/{M}/tail_
14 var CPP_F=-D__unix -D__m68k -D__mc68000 -D__M68020 -D__mc68020 -D__BSD4_2
15 var CC_ALIGN=-Vw4.1 -S9
16 # 413 align is the default, rom in text
17 var ALIGN=-a0:4 -a1:4 -a2:0x20000 -a3:4 -b0:0x2020
18 var C_LIB={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g
19 var OLD_C_LIB={C_LIB}
20 var MACHOPT_F=-ml10
21 name be
22         from .m.g
23         to .s
24         program {EM}/lib.bin/{M}/cg
25         mapflag -gdb GF=-gdb
26         args {GF?} <
27         stdout
28         need .e
29 end
30 name asopt
31         from .s
32         to .so
33         program {EM}/lib.bin/{M}/top
34         args
35         optimizer
36         stdin
37         stdout
38 end
39 name as
40         from .s.so
41         to .o
42         program {EM}/lib.bin/{M}/as
43         args - -o > <
44         prep cond
45 end
46 name led
47         from .o.a
48         to .out
49         program {EM}/lib.bin/em_led
50         mapflag -l* LNAME={EM}/{LIB}*
51         mapflag -n ALIGN=-a0:4 -a1:4 -a2:0x20000 -a3:4 -b0:0x2000
52         mapflag -nr ALIGN=-a0:4 -a1:0x20000 -a2:4 -a3:4 -b0:0x2000
53         mapflag -N ALIGN=-a0:4 -a1:4 -a2:4 -a3:4 -b0:0x2000
54         mapflag -r ALIGN=-a0:4 -a1:0x20000 -a2:4 -a3:4 -b0:0x2020
55         mapflag -fp LIBFP={EM}/{MLIB}fp
56         mapflag -g LIBDB={EM}/{MLIB}db
57         mapflag -ansi C_LIB={EM}/{LIB}ac
58         args {ALIGN} (.e:{HEAD}= {EM}/{RT}em) \
59                 ({RTS}:.ocm.b={EM}/{RT}cc) \
60                 ({RTS}{ANSI?}:.c={EM}/{RT}cc) \
61                 ({RTS}{ANSI?}:.cansi={EM}/{RT}ac) \
62                 ({RTS}:.mod={EM}/{RT}m2) \
63                 ({RTS}:.f={EM}/{RT}ac) \
64                 ({RTS}:.p={EM}/{RT}pc) \
65                 ({RTS}:.cp.8={EM}/{RT}cpc) \
66                 -o > < \
67                 (.8:{TAIL}={EM}/{LIB}a68s) \
68                 (.p:{TAIL}={EM}/{LIB}pc) \
69                 (.cp.8:{TAIL}={EM}/{LIB}cpc) \
70                 (.b:{TAIL}={EM}/{LIB}bc) \
71                 (.ocm:{TAIL}={EM}/{LIB}ocm) \
72                 (.mod:{TAIL}={EM}/{LIB}m2) \
73                 (.f:{TAIL}={EM}/{LIB}f77 {EM}/{LIB}ac) \
74                 (.ocm.b:{TAIL}={OLD_C_LIB}) \
75                 (.c:{TAIL}={C_LIB}) \
76                 {LIBFP?} \
77                 {LIBDB?} \
78                 (.e:{TAIL}={EM}/{MLIB}em {EM}/{LIB}mon {EM}/lib/{M}/end_em)
79         linker
80 end
81 name cv
82         from .out
83         to .cv
84         program {EM}/lib.bin/{P}/cv
85         args < >
86         outfile a.out
87 end