chiark / gitweb /
Create readable text `.bas' for each tokenized BASIC `,ffb' file.
[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