append(): Fixing the test for convertability after consultation with
[python/dscho.git] / RISCOS / Makefile
blobbcfca81402a3cac6d31d33e704f3e902d01aa45f
1 # RISC OS Python
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 EXPAT = $(LIBSROOT).expat.lib
12 OBJSCAN = objscan
13 MAKEDLK = makedlk
15 # change from time to time (don't forget to change !Boot also)
16 TARGET=Python22
17 BUILD=25
21 # You shouldn't need to change anything below this line
23 DLKFLAG= -DDLK
24 DLKOBJS = $(DLKLIB).o.dlk_load @.o.linktab
26 HEADERS = @,$(TCPIPLIB),@.^.Include,@.^.Modules,@.^.Objects,@.^.Python,$(CLIB),$(OSLIB),$(DLKLIB)
28 CFLAGS = -c $(DLKFLAG) -DRISCOS -DHAVE_CONFIG_H -wadP -throwback -APCS 3/32bit/fpe3
30 CC = cc $(CFLAGS) -j$(HEADERS)
31 CCEXPAT = cc $(CFLAGS) -j$(HEADERS),$(EXPAT) -DHAVE_EXPAT_H
33 LINK = link
34 LINKFLAGS = -aif #-NOUNUSED #-d
35 LOADLIBS = $(TCPIPLIB).o.unixlib $(TCPIPLIB).o.inetlib $(TCPIPLIB).o.socklib $(CLIB).o.Stubs $(OSLIB).o.OSLib32 $(DLKOBJS)
37 LIBFILE = libfile -c
40 .c.o :
41 $(CC) -o $@ $*.c
43 MAIN_PYTHON =\
44 @.^.Modules.o.python
46 LIB_PYTHON =\
47 @.^.LibPython
49 # code for main Python binary
50 MODULES_STATIC =\
51 @.^.Modules.o.main\
52 @.Modules.o.config\
53 @.^.Modules.o.getbuildinfo\
54 @.Modules.o.getpath_riscos\
55 @.Modules.o.riscosmodule\
56 @.^.Modules.o.gcmodule
59 # dynamic Modules
60 MODULES_DYNAMIC =\
61 @.^.Lib.array/pyd\
62 @.^.Lib.audioop/pyd\
63 @.^.Lib.binascii/pyd\
64 @.^.Lib.cmath/pyd\
65 @.^.Lib.cPickle/pyd\
66 @.^.Lib.cStringIO/pyd\
67 @.^.Lib.errno/pyd\
68 @.^.Lib.imageop/pyd\
69 @.^.Lib.math/pyd\
70 @.^.Lib.md5/pyd\
71 @.^.Lib.new/pyd\
72 @.^.Lib.operator/pyd\
73 @.^.Lib.parser/pyd\
74 @.^.Lib.pcre/pyd\
75 @.^.Lib.regex/pyd\
76 @.^.Lib.rgbimg/pyd\
77 @.^.Lib.rotor/pyd\
78 @.^.Lib.sha/pyd\
79 @.^.Lib.signal/pyd\
80 @.^.Lib.struct/pyd\
81 @.^.Lib.time/pyd\
82 @.^.Lib._locale/pyd\
83 @.^.Lib.zlib/pyd\
84 @.^.Lib.select/pyd\
85 @.^.Lib._socket/pyd\
86 @.^.Lib._codecs/pyd\
87 @.^.Lib._weakref/pyd\
88 @.^.Lib._testcapi/pyd\
89 @.^.Lib.unicodedata/pyd\
90 @.^.Lib.xreadlines/pyd\
91 @.^.Lib.pyexpat/pyd\
92 @.^.Lib.plat-riscos.drawf/pyd\
93 @.^.Lib.plat-riscos.swi/pyd\
94 @.^.Lib._sre/pyd\
95 @.^.Lib.xxsubtype/pyd\
96 @.^.Lib._symtable/pyd
99 OBJECTS_PYTHON =\
100 @.^.Python.o.traceback\
101 @.^.Python.o.sysmodule\
102 @.^.Python.o.structmember\
103 @.^.Python.o.strdup\
104 @.^.Python.o.sigcheck\
105 @.^.Python.o.pythonrun\
106 @.^.Python.o.pystate\
107 @.^.Python.o.pyfpe\
108 @.^.Python.o.mystrtoul\
109 @.^.Python.o.mysnprintf\
110 @.^.Python.o.modsupport\
111 @.^.Python.o.marshal\
112 @.^.Python.o.importdl\
113 @.^.Python.o.import\
114 @.^.Python.o.graminit\
115 @.^.Python.o.getversion\
116 @.^.Python.o.getplatform\
117 @.^.Python.o.getopt\
118 @.^.Python.o.getcopyright\
119 @.^.Python.o.getcompiler\
120 @.^.Python.o.getargs\
121 @.^.Python.o.frozenmain\
122 @.^.Python.o.frozen\
123 @.^.Python.o.errors\
124 @.^.Python.o.compile\
125 @.^.Python.o.ceval\
126 @.^.Python.o.bltinmodule\
127 @.^.Python.o.exceptions\
128 @.^.Python.o.hypot\
129 @.^.Python.o.codecs\
130 @.^.Python.o.symtable\
131 @.^.Python.o.future
134 OBJECTS_RISCOS = \
135 @.Python.o.dynload_riscos\
136 @.Python.o.getcwd_riscos\
137 @.Python.o.getmtime_riscos\
138 @.o.unixstuff
141 OBJECTS_OBJECTS =\
142 @.^.Objects.o.typeobject\
143 @.^.Objects.o.tupleobject\
144 @.^.Objects.o.stringobject\
145 @.^.Objects.o.sliceobject\
146 @.^.Objects.o.rangeobject\
147 @.^.Objects.o.object\
148 @.^.Objects.o.moduleobject\
149 @.^.Objects.o.methodobject\
150 @.^.Objects.o.longobject\
151 @.^.Objects.o.listobject\
152 @.^.Objects.o.intobject\
153 @.^.Objects.o.iterobject\
154 @.^.Objects.o.funcobject\
155 @.^.Objects.o.frameobject\
156 @.^.Objects.o.floatobject\
157 @.^.Objects.o.fileobject\
158 @.^.Objects.o.dictobject\
159 @.^.Objects.o.complexobject\
160 @.^.Objects.o.cobject\
161 @.^.Objects.o.classobject\
162 @.^.Objects.o.cellobject\
163 @.^.Objects.o.bufferobject\
164 @.^.Objects.o.abstract\
165 @.^.Objects.o.unicodectype\
166 @.^.Objects.o.unicodeobject\
167 @.^.Objects.o.descrobject\
168 @.^.Objects.o.weakrefobject\
169 @.^.Objects.o.structseq
172 OBJECTS_PARSER =\
173 @.^.Parser.o.tokenizer\
174 @.^.Parser.o.printgrammar\
175 @.^.Parser.o.parsetok\
176 @.^.Parser.o.parser\
177 @.^.Parser.o.node\
178 @.^.Parser.o.myreadline\
179 @.^.Parser.o.metagrammar\
180 @.^.Parser.o.listnode\
181 @.^.Parser.o.intrcheck\
182 @.^.Parser.o.grammar1\
183 @.^.Parser.o.grammar\
184 @.^.Parser.o.firstsets\
185 @.^.Parser.o.bitset\
186 @.^.Parser.o.acceler
188 SUPPORT_FILES = @.^.!Boot @.^.!Run @.^.!Sprites @.^.!Sprites22 @.^.AddToPath
190 OBJECTS = $(OBJECTS_PYTHON) $(OBJECTS_PARSER) $(MODULES_STATIC) $(OBJECTS_OBJECTS) $(OBJECTS_RISCOS)
193 all: @.^.$(TARGET) $(MODULES_DYNAMIC) $(SUPPORT_FILES)
195 @.^.Modules.o.getbuildinfo: @.^.Modules.c.getbuildinfo
196 $(CC) -DBUILD=$(BUILD) -o @.^.Modules.o.getbuildinfo @.^.Modules.c.getbuildinfo
199 $(LIB_PYTHON): $(OBJECTS)
200 $(LIBFILE) $(LIB_PYTHON) $(OBJECTS)
202 @.^.$(TARGET): o.linktab $(MAIN_PYTHON) $(LIB_PYTHON)
203 $(LINK) -o @.^.$(TARGET) $(MAIN_PYTHON) @.^.LibPython $(LOADLIBS)
206 #########################################################################
207 # RISC OS support files
209 @.^.!Boot: support.!Boot
210 copy support.!Boot @.^.!Boot ~C~VF
211 settype @.^.!Boot feb
212 @.^.!Run: support.!Run
213 copy support.!Run @.^.!Run ~C~VF
214 settype @.^.!Run feb
215 @.^.!Sprites: support.!Sprites
216 copy support.!Sprites @.^.!Sprites ~C~VF
217 settype @.^.!Sprites ff9
218 @.^.!Sprites22: support.!Sprites22
219 copy support.!Sprites22 @.^.!Sprites22 ~C~VF
220 settype @.^.!Sprites22 ff9
221 @.^.AddToPath: support.AddToPath
222 copy support.AddToPath @.^.AddToPath ~C~VF
223 settype @.^.AddToPath ffc
226 #########################################################################
227 # Dynamic Modules
229 @.^.Lib.array/pyd: @.^.Modules.o.arraymodule s.linktab
230 $(MAKEDLK) -d @.^.Lib.array/pyd -s s.linktab -o @.^.Modules.o.arraymodule -e initarray
232 @.^.Lib.audioop/pyd: @.^.Modules.o.audioop # s.linktab
233 $(MAKEDLK) -d @.^.Lib.audioop/pyd -s s.linktab -o @.^.Modules.o.audioop -e initaudioop
235 @.^.Lib.binascii/pyd: @.^.Modules.o.binascii s.linktab
236 $(MAKEDLK) -d @.^.Lib.binascii/pyd -s s.linktab -o @.^.Modules.o.binascii -e initbinascii
238 @.^.Lib.cmath/pyd: @.^.Modules.o.cmathmodule s.linktab
239 $(MAKEDLK) -d @.^.Lib.cmath/pyd -s s.linktab -o @.^.Modules.o.cmathmodule -e initcmath
241 @.^.Lib.cPickle/pyd: @.^.Modules.o.cPickle s.linktab
242 $(MAKEDLK) -d @.^.Lib.cPickle/pyd -s s.linktab -o @.^.Modules.o.cPickle -e initcPickle
244 @.^.Lib.cStringIO/pyd: @.^.Modules.o.cStringIO s.linktab
245 $(MAKEDLK) -d @.^.Lib.cStringIO/pyd -s s.linktab -o @.^.Modules.o.cStringIO -e initcStringIO
247 @.^.Lib.plat-riscos.drawf/pyd: Modules.o.drawfmodule #s.linktab
248 $(LINK) -aof -o Modules.o.drawflink Modules.o.drawfmodule $(OSLIB).o.OSLIB32
249 $(MAKEDLK) -d @.^.Lib.plat-riscos.drawf/pyd -s s.linktab -o Modules.o.drawflink -e initdrawf
251 @.^.Lib.errno/pyd: @.^.Modules.o.errnomodule #s.linktab
252 $(MAKEDLK) -d @.^.Lib.errno/pyd -s s.linktab -o @.^.Modules.o.errnomodule -e initerrno
254 @.^.Lib.imageop/pyd: @.^.Modules.o.imageop s.linktab
255 $(MAKEDLK) -d @.^.Lib.imageop/pyd -s s.linktab -o @.^.Modules.o.imageop -e initimageop
257 @.^.Lib.math/pyd: @.^.Modules.o.mathmodule s.linktab
258 $(MAKEDLK) -d @.^.Lib.math/pyd -s s.linktab -o @.^.Modules.o.mathmodule -e initmath
260 @.^.Lib.mmap/pyd: @.^.Modules.o.mmapmodule s.linktab
261 $(MAKEDLK) -d @.^.Lib.mmap/pyd -s s.linktab -o @.^.Modules.o.mmapmodule -e initmmap
263 @.^.Lib.md5/pyd: @.^.Modules.o.md5c @.^.Modules.o.md5module s.linktab
264 $(LINK) -aof -o @.^.Modules.o.md5link @.^.Modules.o.md5c @.^.Modules.o.md5module
265 $(MAKEDLK) -d @.^.Lib.md5/pyd -s s.linktab -o @.^.Modules.o.md5link -e initmd5
267 @.^.Lib.operator/pyd: @.^.Modules.o.operator s.linktab
268 $(MAKEDLK) -d @.^.Lib.operator/pyd -s s.linktab -o @.^.Modules.o.operator -e initoperator
270 @.^.Lib.parser/pyd: @.^.Modules.o.parsermodule s.linktab
271 $(MAKEDLK) -d @.^.Lib.parser/pyd -s s.linktab -o @.^.Modules.o.parsermodule -e initparser
273 @.^.Lib.pcre/pyd: @.^.Modules.o.pcremodule @.^.Modules.o.pypcre s.linktab
274 $(LINK) -aof -o @.^.Modules.o.pcrelink @.^.Modules.o.pcremodule @.^.Modules.o.pypcre
275 $(MAKEDLK) -d @.^.Lib.pcre/pyd -s s.linktab -o @.^.Modules.o.pcrelink -e initpcre
277 @.^.Lib.regex/pyd: @.^.Modules.o.regexmodule @.^.Modules.o.regexpr s.linktab
278 $(LINK) -aof -o @.^.Modules.o.regexlink @.^.Modules.o.regexmodule @.^.Modules.o.regexpr
279 $(MAKEDLK) -d @.^.Lib.regex/pyd -s s.linktab -o @.^.Modules.o.regexlink -e initregex
281 @.^.Lib.rgbimg/pyd: @.^.Modules.o.rgbimgmodule s.linktab
282 $(MAKEDLK) -d @.^.Lib.rgbimg/pyd -s s.linktab -o @.^.Modules.o.rgbimgmodule -e initrgbimg
284 @.^.Lib.rotor/pyd: @.^.Modules.o.rotormodule s.linktab
285 $(MAKEDLK) -d @.^.Lib.rotor/pyd -s s.linktab -o @.^.Modules.o.rotormodule -e initrotor
287 @.^.Lib.sha/pyd: @.^.Modules.o.shamodule s.linktab
288 $(MAKEDLK) -d @.^.Lib.sha/pyd -s s.linktab -o @.^.Modules.o.shamodule -e initsha
290 @.^.Lib.signal/pyd: @.^.Modules.o.signalmodule s.linktab
291 $(MAKEDLK) -d @.^.Lib.signal/pyd -s s.linktab -o @.^.Modules.o.signalmodule -e initsignal
293 @.^.Lib.strop/pyd: @.^.Modules.o.stropmodule s.linktab
294 $(MAKEDLK) -d @.^.Lib.strop/pyd -s s.linktab -o @.^.Modules.o.stropmodule -e initstrop
296 @.^.Lib.struct/pyd: @.^.Modules.o.structmodule s.linktab
297 $(MAKEDLK) -d @.^.Lib.struct/pyd -s s.linktab -o @.^.Modules.o.structmodule -e initstruct
299 @.^.Lib.plat-riscos.swi/pyd: Modules.o.swimodule s.linktab
300 $(LINK) -aof -o Modules.o.swilink Modules.o.swimodule $(OSLIB).o.OSLIB32
301 $(MAKEDLK) -d @.^.Lib.plat-riscos.swi/pyd -s s.linktab -o Modules.o.swilink -e initswi
303 @.^.Lib._locale/pyd: @.^.Modules.o._localemodule s.linktab
304 $(MAKEDLK) -d @.^.Lib._locale/pyd -s s.linktab -o @.^.Modules.o._localemodule -e init_locale
306 @.^.Lib._sre/pyd: @.^.Modules.o._sre s.linktab
307 $(MAKEDLK) -d @.^.Lib._sre/pyd -s s.linktab -o @.^.Modules.o._sre -e init_sre
309 @.^.Lib._codecs/pyd: @.^.Modules.o._codecsmodule s.linktab
310 $(MAKEDLK) -d @.^.Lib._codecs/pyd -s s.linktab -o @.^.Modules.o._codecsmodule -e init_codecs
312 @.^.Lib._weakref/pyd: @.^.Modules.o._weakref s.linktab
313 $(MAKEDLK) -d @.^.Lib._weakref/pyd -s s.linktab -o @.^.Modules.o._weakref -e init_weakref
315 @.^.Lib._testcapi/pyd: @.^.Modules.o._testcapimodule s.linktab
316 $(MAKEDLK) -d @.^.Lib._testcapi/pyd -s s.linktab -o @.^.Modules.o._testcapimodule -e init_testcapi
318 @.^.Lib.unicodedata/pyd: @.^.Modules.o.unicodedata s.linktab
319 $(MAKEDLK) -d @.^.Lib.unicodedata/pyd -s s.linktab -o @.^.Modules.o.unicodedata -e initunicodedata
321 @.^.Lib.xreadlines/pyd: @.^.Modules.o.xreadlinesmodule s.linktab
322 $(MAKEDLK) -d @.^.Lib.xreadlines/pyd -s s.linktab -o @.^.Modules.o.xreadlinesmodule -e initxreadlines
324 @.^.Lib.xxsubtype/pyd: @.^.Modules.o.xxsubtype s.linktab
325 $(MAKEDLK) -d @.^.Lib.xxsubtype/pyd -s s.linktab -o @.^.Modules.o.xxsubtype -e initxxsubtype
327 @.^.Lib._symtable/pyd: @.^.Modules.o.symtablemodule s.linktab
328 $(MAKEDLK) -d @.^.Lib._symtable/pyd -s s.linktab -o @.^.Modules.o.symtablemodule -e init_symtable
331 ############################################################################
332 # Dynamic Modules with other dependencies
334 @.^.Lib.select/pyd: @.^.Modules.o.selectmodule s.linktab
335 $(LINK) -aof -o @.^.Modules.o.selectlink @.^.Modules.o.selectmodule $(TCPIPLIB).o.socklib
336 $(MAKEDLK) -d @.^.Lib.select/pyd -s s.linktab -o @.^.Modules.o.selectlink -e initselect
338 @.^.Modules.o.selectmodule: @.^.Modules.c.selectmodule
339 $(CC) -I$(TCPIPLIB).include -o $@ @.^.Modules.c.selectmodule
341 @.^.Lib._socket/pyd: @.^.Modules.o.socketmodule s.linktab
342 $(LINK) -aof -o @.^.Modules.o._socketlink @.^.Modules.o.socketmodule $(TCPIPLIB).o.inetlib $(TCPIPLIB).o.unixlib $(TCPIPLIB).o.socklib
343 $(MAKEDLK) -d @.^.Lib._socket/pyd -s s.linktab -o @.^.Modules.o._socketlink -e init_socket
345 @.^.Modules.o.socketmodule: @.^.Modules.c.socketmodule
346 $(CC) -I$(TCPIPLIB).include -o $@ @.^.Modules.c.socketmodule
349 @.^.Lib.zlib/pyd: @.^.Modules.o.zlibmodule s.linktab
350 $(LINK) -aof -o @.^.Modules.o.zliblink @.^.Modules.o.zlibmodule $(ZLIB).zlib
351 $(MAKEDLK) -d @.^.Lib.zlib/pyd -s s.linktab -o @.^.Modules.o.zliblink -e initzlib
353 @.^.Modules.o.zlibmodule: @.^.Modules.c.zlibmodule
354 $(CC) -I$(ZLIB) -o $@ @.^.Modules.c.zlibmodule
357 @.^.Lib.time/pyd: @.^.Modules.o.timemodule s.linktab @.o.sleep
358 $(LINK) -aof -o @.^.Modules.o.timelink @.^.Modules.o.timemodule @.o.sleep $(OSLIB).o.OSLib32
359 $(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.^.Modules.o.timelink -e inittime
361 #@.^.Lib.time/pyd: @.Modules.o.timemodule s.linktab
362 # $(LINK) -aof -o @.Modules.o.timelink @.Modules.o.timemodule $(OSLIB).o.OSLib32
363 # $(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.Modules.o.timelink -e inittime
366 @.^.Lib.pyexpat/pyd: @.^.Modules.o.pyexpat s.linktab
367 $(LINK) -aof -o @.^.Modules.o.pyexpatlink @.^.Modules.o.pyexpat $(EXPAT).expat_lib
368 $(MAKEDLK) -d @.^.Lib.pyexpat/pyd -s s.linktab -o @.^.Modules.o.pyexpatlink -e initpyexpat
370 @.^.Modules.o.pyexpat: @.^.Modules.c.pyexpat
371 $(CCEXPAT) -o $@ @.^.Modules.c.pyexpat
374 ##########################################################################
375 # dynamic linking symbol table
377 o.linktab: s.linktab
378 ObjAsm -APCS 3/32bit s.linktab o.linktab
380 s.linktab: $(OBJECTS)
381 $(OBJSCAN) -s s.linktab -o $(OBJECTS) $(clib).o.stubs
383 ##########################################################################
384 # special targets
386 libclean:
387 -wipe @.^.Lib.*/pyc ~C~V
388 -wipe @.^.Lib.*/pyo ~C~V
389 -wipe @.^.Lib.plat-riscos.*/pyc ~C~V
390 -wipe @.^.Lib.plat-riscos.*/pyo ~C~V
391 -wipe @.^.Lib.test.*/pyc ~C~V
392 -wipe @.^.Lib.test.*/pyo ~C~V
393 -wipe @.^.Lib.encodings.*/pyc ~C~V
394 -wipe @.^.Lib.encodings.*/pyo ~C~V
395 -wipe @.^.Lib.curses.*/pyc ~C~V
396 -wipe @.^.Lib.curses.*/pyo ~C~V
397 -wipe @.^.Lib.xml.*/pyc ~C~V
398 -wipe @.^.Lib.xml.*/pyo ~C~V
399 -wipe @.^.Lib.xml.sax.*/pyc ~C~V
400 -wipe @.^.Lib.xml.sax.*/pyo ~C~V
401 -wipe @.^.Lib.xml.dom.*/pyc ~C~V
402 -wipe @.^.Lib.xml.dom.*/pyo ~C~V
403 -wipe @.^.Lib.xml.parsers.*/pyc ~C~V
404 -wipe @.^.Lib.xml.parsers.*/pyo ~C~V
406 clean: libclean
407 -wipe @.^.Modules.o.* ~C~V
408 -wipe @.^.Objects.o.* ~C~V
409 -wipe @.^.Parser.o.* ~C~V
410 -wipe @.^.Python.o.* ~C~V
411 -wipe @.Modules.o.* ~C~V
412 -wipe @.Python.o.* ~C~V
413 -wipe @.o.* ~C ~V
415 rebuild: clean clean-support
416 remove @.^.$(TARGET)
417 -wipe @.^.Lib.*/pyd ~C ~V
418 -wipe @.^.Lib.plat-riscos.*/pyd ~C~V
419 remove s.linktab
420 remove @.^.LibPython
422 clean-support:
423 -wipe @.^.!* ~C~V
424 remove @.^.AddToPath
426 cdirs:
427 cdir @.Modules.o
428 cdir @.Python.o
429 cdir @.s
430 cdir @.o
431 cdir @.^.Python.o
432 cdir @.^.Parser.o
433 cdir @.^.Objects.o
434 cdir @.^.Modules.o
437 # Dynamic dependencies: