2 LIBSROOT
= $.AcornC_C
++.Libraries
4 # You may need to change some of the following
5 OSLIB
= $(LIBSROOT
).OSLib
6 CLIB
= $(LIBSROOT
).clib
7 SOCKLIB
= $(LIBSROOT
).netlib
8 DLKLIB
= $(LIBSROOT
).dlk
9 ZLIB
= $(LIBSROOT
).zlib
10 EXPAT
= $(LIBSROOT
).expat.lib
12 OBJSCAN
= $(DLKLIB
).objscan
13 MAKEDLK
= $(DLKLIB
).makedlk
15 # change from time to time (don't forget to change !Boot also)
21 # You shouldn't need to change anything below this line
23 OSLIBS
= OSLib
:Computer
,OSLib
:Core
,OSLib
:User
26 DLKOBJS
= $(DLKLIB
).o.dlk_load @.o.linktab
28 HEADERS
= @
,@.^.Include
,@.^.Modules
,@.^.Objects
,@.^.Python
,$(CLIB
),$(OSLIBS
),$(DLKLIB
)
30 CC
= cc -c
-j
$(HEADERS
) $(DLKFLAG
) -DRISCOS
-DHAVE_CONFIG_H
-wad
-throwback
32 CCEXPAT
= cc -c
-j
$(HEADERS
),$(EXPAT
) $(DLKFLAG
) -DHAVE_EXPAT_H
-DRISCOS
-DHAVE_CONFIG_H
-wad
-throwback
35 LINKFLAGS
= -aif
#-NOUNUSED #-d
36 LOADLIBS
= $(CLIB
).o.Stubs
$(OSLIB
).o.OSLib
$(DLKOBJS
)
43 # code for main Python binary
48 @.^.Modules.o.getbuildinfo\
49 Modules.o.getpath_riscos\
50 Modules.o.riscosmodule
60 @.^.Lib.cStringIO
/pyd\
82 @.^.Lib._testcapi
/pyd\
83 @.^.Lib.unicodedata
/pyd\
84 @.^.Lib.xreadlines
/pyd\
86 @.^.Lib.plat-riscos.drawf
/pyd\
87 @.^.Lib.plat-riscos.swi
/pyd\
92 @.^.Python.o.traceback\
93 @.^.Python.o.sysmodule\
94 @.^.Python.o.structmember\
96 @.^.Python.o.sigcheck\
97 @.^.Python.o.pythonrun\
100 @.^.Python.o.mystrtoul\
101 @.^.Python.o.modsupport\
102 @.^.Python.o.marshal\
103 @.^.Python.o.importdl\
105 @.^.Python.o.graminit\
106 @.^.Python.o.getversion\
107 @.^.Python.o.getplatform\
109 @.^.Python.o.getcopyright\
110 @.^.Python.o.getcompiler\
111 @.^.Python.o.getargs\
112 @.^.Python.o.frozenmain\
115 @.^.Python.o.compile\
117 @.^.Python.o.bltinmodule\
118 @.^.Python.o.exceptions\
121 @.^.Python.o.symtable\
126 @.Python.o.dynload_riscos\
127 @.Python.o.getcwd_riscos\
128 @.Python.o.getmtime_riscos\
133 @.^.Objects.o.typeobject\
134 @.^.Objects.o.tupleobject\
135 @.^.Objects.o.stringobject\
136 @.^.Objects.o.sliceobject\
137 @.^.Objects.o.rangeobject\
138 @.^.Objects.o.object\
139 @.^.Objects.o.moduleobject\
140 @.^.Objects.o.methodobject\
141 @.^.Objects.o.longobject\
142 @.^.Objects.o.listobject\
143 @.^.Objects.o.intobject\
144 @.^.Objects.o.funcobject\
145 @.^.Objects.o.frameobject\
146 @.^.Objects.o.floatobject\
147 @.^.Objects.o.fileobject\
148 @.^.Objects.o.dictobject\
149 @.^.Objects.o.complexobject\
150 @.^.Objects.o.cobject\
151 @.^.Objects.o.classobject\
152 @.^.Objects.o.cellobject\
153 @.^.Objects.o.bufferobject\
154 @.^.Objects.o.abstract\
155 @.^.Objects.o.unicodectype\
156 @.^.Objects.o.unicodeobject
160 @.^.Parser.o.tokenizer\
161 @.^.Parser.o.printgrammar\
162 @.^.Parser.o.parsetok\
165 @.^.Parser.o.myreadline\
166 @.^.Parser.o.metagrammar\
167 @.^.Parser.o.listnode\
168 @.^.Parser.o.intrcheck\
169 @.^.Parser.o.grammar1\
170 @.^.Parser.o.grammar\
171 @.^.Parser.o.firstsets\
175 SUPPORT_FILES
= @.^.
!Boot @.^.
!Run @.^.
!Sprites @.^.
!Sprites22 @.^.AddToPath
177 OBJECTS
= $(OBJECTS_PYTHON
) $(OBJECTS_PARSER
) $(MODULES_STATIC
) $(OBJECTS_OBJECTS
) $(OBJECTS_RISCOS
)
180 all: @.^.
$(TARGET
) $(MODULES_DYNAMIC
) $(SUPPORT_FILES
)
182 @.^.Modules.o.getbuildinfo
: @.^.Modules.c.getbuildinfo
183 $(CC
) -DBUILD
=$(BUILD
) -o @.^.Modules.o.getbuildinfo @.^.Modules.c.getbuildinfo
186 @.^.
$(TARGET
): $(OBJECTS
) o.linktab
187 $(LINK
) -o @.^.
$(TARGET
) $(OBJECTS
) $(LOADLIBS
)
190 #########################################################################
191 # RISC OS support files
193 @.^.
!Boot
: support.
!Boot
194 copy support.
!Boot @.^.
!Boot ~C~VF
195 settype @.^.
!Boot feb
196 @.^.
!Run
: support.
!Run
197 copy support.
!Run @.^.
!Run ~C~VF
199 @.^.
!Sprites
: support.
!Sprites
200 copy support.
!Sprites @.^.
!Sprites ~C~VF
201 settype @.^.
!Sprites ff9
202 @.^.
!Sprites22
: support.
!Sprites22
203 copy support.
!Sprites22 @.^.
!Sprites22 ~C~VF
204 settype @.^.
!Sprites22 ff9
205 @.^.AddToPath
: support.AddToPath
206 copy support.AddToPath @.^.AddToPath ~C~VF
207 settype @.^.AddToPath ffc
210 #########################################################################
213 @.^.Lib.array
/pyd
: @.^.Modules.o.arraymodule s.linktab
214 $(MAKEDLK
) -d @.^.Lib.array
/pyd
-s s.linktab
-o @.^.Modules.o.arraymodule
-e initarray
216 @.^.Lib.audioop
/pyd
: @.^.Modules.o.audioop
# s.linktab
217 $(MAKEDLK
) -d @.^.Lib.audioop
/pyd
-s s.linktab
-o @.^.Modules.o.audioop
-e initaudioop
219 @.^.Lib.binascii
/pyd
: @.^.Modules.o.binascii s.linktab
220 $(MAKEDLK
) -d @.^.Lib.binascii
/pyd
-s s.linktab
-o @.^.Modules.o.binascii
-e initbinascii
222 @.^.Lib.cmath
/pyd
: @.^.Modules.o.cmathmodule s.linktab
223 $(MAKEDLK
) -d @.^.Lib.cmath
/pyd
-s s.linktab
-o @.^.Modules.o.cmathmodule
-e initcmath
225 @.^.Lib.cPickle
/pyd
: @.^.Modules.o.cPickle s.linktab
226 $(MAKEDLK
) -d @.^.Lib.cPickle
/pyd
-s s.linktab
-o @.^.Modules.o.cPickle
-e initcPickle
228 @.^.Lib.cStringIO
/pyd
: @.^.Modules.o.cStringIO s.linktab
229 $(MAKEDLK
) -d @.^.Lib.cStringIO
/pyd
-s s.linktab
-o @.^.Modules.o.cStringIO
-e initcStringIO
231 @.^.Lib.plat-riscos.drawf
/pyd
: Modules.o.drawfmodule
#s.linktab
232 $(LINK
) -aof
-o Modules.o.drawflink Modules.o.drawfmodule
$(OSLIB
).o.OSLIB
233 $(MAKEDLK
) -d @.^.Lib.plat-riscos.drawf
/pyd
-s s.linktab
-o Modules.o.drawflink
-e initdrawf
235 @.^.Lib.errno
/pyd
: @.^.Modules.o.errnomodule
#s.linktab
236 $(MAKEDLK
) -d @.^.Lib.errno
/pyd
-s s.linktab
-o @.^.Modules.o.errnomodule
-e initerrno
238 @.^.Lib.imageop
/pyd
: @.^.Modules.o.imageop s.linktab
239 $(MAKEDLK
) -d @.^.Lib.imageop
/pyd
-s s.linktab
-o @.^.Modules.o.imageop
-e initimageop
241 @.^.Lib.math
/pyd
: @.^.Modules.o.mathmodule s.linktab
242 $(MAKEDLK
) -d @.^.Lib.math
/pyd
-s s.linktab
-o @.^.Modules.o.mathmodule
-e initmath
244 @.^.Lib.mmap
/pyd
: @.^.Modules.o.mmapmodule s.linktab
245 $(MAKEDLK
) -d @.^.Lib.mmap
/pyd
-s s.linktab
-o @.^.Modules.o.mmapmodule
-e initmmap
247 @.^.Lib.md5
/pyd
: @.^.Modules.o.md5c @.^.Modules.o.md5module s.linktab
248 $(LINK
) -aof
-o @.^.Modules.o.md5link @.^.Modules.o.md5c @.^.Modules.o.md5module
249 $(MAKEDLK
) -d @.^.Lib.md5
/pyd
-s s.linktab
-o @.^.Modules.o.md5link
-e initmd5
251 @.^.Lib.new
/pyd
: @.^.Modules.o.newmodule s.linktab
252 $(MAKEDLK
) -d @.^.Lib.new
/pyd
-s s.linktab
-o @.^.Modules.o.newmodule
-e initnew
254 @.^.Lib.operator
/pyd
: @.^.Modules.o.operator s.linktab
255 $(MAKEDLK
) -d @.^.Lib.operator
/pyd
-s s.linktab
-o @.^.Modules.o.operator
-e initoperator
257 @.^.Lib.parser
/pyd
: @.^.Modules.o.parsermodule s.linktab
258 $(MAKEDLK
) -d @.^.Lib.parser
/pyd
-s s.linktab
-o @.^.Modules.o.parsermodule
-e initparser
260 @.^.Lib.pcre
/pyd
: @.^.Modules.o.pcremodule @.^.Modules.o.pypcre s.linktab
261 $(LINK
) -aof
-o @.^.Modules.o.pcrelink @.^.Modules.o.pcremodule @.^.Modules.o.pypcre
262 $(MAKEDLK
) -d @.^.Lib.pcre
/pyd
-s s.linktab
-o @.^.Modules.o.pcrelink
-e initpcre
264 @.^.Lib.regex
/pyd
: @.^.Modules.o.regexmodule @.^.Modules.o.regexpr s.linktab
265 $(LINK
) -aof
-o @.^.Modules.o.regexlink @.^.Modules.o.regexmodule @.^.Modules.o.regexpr
266 $(MAKEDLK
) -d @.^.Lib.regex
/pyd
-s s.linktab
-o @.^.Modules.o.regexlink
-e initregex
268 @.^.Lib.rgbimg
/pyd
: @.^.Modules.o.rgbimgmodule s.linktab
269 $(MAKEDLK
) -d @.^.Lib.rgbimg
/pyd
-s s.linktab
-o @.^.Modules.o.rgbimgmodule
-e initrgbimg
271 @.^.Lib.rotor
/pyd
: @.^.Modules.o.rotormodule s.linktab
272 $(MAKEDLK
) -d @.^.Lib.rotor
/pyd
-s s.linktab
-o @.^.Modules.o.rotormodule
-e initrotor
274 @.^.Lib.sha
/pyd
: @.^.Modules.o.shamodule s.linktab
275 $(MAKEDLK
) -d @.^.Lib.sha
/pyd
-s s.linktab
-o @.^.Modules.o.shamodule
-e initsha
277 @.^.Lib.signal
/pyd
: @.^.Modules.o.signalmodule s.linktab
278 $(MAKEDLK
) -d @.^.Lib.signal
/pyd
-s s.linktab
-o @.^.Modules.o.signalmodule
-e initsignal
280 #@.^.Lib.soundex/pyd: @.^.Modules.o.soundex s.linktab
281 # $(MAKEDLK) -d @.^.Lib.soundex/pyd -s s.linktab -o @.^.Modules.o.soundex -e initsoundex
283 @.^.Lib.strop
/pyd
: @.^.Modules.o.stropmodule s.linktab
284 $(MAKEDLK
) -d @.^.Lib.strop
/pyd
-s s.linktab
-o @.^.Modules.o.stropmodule
-e initstrop
286 @.^.Lib.struct
/pyd
: @.^.Modules.o.structmodule s.linktab
287 $(MAKEDLK
) -d @.^.Lib.struct
/pyd
-s s.linktab
-o @.^.Modules.o.structmodule
-e initstruct
289 @.^.Lib.plat-riscos.swi
/pyd
: Modules.o.swimodule s.linktab
290 $(LINK
) -aof
-o Modules.o.swilink Modules.o.swimodule
$(OSLIB
).o.OSLIB
291 $(MAKEDLK
) -d @.^.Lib.plat-riscos.swi
/pyd
-s s.linktab
-o Modules.o.swilink
-e initswi
293 @.^.Lib._locale
/pyd
: @.^.Modules.o._localemodule s.linktab
294 $(MAKEDLK
) -d @.^.Lib._locale
/pyd
-s s.linktab
-o @.^.Modules.o._localemodule
-e init_locale
296 @.^.Lib._sre
/pyd
: @.^.Modules.o._sre s.linktab
297 $(MAKEDLK
) -d @.^.Lib._sre
/pyd
-s s.linktab
-o @.^.Modules.o._sre
-e init_sre
299 @.^.Lib._codecs
/pyd
: @.^.Modules.o._codecsmodule s.linktab
300 $(MAKEDLK
) -d @.^.Lib._codecs
/pyd
-s s.linktab
-o @.^.Modules.o._codecsmodule
-e init_codecs
302 @.^.Lib._weakref
/pyd
: @.^.Modules.o._weakref s.linktab
303 $(MAKEDLK
) -d @.^.Lib._weakref
/pyd
-s s.linktab
-o @.^.Modules.o._weakref
-e init_weakref
305 @.^.Lib._testcapi
/pyd
: @.^.Modules.o._testcapimodule s.linktab
306 $(MAKEDLK
) -d @.^.Lib._testcapi
/pyd
-s s.linktab
-o @.^.Modules.o._testcapimodule
-e init_testcapi
308 @.^.Lib.unicodedata
/pyd
: @.^.Modules.o.unicodedata s.linktab
309 $(MAKEDLK
) -d @.^.Lib.unicodedata
/pyd
-s s.linktab
-o @.^.Modules.o.unicodedata
-e initunicodedata
311 @.^.Lib.xreadlines
/pyd
: @.^.Modules.o.xreadlinesmodule s.linktab
312 $(MAKEDLK
) -d @.^.Lib.xreadlines
/pyd
-s s.linktab
-o @.^.Modules.o.xreadlinesmodule
-e initxreadlines
316 ############################################################################
317 # Dynamic Modules with other dependencies
319 @.^.Lib.select
/pyd
: @.^.Modules.o.selectmodule s.linktab
320 $(LINK
) -aof
-o @.^.Modules.o.selectlink @.^.Modules.o.selectmodule
$(SOCKLIB
).o.socklib
321 $(MAKEDLK
) -d @.^.Lib.select
/pyd
-s s.linktab
-o @.^.Modules.o.selectlink
-e initselect
323 @.^.Modules.o.selectmodule
: @.^.Modules.c.selectmodule
324 $(CC
) -I
$(SOCKLIB
).
include -o
$@ @.^.Modules.c.selectmodule
326 @.^.Lib._socket
/pyd
: @.^.Modules.o.socketmodule s.linktab
327 $(LINK
) -aof
-o @.^.Modules.o._socketlink @.^.Modules.o.socketmodule
$(SOCKLIB
).o.inetlib
$(SOCKLIB
).o.unixlib
$(SOCKLIB
).o.socklib
328 $(MAKEDLK
) -d @.^.Lib._socket
/pyd
-s s.linktab
-o @.^.Modules.o._socketlink
-e init_socket
330 @.^.Modules.o.socketmodule
: @.^.Modules.c.socketmodule
331 $(CC
) -I
$(SOCKLIB
).
include -o
$@ @.^.Modules.c.socketmodule
334 @.^.Lib.zlib
/pyd
: @.^.Modules.o.zlibmodule s.linktab
335 $(LINK
) -aof
-o @.^.Modules.o.zliblink @.^.Modules.o.zlibmodule
$(ZLIB
).zlib_lib
336 $(MAKEDLK
) -d @.^.Lib.zlib
/pyd
-s s.linktab
-o @.^.Modules.o.zliblink
-e initzlib
338 @.^.Modules.o.zlibmodule
: @.^.Modules.c.zlibmodule
339 $(CC
) -I
$(ZLIB
) -o
$@ @.^.Modules.c.zlibmodule
342 @.^.Lib.time
/pyd
: @.^.Modules.o.timemodule s.linktab @.o.sleep
343 $(LINK
) -aof
-o @.^.Modules.o.timelink @.^.Modules.o.timemodule @.o.sleep
$(OSLIB
).o.OSLib
344 $(MAKEDLK
) -d @.^.Lib.time
/pyd
-s s.linktab
-o @.^.Modules.o.timelink
-e inittime
347 @.^.Lib.pyexpat
/pyd
: @.^.Modules.o.pyexpat s.linktab
348 $(LINK
) -aof
-o @.^.Modules.o.pyexpatlink @.^.Modules.o.pyexpat
$(EXPAT
).expat_lib
349 $(MAKEDLK
) -d @.^.Lib.pyexpat
/pyd
-s s.linktab
-o @.^.Modules.o.pyexpatlink
-e initpyexpat
351 @.^.Modules.o.pyexpat
: @.^.Modules.c.pyexpat
352 $(CCEXPAT
) -o
$@ @.^.Modules.c.pyexpat
355 ##########################################################################
356 # dynamic linking symbol table
359 ObjAsm s.linktab o.linktab
361 s.linktab
: $(OBJECTS
)
362 $(OBJSCAN
) -s s.linktab
-o
$(OBJECTS
) $(clib
).o.stubs
364 ##########################################################################
368 create @.^.Lib.dummy
/pyc
369 create @.^.Lib.dummy
/pyo
370 create @.^.Lib.plat-riscos.dummy
/pyc
371 create @.^.Lib.plat-riscos.dummy
/pyo
372 create @.^.Lib.
test.dummy
/pyc
373 create @.^.Lib.
test.dummy
/pyo
374 wipe @.^.Lib.
*/pyc ~C~V
375 wipe @.^.Lib.
*/pyo ~C~V
376 wipe @.^.Lib.plat-riscos.
*/pyc ~C~V
377 wipe @.^.Lib.plat-riscos.
*/pyo ~C~V
378 wipe @.^.Lib.
test.
*/pyc ~C~V
379 wipe @.^.Lib.
test.
*/pyo ~C~V
382 create @.^.Objects.o.dummy
383 create @.^.Parser.o.dummy
384 create @.^.Modules.o.dummy
386 create @.^.Python.o.dummy
387 wipe @.^.Modules.o.
* ~C ~V
388 wipe @.^.Objects.o.
* ~C ~V
389 wipe @.^.Parser.o.
* ~C ~V
390 wipe @.^.Python.o.
* ~C ~V
394 create @.^.Lib.dummy
/pyd
396 create @.^.Lib.plat-riscos.dummy
/pyd
399 wipe @.^.
$(TARGET
) ~C~V
400 wipe @.^.Lib.
*/pyd ~C ~V
401 wipe @.^.Lib.plat-riscos.
*/pyd ~C~V
416 # Dynamic dependencies: