Initial revision
[ssr] / StraySrc / Libraries / Sapphire / sail / Makefile,fe1
1 #
2 # TermScript makefile
3 #
4 # © 1994 Straylight
5 #
6
7 #----- Flag definitions -----------------------------------------------------
8 #
9 # This section only contains common flags -- others (e.g. debugging flags
10 # and predefined macros) are defined in the howto lines.
11
12 linkFlags= -d -o $@ -aif $(linkx)
13 flinkFlags= -bin -base 0 -o $@ $(linkx)
14 objFlags= -g -stamp -throwback -depend !Depend -quit $(objx)
15
16 #----- Member list ----------------------------------------------------------
17 #
18 # Because this list is used in a few of the targets below, it is defined as
19 # a macro here for changability.
20
21 members= @.o.var \
22 @.o.tree \
23 @.o.tokenise \
24 @.o.termite \
25 @.o.termScript \
26 @.o.strBucket \
27 @.o.stracc \
28 @.o.interp \
29 @.o.getToken \
30 @.o.express \
31 @.o.error \
32 @.o.divide \
33 @.o.ctrl \
34
35 testMembers= $(members) \
36 @.o.mem \
37 @.o.driver
38
39 realMembers= $(members) \
40 @.o.mem_real
41
42 libs= libs:o.rdump
43
44 #----- Making the library ---------------------------------------------------
45 #
46 # For brevity's sake, this is done using implicit dependencies.
47
48 .SUFFIXES: .o .s
49 .s.o:; objasm $(objFlags) -from $< -to $@
50
51 all: @.termScript
52
53 sh.tokens: tableGen
54 here:tableGen
55
56 sh.errTable: errGen
57 here:errGen
58
59 @.termScript: $(testMembers) $(libs)
60 setdate o.version \
61 version="1.00 (%zdy %mo %ce%yr)" \
62 cright="Straylight"
63 /link $(linkFlags) $(testMembers) $(libs) @.o.version
64
65 @.tScript: $(realMembers) $(libs)
66 setdate o.version \
67 version="1.00 (%zdy %mo %ce%yr)" \
68 cright="Straylight"
69 /link -base 0 -bin -o $@ $(realMembers) $(libs) @.o.version
70 settype $@ ffd
71 # codescr -util $@
72
73 #----- Other targets --------------------------------------------------------
74 #
75 # The targets available are:
76 #
77 # Target Meaning
78 #
79 # relink Force a relink of the executable.
80 # remake Force a complete remake of the entire project.
81
82 recreate:; remove @.!RunImage
83 @amu all ccx=$(ccx) linkx=$(linkx) objx=$(objx)
84
85 remake:; create @.o.dummy
86 wipe @.o.* ~c~v~r~f
87 @amu all ccx=$(ccx) linkx=$(linkx) objx=$(objx)
88
89 #----- Dynamic dependencies -------------------------------------------------
90 #
91 # The following are set up by compilers/assemblers and added to the Makefile
92 # autoamtically. For this to work, amu requires that the following active
93 # comment is inserted in the makefile:
94 #
95 # Dynamic dependencies:
96 o.mem: s.mem
97 o.mem: libs:header
98 o.mem: libs:swis
99 o.mem: libs:stream
100 o.mem: sh.errNum
101 o.mem: sh.error
102 o.mem_real: s.mem_real
103 o.mem_real: libs:header
104 o.mem_real: libs:swis
105 o.mem_real: libs:stream
106 o.mem_real: sh.errNum
107 o.mem_real: sh.error
108 o.divide: s.divide
109 o.divide: libs:header
110 o.divide: libs:swis
111 o.var: s.var
112 o.var: libs:header
113 o.var: libs:swis
114 o.var: libs:stream
115 o.var: sh.anchor
116 o.var: sh.errNum
117 o.var: sh.error
118 o.var: sh.tree
119 o.tree: s.tree
120 o.tree: libs:header
121 o.tree: libs:swis
122 o.tree: libs:stream
123 o.tree: sh.anchor
124 o.tree: sh.mem
125 o.termScript: s.termScript
126 o.termScript: libs:header
127 o.termScript: libs:swis
128 o.termScript: libs:stream
129 o.termScript: sh.anchor
130 o.termScript: sh.ctrl
131 o.termScript: sh.interp
132 o.termScript: sh.mem
133 o.termScript: sh.strBucket
134 o.termScript: sh.termite
135 o.termScript: sh.tree
136 o.termScript: sh.tokenise
137 o.termScript: sh.var
138 o.strBucket: s.strBucket
139 o.strBucket: libs:header
140 o.strBucket: libs:swis
141 o.strBucket: libs:stream
142 o.strBucket: sh.anchor
143 o.strBucket: sh.mem
144 o.error: s.error
145 o.error: libs:header
146 o.error: libs:swis
147 o.error: libs:stream
148 o.error: sh.anchor
149 o.error: sh.termScript
150 o.error: sh.errTable
151 o.error: sh.errTable
152 o.tokenise: s.tokenise
153 o.tokenise: libs:header
154 o.tokenise: libs:swis
155 o.tokenise: libs:stream
156 o.tokenise: sh.anchor
157 o.tokenise: sh.tokens
158 o.tokenise: sh.var
159 o.tokenise: sh.tokTable
160 o.interp: s.interp
161 o.interp: libs:header
162 o.interp: libs:swis
163 o.interp: libs:stream
164 o.interp: sh.anchor
165 o.interp: sh.ctrl
166 o.interp: sh.errNum
167 o.interp: sh.error
168 o.interp: sh.express
169 o.interp: sh.getToken
170 o.interp: sh.termite
171 o.interp: sh.termScript
172 o.interp: sh.tokens
173 o.interp: sh.upcalls
174 o.getToken: s.getToken
175 o.getToken: libs:header
176 o.getToken: libs:swis
177 o.getToken: libs:stream
178 o.getToken: sh.anchor
179 o.getToken: sh.tokClasses
180 o.express: s.express
181 o.express: libs:header
182 o.express: libs:swis
183 o.express: libs:stream
184 o.express: sh.anchor
185 o.express: sh.ctrl
186 o.express: sh.divide
187 o.express: sh.errNum
188 o.express: sh.error
189 o.express: sh.getToken
190 o.express: sh.stracc
191 o.express: sh.termite
192 o.express: sh.termScript
193 o.express: sh.tokenise
194 o.express: sh.tokens
195 o.express: sh.upcalls
196 o.express: sh.mem
197 o.express: sh.var
198 o.driver: s.driver
199 o.driver: libs:header
200 o.driver: libs:swis
201 o.driver: libs:stream
202 o.stracc: s.stracc
203 o.stracc: libs:header
204 o.stracc: libs:swis
205 o.stracc: libs:stream
206 o.stracc: sh.anchor
207 o.stracc: sh.mem
208 o.termite: s.termite
209 o.termite: libs:header
210 o.termite: libs:swis
211 o.termite: libs:stream
212 o.termite: sh.anchor
213 o.termite: sh.ctrl
214 o.termite: sh.errNum
215 o.termite: sh.error
216 o.termite: sh.express
217 o.termite: sh.getToken
218 o.termite: sh.interp
219 o.termite: sh.stracc
220 o.termite: sh.strBucket
221 o.termite: sh.termscript
222 o.termite: sh.tokens
223 o.termite: sh.upcalls
224 o.termite: sh.var
225 o.ctrl: s.ctrl
226 o.ctrl: libs:header
227 o.ctrl: libs:swis
228 o.ctrl: libs:stream
229 o.ctrl: sh.anchor
230 o.ctrl: sh.divide
231 o.ctrl: sh.errNum
232 o.ctrl: sh.error
233 o.ctrl: sh.express
234 o.ctrl: sh.getToken
235 o.ctrl: sh.interp
236 o.ctrl: sh.mem
237 o.ctrl: sh.stracc
238 o.ctrl: sh.strBucket
239 o.ctrl: sh.termite
240 o.ctrl: sh.termscript
241 o.ctrl: sh.tokens
242 o.ctrl: sh.tree
243 o.ctrl: sh.var