blob: e970d138e160e28db3929b7c3ef7afdcfd147653 [file] [log] [blame]
Guido van Rossum228d8072001-03-02 05:58:11 +00001# RISC OS Python
2LIBSROOT = $.AcornC_C++.Libraries
3
4# You may need to change some of the following
5OSLIB = $(LIBSROOT).OSLib
6CLIB = $(LIBSROOT).clib
7SOCKLIB = $(LIBSROOT).netlib
8DLKLIB = $(LIBSROOT).dlk
9ZLIB = $(LIBSROOT).zlib
10EXPAT = $(LIBSROOT).expat.lib
11
12OBJSCAN = $(DLKLIB).objscan
13MAKEDLK = $(DLKLIB).makedlk
14
Guido van Rossumbceccf52001-04-10 22:07:43 +000015# change from time to time (don't forget to change !Boot also)
Guido van Rossum228d8072001-03-02 05:58:11 +000016TARGET=Python21
Guido van Rossumbceccf52001-04-10 22:07:43 +000017BUILD=12
Guido van Rossum228d8072001-03-02 05:58:11 +000018
19
20#
21# You shouldn't need to change anything below this line
22#
23OSLIBS = OSLib:Computer,OSLib:Core,OSLib:User
24
25DLKFLAG= -DDLK
Guido van Rossumbceccf52001-04-10 22:07:43 +000026DLKOBJS = $(DLKLIB).o.dlk_load @.o.linktab
Guido van Rossum228d8072001-03-02 05:58:11 +000027
28HEADERS = @,@.^.Include,@.^.Modules,@.^.Objects,@.^.Python,$(CLIB),$(OSLIBS),$(DLKLIB)
29
30CC = cc -c -j$(HEADERS) $(DLKFLAG) -DRISCOS -DHAVE_CONFIG_H -wad -throwback
31#-depend !Depend
32CCEXPAT = cc -c -j$(HEADERS),$(EXPAT) $(DLKFLAG) -DHAVE_EXPAT_H -DRISCOS -DHAVE_CONFIG_H -wad -throwback
33
34LINK = link
Guido van Rossumbceccf52001-04-10 22:07:43 +000035LINKFLAGS = -aif #-NOUNUSED #-d
Guido van Rossum228d8072001-03-02 05:58:11 +000036LOADLIBS = $(CLIB).o.Stubs $(OSLIB).o.OSLib $(DLKOBJS)
37
38
39.c.o :
40 $(CC) -o $@ $*.c
41
42
43# code for main Python binary
Guido van Rossumbceccf52001-04-10 22:07:43 +000044MODULES_STATIC =\
45 @.^.Modules.o.python\
46 @.^.Modules.o.main\
47 Modules.o.config\
48 @.^.Modules.o.getbuildinfo\
49 Modules.o.getpath_riscos\
50 Modules.o.riscosmodule
Guido van Rossum228d8072001-03-02 05:58:11 +000051
52
53# dynamic Modules
Guido van Rossumbceccf52001-04-10 22:07:43 +000054MODULES_DYNAMIC =\
55 @.^.Lib.array/pyd\
56 @.^.Lib.audioop/pyd\
57 @.^.Lib.binascii/pyd\
58 @.^.Lib.cmath/pyd\
59 @.^.Lib.cPickle/pyd\
60 @.^.Lib.cStringIO/pyd\
61 @.^.Lib.errno/pyd\
62 @.^.Lib.imageop/pyd\
63 @.^.Lib.math/pyd\
64 @.^.Lib.md5/pyd\
65 @.^.Lib.new/pyd\
66 @.^.Lib.operator/pyd\
67 @.^.Lib.parser/pyd\
68 @.^.Lib.pcre/pyd\
69 @.^.Lib.regex/pyd\
70 @.^.Lib.rgbimg/pyd\
71 @.^.Lib.rotor/pyd\
72 @.^.Lib.sha/pyd\
73 @.^.Lib.signal/pyd\
74 @.^.Lib.struct/pyd\
75 @.^.Lib.time/pyd\
76 @.^.Lib._locale/pyd\
77 @.^.Lib.zlib/pyd\
78 @.^.Lib.select/pyd\
79 @.^.Lib._socket/pyd\
80 @.^.Lib._codecs/pyd\
81 @.^.Lib._weakref/pyd\
82 @.^.Lib._testcapi/pyd\
83 @.^.Lib.unicodedata/pyd\
84 @.^.Lib.xreadlines/pyd\
85 @.^.Lib.pyexpat/pyd\
86 @.^.Lib.plat-riscos.drawf/pyd\
87 @.^.Lib.plat-riscos.swi/pyd\
88 @.^.Lib._sre/pyd
Guido van Rossum228d8072001-03-02 05:58:11 +000089
90
Guido van Rossumbceccf52001-04-10 22:07:43 +000091OBJECTS_PYTHON =\
92 @.^.Python.o.traceback\
93 @.^.Python.o.sysmodule\
94 @.^.Python.o.structmember\
95 @.^.Python.o.strdup\
96 @.^.Python.o.sigcheck\
97 @.^.Python.o.pythonrun\
98 @.^.Python.o.pystate\
99 @.^.Python.o.pyfpe\
100 @.^.Python.o.mystrtoul\
101 @.^.Python.o.modsupport\
102 @.^.Python.o.marshal\
103 @.^.Python.o.importdl\
104 @.^.Python.o.import\
105 @.^.Python.o.graminit\
106 @.^.Python.o.getversion\
107 @.^.Python.o.getplatform\
108 @.^.Python.o.getopt\
109 @.^.Python.o.getcopyright\
110 @.^.Python.o.getcompiler\
111 @.^.Python.o.getargs\
112 @.^.Python.o.frozenmain\
113 @.^.Python.o.frozen\
114 @.^.Python.o.errors\
115 @.^.Python.o.compile\
116 @.^.Python.o.ceval\
117 @.^.Python.o.bltinmodule\
118 @.^.Python.o.exceptions\
119 @.^.Python.o.hypot\
120 @.^.Python.o.codecs\
121 @.^.Python.o.symtable\
122 @.^.Python.o.future
Guido van Rossum228d8072001-03-02 05:58:11 +0000123
124
Guido van Rossumbceccf52001-04-10 22:07:43 +0000125OBJECTS_RISCOS = \
126 @.Python.o.dynload_riscos\
127 @.Python.o.getcwd_riscos\
128 @.Python.o.getmtime_riscos\
Guido van Rossum228d8072001-03-02 05:58:11 +0000129 @.o.unixstuff
130
131
Guido van Rossumbceccf52001-04-10 22:07:43 +0000132OBJECTS_OBJECTS =\
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\
Guido van Rossum228d8072001-03-02 05:58:11 +0000156 @.^.Objects.o.unicodeobject
157
158
Guido van Rossumbceccf52001-04-10 22:07:43 +0000159OBJECTS_PARSER =\
160 @.^.Parser.o.tokenizer\
161 @.^.Parser.o.printgrammar\
162 @.^.Parser.o.parsetok\
163 @.^.Parser.o.parser\
164 @.^.Parser.o.node\
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\
172 @.^.Parser.o.bitset\
Guido van Rossum228d8072001-03-02 05:58:11 +0000173 @.^.Parser.o.acceler
174
175SUPPORT_FILES = @.^.!Boot @.^.!Run @.^.!Sprites @.^.!Sprites22 @.^.AddToPath
176
177OBJECTS = $(OBJECTS_PYTHON) $(OBJECTS_PARSER) $(MODULES_STATIC) $(OBJECTS_OBJECTS) $(OBJECTS_RISCOS)
178
179
180all: @.^.$(TARGET) $(MODULES_DYNAMIC) $(SUPPORT_FILES)
181
182@.^.Modules.o.getbuildinfo: @.^.Modules.c.getbuildinfo
183 $(CC) -DBUILD=$(BUILD) -o @.^.Modules.o.getbuildinfo @.^.Modules.c.getbuildinfo
184
185
186@.^.$(TARGET): $(OBJECTS) o.linktab
187 $(LINK) -o @.^.$(TARGET) $(OBJECTS) $(LOADLIBS)
188
189
190#########################################################################
Guido van Rossumbceccf52001-04-10 22:07:43 +0000191# RISC OS support files
192#
Guido van Rossum228d8072001-03-02 05:58:11 +0000193@.^.!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
198 settype @.^.!Run feb
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
208
209
210#########################################################################
211# Dynamic Modules
212#
213@.^.Lib.array/pyd: @.^.Modules.o.arraymodule s.linktab
214 $(MAKEDLK) -d @.^.Lib.array/pyd -s s.linktab -o @.^.Modules.o.arraymodule -e initarray
215
216@.^.Lib.audioop/pyd: @.^.Modules.o.audioop # s.linktab
217 $(MAKEDLK) -d @.^.Lib.audioop/pyd -s s.linktab -o @.^.Modules.o.audioop -e initaudioop
218
219@.^.Lib.binascii/pyd: @.^.Modules.o.binascii s.linktab
220 $(MAKEDLK) -d @.^.Lib.binascii/pyd -s s.linktab -o @.^.Modules.o.binascii -e initbinascii
221
222@.^.Lib.cmath/pyd: @.^.Modules.o.cmathmodule s.linktab
223 $(MAKEDLK) -d @.^.Lib.cmath/pyd -s s.linktab -o @.^.Modules.o.cmathmodule -e initcmath
224
225@.^.Lib.cPickle/pyd: @.^.Modules.o.cPickle s.linktab
226 $(MAKEDLK) -d @.^.Lib.cPickle/pyd -s s.linktab -o @.^.Modules.o.cPickle -e initcPickle
227
228@.^.Lib.cStringIO/pyd: @.^.Modules.o.cStringIO s.linktab
229 $(MAKEDLK) -d @.^.Lib.cStringIO/pyd -s s.linktab -o @.^.Modules.o.cStringIO -e initcStringIO
230
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
234
235@.^.Lib.errno/pyd: @.^.Modules.o.errnomodule #s.linktab
236 $(MAKEDLK) -d @.^.Lib.errno/pyd -s s.linktab -o @.^.Modules.o.errnomodule -e initerrno
237
238@.^.Lib.imageop/pyd: @.^.Modules.o.imageop s.linktab
239 $(MAKEDLK) -d @.^.Lib.imageop/pyd -s s.linktab -o @.^.Modules.o.imageop -e initimageop
240
241@.^.Lib.math/pyd: @.^.Modules.o.mathmodule s.linktab
242 $(MAKEDLK) -d @.^.Lib.math/pyd -s s.linktab -o @.^.Modules.o.mathmodule -e initmath
243
244@.^.Lib.mmap/pyd: @.^.Modules.o.mmapmodule s.linktab
245 $(MAKEDLK) -d @.^.Lib.mmap/pyd -s s.linktab -o @.^.Modules.o.mmapmodule -e initmmap
246
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
250
251@.^.Lib.new/pyd: @.^.Modules.o.newmodule s.linktab
252 $(MAKEDLK) -d @.^.Lib.new/pyd -s s.linktab -o @.^.Modules.o.newmodule -e initnew
253
254@.^.Lib.operator/pyd: @.^.Modules.o.operator s.linktab
255 $(MAKEDLK) -d @.^.Lib.operator/pyd -s s.linktab -o @.^.Modules.o.operator -e initoperator
256
257@.^.Lib.parser/pyd: @.^.Modules.o.parsermodule s.linktab
258 $(MAKEDLK) -d @.^.Lib.parser/pyd -s s.linktab -o @.^.Modules.o.parsermodule -e initparser
259
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
263
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
267
268@.^.Lib.rgbimg/pyd: @.^.Modules.o.rgbimgmodule s.linktab
269 $(MAKEDLK) -d @.^.Lib.rgbimg/pyd -s s.linktab -o @.^.Modules.o.rgbimgmodule -e initrgbimg
270
271@.^.Lib.rotor/pyd: @.^.Modules.o.rotormodule s.linktab
272 $(MAKEDLK) -d @.^.Lib.rotor/pyd -s s.linktab -o @.^.Modules.o.rotormodule -e initrotor
273
274@.^.Lib.sha/pyd: @.^.Modules.o.shamodule s.linktab
275 $(MAKEDLK) -d @.^.Lib.sha/pyd -s s.linktab -o @.^.Modules.o.shamodule -e initsha
276
277@.^.Lib.signal/pyd: @.^.Modules.o.signalmodule s.linktab
278 $(MAKEDLK) -d @.^.Lib.signal/pyd -s s.linktab -o @.^.Modules.o.signalmodule -e initsignal
279
280#@.^.Lib.soundex/pyd: @.^.Modules.o.soundex s.linktab
281# $(MAKEDLK) -d @.^.Lib.soundex/pyd -s s.linktab -o @.^.Modules.o.soundex -e initsoundex
282
283@.^.Lib.strop/pyd: @.^.Modules.o.stropmodule s.linktab
284 $(MAKEDLK) -d @.^.Lib.strop/pyd -s s.linktab -o @.^.Modules.o.stropmodule -e initstrop
285
286@.^.Lib.struct/pyd: @.^.Modules.o.structmodule s.linktab
287 $(MAKEDLK) -d @.^.Lib.struct/pyd -s s.linktab -o @.^.Modules.o.structmodule -e initstruct
288
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
292
Guido van Rossum228d8072001-03-02 05:58:11 +0000293@.^.Lib._locale/pyd: @.^.Modules.o._localemodule s.linktab
294 $(MAKEDLK) -d @.^.Lib._locale/pyd -s s.linktab -o @.^.Modules.o._localemodule -e init_locale
295
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
298
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
301
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
304
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
307
308@.^.Lib.unicodedata/pyd: @.^.Modules.o.unicodedata s.linktab
309 $(MAKEDLK) -d @.^.Lib.unicodedata/pyd -s s.linktab -o @.^.Modules.o.unicodedata -e initunicodedata
310
311@.^.Lib.xreadlines/pyd: @.^.Modules.o.xreadlinesmodule s.linktab
312 $(MAKEDLK) -d @.^.Lib.xreadlines/pyd -s s.linktab -o @.^.Modules.o.xreadlinesmodule -e initxreadlines
313
314
Guido van Rossum228d8072001-03-02 05:58:11 +0000315
316############################################################################
317# Dynamic Modules with other dependencies
318#
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
322
323@.^.Modules.o.selectmodule: @.^.Modules.c.selectmodule
324 $(CC) -I$(SOCKLIB).include -o $@ @.^.Modules.c.selectmodule
325
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
329
330@.^.Modules.o.socketmodule: @.^.Modules.c.socketmodule
331 $(CC) -I$(SOCKLIB).include -o $@ @.^.Modules.c.socketmodule
332
333
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
337
338@.^.Modules.o.zlibmodule: @.^.Modules.c.zlibmodule
339 $(CC) -I$(ZLIB) -o $@ @.^.Modules.c.zlibmodule
340
341
Guido van Rossumbceccf52001-04-10 22:07:43 +0000342@.^.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
345
346
Guido van Rossum228d8072001-03-02 05:58:11 +0000347@.^.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
350
351@.^.Modules.o.pyexpat: @.^.Modules.c.pyexpat
352 $(CCEXPAT) -o $@ @.^.Modules.c.pyexpat
353
354
355##########################################################################
Guido van Rossumbceccf52001-04-10 22:07:43 +0000356# dynamic linking symbol table
357#
Guido van Rossum228d8072001-03-02 05:58:11 +0000358o.linktab: s.linktab
359 ObjAsm s.linktab o.linktab
360
361s.linktab: $(OBJECTS)
362 $(OBJSCAN) -s s.linktab -o $(OBJECTS) $(clib).o.stubs
363
Guido van Rossumbceccf52001-04-10 22:07:43 +0000364##########################################################################
365# special targets
366#
367libclean:
Guido van Rossum228d8072001-03-02 05:58:11 +0000368 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
Guido van Rossumbceccf52001-04-10 22:07:43 +0000373 create @.^.Lib.test.dummy/pyo
Guido van Rossum228d8072001-03-02 05:58:11 +0000374 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
Guido van Rossumbceccf52001-04-10 22:07:43 +0000379 wipe @.^.Lib.test.*/pyo ~C~V
380
381clean: libclean
382 create @.^.Objects.o.dummy
383 create @.^.Parser.o.dummy
384 create @.^.Modules.o.dummy
385 create 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
391 wipe o.* ~C ~V
Guido van Rossum228d8072001-03-02 05:58:11 +0000392
393rebuild: clean
394 create @.^.Lib.dummy/pyd
395 create @.^.$(TARGET)
396 create @.^.Lib.plat-riscos.dummy/pyd
397 create s.linktab
398 create o.linktab
399 wipe @.^.$(TARGET) ~C~V
400 wipe @.^.Lib.*/pyd ~C ~V
401 wipe @.^.Lib.plat-riscos.*/pyd ~C~V
402 wipe s.linktab ~C~V
403 wipe o.linktab ~C~V
404
405cdirs:
406 cdir @.Modules.o
407 cdir @.Python.o
408 cdir @.s
409 cdir @.o
410 cdir @.^.Python.o
411 cdir @.^.Parser.o
412 cdir @.^.Objects.o
413 cdir @.^.Modules.o
414
415
416# Dynamic dependencies: