2
LIBSROOT = $.AcornC_C++.Libraries
4
# You may need to change some of the following
5
OSLIB = $(LIBSROOT).OSLib
6
CLIB = $(LIBSROOT).clib
7
TCPIPLIB = $(LIBSROOT).TCPIPLibs
8
DLKLIB = $(LIBSROOT).dlk
9
ZLIB = $(LIBSROOT).zlib
10
BZLIB = $(LIBSROOT).bzlib
11
EXPAT = $(LIBSROOT).expat.lib
13
OBJSCAN = $(DLKLIB).objscan
14
MAKEDLK = $(DLKLIB).makedlk
16
# change from time to time (don't forget to change !Boot also)
22
# You shouldn't need to change anything below this line
25
DLKOBJS = $(DLKLIB).o.dlk_load @.o.linktab
27
HEADERS = @,$(TCPIPLIB),@.^.Include,@.^.Modules,@.^.Objects,@.^.Python,$(CLIB),$(OSLIB),$(DLKLIB)
29
CFLAGS = -c $(DLKFLAG) -DRISCOS -DHAVE_CONFIG_H -wadP -throwback -APCS 3/32bit/fpe3
31
CC = cc $(CFLAGS) -j$(HEADERS)
32
CCEXPAT = cc $(CFLAGS) -j$(HEADERS),$(EXPAT) -DHAVE_EXPAT_H
35
LINKFLAGS = -aif #-NOUNUSED #-d
36
LOADLIBS = $(TCPIPLIB).o.unixlib $(TCPIPLIB).o.inetlib $(TCPIPLIB).o.socklib $(CLIB).o.Stubs $(OSLIB).o.OSLib32 $(DLKOBJS)
50
# code for main Python binary
54
@.^.Modules.o.getbuildinfo\
55
@.Modules.o.getpath_riscos\
56
@.Modules.o.riscosmodule\
57
@.^.Modules.o.gcmodule
68
@.^.Lib.cStringIO/pyd\
72
@.^.Lib.itertools/pyd\
88
@.^.Lib._testcapi/pyd\
89
@.^.Lib.unicodedata/pyd\
91
@.^.Lib.plat-riscos.drawf/pyd\
92
@.^.Lib.plat-riscos.swi/pyd\
94
@.^.Lib.xxsubtype/pyd\
95
@.^.Lib._symtable/pyd\
97
@.^.Lib.zipimport/pyd\
102
@.^.Python.o.traceback\
103
@.^.Python.o.sysmodule\
104
@.^.Python.o.structmember\
106
@.^.Python.o.sigcheck\
107
@.^.Python.o.pythonrun\
108
@.^.Python.o.pystate\
110
@.^.Python.o.mystrtoul\
111
@.^.Python.o.mysnprintf\
112
@.^.Python.o.modsupport\
113
@.^.Python.o.marshal\
114
@.^.Python.o.importdl\
116
@.^.Python.o.graminit\
117
@.^.Python.o.getversion\
118
@.^.Python.o.getplatform\
120
@.^.Python.o.getcopyright\
121
@.^.Python.o.getcompiler\
122
@.^.Python.o.getargs\
123
@.^.Python.o.frozenmain\
126
@.^.Python.o.compile\
128
@.^.Python.o.bltinmodule\
129
@.^.Python.o.exceptions\
131
@.^.Python.o.symtable\
136
@.Python.o.dynload_riscos\
137
@.Python.o.getcwd_riscos\
138
@.Python.o.getmtime_riscos\
143
@.^.Objects.o.typeobject\
144
@.^.Objects.o.tupleobject\
145
@.^.Objects.o.stringobject\
146
@.^.Objects.o.sliceobject\
147
@.^.Objects.o.rangeobject\
148
@.^.Objects.o.object\
149
@.^.Objects.o.obmalloc\
150
@.^.Objects.o.moduleobject\
151
@.^.Objects.o.methodobject\
152
@.^.Objects.o.longobject\
153
@.^.Objects.o.listobject\
154
@.^.Objects.o.intobject\
155
@.^.Objects.o.boolobject\
156
@.^.Objects.o.iterobject\
157
@.^.Objects.o.funcobject\
158
@.^.Objects.o.frameobject\
159
@.^.Objects.o.floatobject\
160
@.^.Objects.o.fileobject\
161
@.^.Objects.o.enumobject\
162
@.^.Objects.o.dictobject\
163
@.^.Objects.o.complexobject\
164
@.^.Objects.o.cobject\
165
@.^.Objects.o.classobject\
166
@.^.Objects.o.cellobject\
167
@.^.Objects.o.bufferobject\
168
@.^.Objects.o.abstract\
169
@.^.Objects.o.unicodectype\
170
@.^.Objects.o.unicodeobject\
171
@.^.Objects.o.descrobject\
172
@.^.Objects.o.weakrefobject\
173
@.^.Objects.o.structseq
177
@.^.Parser.o.tokenizer\
178
@.^.Parser.o.printgrammar\
179
@.^.Parser.o.parsetok\
182
@.^.Parser.o.myreadline\
183
@.^.Parser.o.metagrammar\
184
@.^.Parser.o.listnode\
185
@.^.Parser.o.intrcheck\
186
@.^.Parser.o.grammar1\
187
@.^.Parser.o.grammar\
188
@.^.Parser.o.firstsets\
192
SUPPORT_FILES = @.^.!Boot @.^.!Run @.^.!Sprites @.^.!Sprites22 @.^.AddToPath
194
OBJECTS = $(OBJECTS_PYTHON) $(OBJECTS_PARSER) $(MODULES_STATIC) $(OBJECTS_OBJECTS) $(OBJECTS_RISCOS)
197
all: @.^.$(TARGET) $(MODULES_DYNAMIC) $(SUPPORT_FILES)
199
@.^.Modules.o.getbuildinfo: @.^.Modules.c.getbuildinfo
200
$(CC) -DBUILD=$(BUILD) -o @.^.Modules.o.getbuildinfo @.^.Modules.c.getbuildinfo
203
$(LIB_PYTHON): $(OBJECTS)
204
$(LIBFILE) $(LIB_PYTHON) $(OBJECTS)
206
@.^.$(TARGET): o.linktab $(MAIN_PYTHON) $(LIB_PYTHON)
207
$(LINK) -o @.^.$(TARGET) $(MAIN_PYTHON) @.^.LibPython $(LOADLIBS)
210
#########################################################################
211
# RISC OS support files
213
@.^.!Boot: support.!Boot
214
copy support.!Boot @.^.!Boot ~C~VF
215
settype @.^.!Boot feb
216
@.^.!Run: support.!Run
217
copy support.!Run @.^.!Run ~C~VF
219
@.^.!Sprites: support.!Sprites
220
copy support.!Sprites @.^.!Sprites ~C~VF
221
settype @.^.!Sprites ff9
222
@.^.!Sprites22: support.!Sprites22
223
copy support.!Sprites22 @.^.!Sprites22 ~C~VF
224
settype @.^.!Sprites22 ff9
225
@.^.AddToPath: support.AddToPath
226
copy support.AddToPath @.^.AddToPath ~C~VF
227
settype @.^.AddToPath ffc
230
#########################################################################
233
@.^.Lib.array/pyd: @.^.Modules.o.arraymodule s.linktab
234
$(MAKEDLK) -d @.^.Lib.array/pyd -s s.linktab -o @.^.Modules.o.arraymodule -e initarray
236
@.^.Lib.audioop/pyd: @.^.Modules.o.audioop # s.linktab
237
$(MAKEDLK) -d @.^.Lib.audioop/pyd -s s.linktab -o @.^.Modules.o.audioop -e initaudioop
239
@.^.Lib.binascii/pyd: @.^.Modules.o.binascii s.linktab
240
$(MAKEDLK) -d @.^.Lib.binascii/pyd -s s.linktab -o @.^.Modules.o.binascii -e initbinascii
242
@.^.Lib.cmath/pyd: @.^.Modules.o.cmathmodule s.linktab
243
$(MAKEDLK) -d @.^.Lib.cmath/pyd -s s.linktab -o @.^.Modules.o.cmathmodule -e initcmath
245
@.^.Lib.cPickle/pyd: @.^.Modules.o.cPickle s.linktab
246
$(MAKEDLK) -d @.^.Lib.cPickle/pyd -s s.linktab -o @.^.Modules.o.cPickle -e initcPickle
248
@.^.Lib.cStringIO/pyd: @.^.Modules.o.cStringIO s.linktab
249
$(MAKEDLK) -d @.^.Lib.cStringIO/pyd -s s.linktab -o @.^.Modules.o.cStringIO -e initcStringIO
251
@.^.Lib._csv/pyd: @.^.Modules.o._csv s.linktab
252
$(MAKEDLK) -d @.^.Lib._csv/pyd -s s.linktab -o @.^.Modules.o._csv -e init_csv
254
@.^.Lib.plat-riscos.drawf/pyd: Modules.o.drawfmodule #s.linktab
255
$(LINK) -aof -o Modules.o.drawflink Modules.o.drawfmodule $(OSLIB).o.OSLIB32
256
$(MAKEDLK) -d @.^.Lib.plat-riscos.drawf/pyd -s s.linktab -o Modules.o.drawflink -e initdrawf
258
@.^.Lib.datetime/pyd: @.^.Modules.o.datetimemodule s.linktab
259
$(MAKEDLK) -d @.^.Lib.datetime/pyd -s s.linktab -o @.^.Modules.o.datetimemodule -e initdatetime
261
@.^.Lib.errno/pyd: @.^.Modules.o.errnomodule #s.linktab
262
$(MAKEDLK) -d @.^.Lib.errno/pyd -s s.linktab -o @.^.Modules.o.errnomodule -e initerrno
264
@.^.Lib.imageop/pyd: @.^.Modules.o.imageop s.linktab
265
$(MAKEDLK) -d @.^.Lib.imageop/pyd -s s.linktab -o @.^.Modules.o.imageop -e initimageop
267
@.^.Lib.itertools/pyd: @.^.Modules.o.itertoolsmodule s.linktab
268
$(MAKEDLK) -d @.^.Lib.itertools/pyd -s s.linktab -o @.^.Modules.o.itertoolsmodule -e inititertools
270
@.^.Lib.math/pyd: @.^.Modules.o.mathmodule s.linktab
271
$(MAKEDLK) -d @.^.Lib.math/pyd -s s.linktab -o @.^.Modules.o.mathmodule -e initmath
273
@.^.Lib.mmap/pyd: @.^.Modules.o.mmapmodule s.linktab
274
$(MAKEDLK) -d @.^.Lib.mmap/pyd -s s.linktab -o @.^.Modules.o.mmapmodule -e initmmap
276
@.^.Lib.md5/pyd: @.^.Modules.o.md5c @.^.Modules.o.md5module s.linktab
277
$(LINK) -aof -o @.^.Modules.o.md5link @.^.Modules.o.md5c @.^.Modules.o.md5module
278
$(MAKEDLK) -d @.^.Lib.md5/pyd -s s.linktab -o @.^.Modules.o.md5link -e initmd5
280
@.^.Lib.operator/pyd: @.^.Modules.o.operator s.linktab
281
$(MAKEDLK) -d @.^.Lib.operator/pyd -s s.linktab -o @.^.Modules.o.operator -e initoperator
283
@.^.Lib.parser/pyd: @.^.Modules.o.parsermodule s.linktab
284
$(MAKEDLK) -d @.^.Lib.parser/pyd -s s.linktab -o @.^.Modules.o.parsermodule -e initparser
286
@.^.Lib.rgbimg/pyd: @.^.Modules.o.rgbimgmodule s.linktab
287
$(MAKEDLK) -d @.^.Lib.rgbimg/pyd -s s.linktab -o @.^.Modules.o.rgbimgmodule -e initrgbimg
289
@.^.Lib.sha/pyd: @.^.Modules.o.shamodule s.linktab
290
$(MAKEDLK) -d @.^.Lib.sha/pyd -s s.linktab -o @.^.Modules.o.shamodule -e initsha
292
@.^.Lib.signal/pyd: @.^.Modules.o.signalmodule s.linktab
293
$(MAKEDLK) -d @.^.Lib.signal/pyd -s s.linktab -o @.^.Modules.o.signalmodule -e initsignal
295
@.^.Lib.strop/pyd: @.^.Modules.o.stropmodule s.linktab
296
$(MAKEDLK) -d @.^.Lib.strop/pyd -s s.linktab -o @.^.Modules.o.stropmodule -e initstrop
298
@.^.Lib.struct/pyd: @.^.Modules.o.structmodule s.linktab
299
$(MAKEDLK) -d @.^.Lib.struct/pyd -s s.linktab -o @.^.Modules.o.structmodule -e initstruct
301
@.^.Lib.plat-riscos.swi/pyd: Modules.o.swimodule s.linktab
302
$(LINK) -aof -o Modules.o.swilink Modules.o.swimodule $(OSLIB).o.OSLIB32
303
$(MAKEDLK) -d @.^.Lib.plat-riscos.swi/pyd -s s.linktab -o Modules.o.swilink -e initswi
305
@.^.Lib._locale/pyd: @.^.Modules.o._localemodule s.linktab
306
$(MAKEDLK) -d @.^.Lib._locale/pyd -s s.linktab -o @.^.Modules.o._localemodule -e init_locale
308
@.^.Lib._sre/pyd: @.^.Modules.o._sre s.linktab
309
$(MAKEDLK) -d @.^.Lib._sre/pyd -s s.linktab -o @.^.Modules.o._sre -e init_sre
311
@.^.Lib._codecs/pyd: @.^.Modules.o._codecsmodule s.linktab
312
$(MAKEDLK) -d @.^.Lib._codecs/pyd -s s.linktab -o @.^.Modules.o._codecsmodule -e init_codecs
314
@.^.Lib._weakref/pyd: @.^.Modules.o._weakref s.linktab
315
$(MAKEDLK) -d @.^.Lib._weakref/pyd -s s.linktab -o @.^.Modules.o._weakref -e init_weakref
317
@.^.Lib._testcapi/pyd: @.^.Modules.o._testcapimodule s.linktab
318
$(MAKEDLK) -d @.^.Lib._testcapi/pyd -s s.linktab -o @.^.Modules.o._testcapimodule -e init_testcapi
320
@.^.Lib.unicodedata/pyd: @.^.Modules.o.unicodedata s.linktab
321
$(MAKEDLK) -d @.^.Lib.unicodedata/pyd -s s.linktab -o @.^.Modules.o.unicodedata -e initunicodedata
323
@.^.Lib.xxsubtype/pyd: @.^.Modules.o.xxsubtype s.linktab
324
$(MAKEDLK) -d @.^.Lib.xxsubtype/pyd -s s.linktab -o @.^.Modules.o.xxsubtype -e initxxsubtype
326
@.^.Lib._random/pyd: @.^.Modules.o._randommodule s.linktab
327
$(MAKEDLK) -d @.^.Lib._random/pyd -s s.linktab -o @.^.Modules.o._randommodule -e init_random
329
@.^.Lib._symtable/pyd: @.^.Modules.o.symtablemodule s.linktab
330
$(MAKEDLK) -d @.^.Lib._symtable/pyd -s s.linktab -o @.^.Modules.o.symtablemodule -e init_symtable
333
############################################################################
334
# Dynamic Modules with other dependencies
336
@.^.Lib.select/pyd: @.^.Modules.o.selectmodule s.linktab
337
$(LINK) -aof -o @.^.Modules.o.selectlink @.^.Modules.o.selectmodule $(TCPIPLIB).o.socklib5
338
$(MAKEDLK) -d @.^.Lib.select/pyd -s s.linktab -o @.^.Modules.o.selectlink -e initselect
340
@.^.Modules.o.selectmodule: @.^.Modules.c.selectmodule
341
$(CC) -I$(TCPIPLIB).include -o $@ @.^.Modules.c.selectmodule
343
@.^.Lib._socket/pyd: @.^.Modules.o.socketmodule s.linktab
344
$(LINK) -aof -o @.^.Modules.o._socketlink @.^.Modules.o.socketmodule $(TCPIPLIB).o.inetlib $(TCPIPLIB).o.unixlib $(TCPIPLIB).o.socklib5
345
$(MAKEDLK) -d @.^.Lib._socket/pyd -s s.linktab -o @.^.Modules.o._socketlink -e init_socket
347
@.^.Modules.o.socketmodule: @.^.Modules.c.socketmodule
348
$(CC) -I$(TCPIPLIB).include -o $@ @.^.Modules.c.socketmodule
351
@.^.Lib.zlib/pyd: @.^.Modules.o.zlibmodule s.linktab
352
$(LINK) -aof -o @.^.Modules.o.zliblink @.^.Modules.o.zlibmodule $(ZLIB).zlib
353
$(MAKEDLK) -d @.^.Lib.zlib/pyd -s s.linktab -o @.^.Modules.o.zliblink -e initzlib
355
@.^.Modules.o.zlibmodule: @.^.Modules.c.zlibmodule
356
$(CC) -I$(ZLIB) -o $@ @.^.Modules.c.zlibmodule
358
@.^.Lib.bz2/pyd: @.^.Modules.o.bz2module s.linktab
359
$(LINK) -aof -o @.^.Modules.o.bz2link @.^.Modules.o.bz2module $(BZLIB).bzlib
360
$(MAKEDLK) -d @.^.Lib.bz2/pyd -s s.linktab -o @.^.Modules.o.bz2link -e initbz2
362
@.^.Modules.o.bz2module: @.^.Modules.c.bz2module
363
$(CC) -I$(BZLIB) -o $@ @.^.Modules.c.bz2module
365
@.^.Lib.time/pyd: @.^.Modules.o.timemodule s.linktab @.o.sleep
366
$(LINK) -aof -o @.^.Modules.o.timelink @.^.Modules.o.timemodule @.o.sleep $(OSLIB).o.OSLib32
367
$(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.^.Modules.o.timelink -e inittime
369
#@.^.Lib.time/pyd: @.Modules.o.timemodule s.linktab
370
# $(LINK) -aof -o @.Modules.o.timelink @.Modules.o.timemodule $(OSLIB).o.OSLib32
371
# $(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.Modules.o.timelink -e inittime
374
@.^.Lib.pyexpat/pyd: @.^.Modules.o.pyexpat s.linktab
375
$(LINK) -aof -o @.^.Modules.o.pyexpatlink @.^.Modules.o.pyexpat $(EXPAT).expat_lib
376
$(MAKEDLK) -d @.^.Lib.pyexpat/pyd -s s.linktab -o @.^.Modules.o.pyexpatlink -e initpyexpat
378
@.^.Modules.o.pyexpat: @.^.Modules.c.pyexpat
379
$(CCEXPAT) -o $@ @.^.Modules.c.pyexpat
381
@.^.Lib.zipimport/pyd: @.^.Modules.o.zipimport s.linktab
382
$(LINK) -aof -o @.^.Modules.o.zipimportlink @.^.Modules.o.zipimport o.unixstuff $(OSLIB).o.OSLib32
383
$(MAKEDLK) -d @.^.Lib.zipimport/pyd -s s.linktab -o @.^.Modules.o.zipimportlink -e initzipimport
386
##########################################################################
387
# dynamic linking symbol table
390
ObjAsm -APCS 3/32bit s.linktab o.linktab
392
s.linktab: $(OBJECTS)
393
$(OBJSCAN) -s s.linktab -o $(OBJECTS) $(clib).o.stubs
395
##########################################################################
399
-wipe @.^.Lib.*/pyc ~C~V
400
-wipe @.^.Lib.*/pyo ~C~V
401
-wipe @.^.Lib.plat-riscos.*/pyc ~C~V
402
-wipe @.^.Lib.plat-riscos.*/pyo ~C~V
403
-wipe @.^.Lib.test.*/pyc ~C~V
404
-wipe @.^.Lib.test.*/pyo ~C~V
405
-wipe @.^.Lib.encodings.*/pyc ~C~V
406
-wipe @.^.Lib.encodings.*/pyo ~C~V
407
-wipe @.^.Lib.curses.*/pyc ~C~V
408
-wipe @.^.Lib.curses.*/pyo ~C~V
409
-wipe @.^.Lib.xml.*/pyc ~C~V
410
-wipe @.^.Lib.xml.*/pyo ~C~V
411
-wipe @.^.Lib.xml.sax.*/pyc ~C~V
412
-wipe @.^.Lib.xml.sax.*/pyo ~C~V
413
-wipe @.^.Lib.xml.dom.*/pyc ~C~V
414
-wipe @.^.Lib.xml.dom.*/pyo ~C~V
415
-wipe @.^.Lib.xml.parsers.*/pyc ~C~V
416
-wipe @.^.Lib.xml.parsers.*/pyo ~C~V
419
-wipe @.^.Modules.o.* ~C~V
420
-wipe @.^.Objects.o.* ~C~V
421
-wipe @.^.Parser.o.* ~C~V
422
-wipe @.^.Python.o.* ~C~V
423
-wipe @.Modules.o.* ~C~V
424
-wipe @.Python.o.* ~C~V
427
rebuild: clean clean-support
429
-wipe @.^.Lib.*/pyd ~C ~V
430
-wipe @.^.Lib.plat-riscos.*/pyd ~C~V
449
# Dynamic dependencies: