Pristine Ack-5.5
[Ack-5.5.git] / lib / mantra / descr
1 # $Revision: 1.18 $
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=m68k4
9 var M=m68k4
10 var MLIB=lib/{M}/tail_
11 var LIB=lib/mantra/tail_
12 var RT=lib/mantra/head_
13 var CPP_F=-D__unix -D__USG -D__mc68000 -D__m68k
14 var C_LIB={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g
15 var OLD_C_LIB={C_LIB}
16 var MACHOPT_F=-ml10
17 # 407 align is the default
18 var ALIGN=-a0:4 -a1:4 -a2:4 -a3:4
19 name be
20         from .m.g
21         to .s
22         program {EM}/lib.bin/{M}/cg
23         mapflag -gdb GF=-gdb
24         args {GF?} <
25         stdout
26         need .e
27 end
28 name asopt
29         from .s
30         to .so
31         program {EM}/lib.bin/m68k2/top
32         args
33         optimizer
34         stdin
35         stdout
36 end
37 name as
38         from .s.so
39         to .o
40         program {EM}/lib.bin/m68k2/as
41         args - -o > <
42         prep cond
43 end
44 name led
45         from .o.a
46         to .out
47         program {EM}/lib.bin/em_led
48         mapflag -l* LNAME={EM}/{LIB}*
49         mapflag -i ALIGN=-a0:4 -a1:4 -a2:0x8000 -a3:4
50         mapflag -n ALIGN=-a0:4 -a1:4 -a2:0x8000 -a3:4
51         mapflag -nr ALIGN=-a0:4 -a1:0x8000 -a2:4 -a3:4
52         mapflag -fp LIBFP={EM}/{MLIB}fp
53         mapflag -ansi C_LIB={EM}/{LIB}ac
54         args -b0:0x80000 {ALIGN} (.e:{HEAD}={EM}/{RT}em) \
55                 ({RTS}:.ocm.b={EM}/{RT}cc) \
56                 ({RTS}{ANSI?}:.c={EM}/{RT}cc) \
57                 ({RTS}{ANSI?}:.cansi={EM}/{RT}ac) \
58                 ({RTS}:.mod={EM}/{RT}m2) \
59                 ({RTS}:.f={EM}/{RT}ac) \
60                 ({RTS}:.p={EM}/{RT}pc) \
61                 -o > < \
62                 (.p:{TAIL}={EM}/{LIB}pc) \
63                 (.b:{TAIL}={EM}/{LIB}bc) \
64                 (.mod:{TAIL}={EM}/{LIB}m2) \
65                 (.f:{TAIL}={EM}/{LIB}f77 {EM}/{LIB}ac) \
66                 (.ocm:{TAIL}={EM}/{LIB}ocm) \
67                 (.ocm.b:{TAIL}={OLD_C_LIB}) \
68                 (.c:{TAIL}={C_LIB}) \
69                 {LIBFP?} \
70                 (.e:{TAIL}={EM}/{MLIB}em {EM}/{LIB}mon {EM}/lib/{M}/end_em)
71         linker
72 end
73 name cv
74         from .out
75         to .cv
76         program {EM}/lib.bin/mantra/cv
77         args < >
78         outfile a.out
79 end