/RISCOS/Makefile
http://unladen-swallow.googlecode.com/ · Makefile · 449 lines · 328 code · 94 blank · 27 comment · 0 complexity · b0b9e3202cafcabbcc275581ba468b1d MD5 · raw file
- # RISC OS Python
- LIBSROOT = $.AcornC_C++.Libraries
- # You may need to change some of the following
- OSLIB = $(LIBSROOT).OSLib
- CLIB = $(LIBSROOT).clib
- TCPIPLIB = $(LIBSROOT).TCPIPLibs
- DLKLIB = $(LIBSROOT).dlk
- ZLIB = $(LIBSROOT).zlib
- BZLIB = $(LIBSROOT).bzlib
- EXPAT = $(LIBSROOT).expat.lib
- OBJSCAN = $(DLKLIB).objscan
- MAKEDLK = $(DLKLIB).makedlk
- # change from time to time (don't forget to change !Boot also)
- TARGET=Python23
- BUILD=40
- #
- # You shouldn't need to change anything below this line
- #
- DLKFLAG= -DDLK
- DLKOBJS = $(DLKLIB).o.dlk_load @.o.linktab
- HEADERS = @,$(TCPIPLIB),@.^.Include,@.^.Modules,@.^.Objects,@.^.Python,$(CLIB),$(OSLIB),$(DLKLIB)
- CFLAGS = -c $(DLKFLAG) -DRISCOS -DHAVE_CONFIG_H -wadP -throwback -APCS 3/32bit/fpe3
- CC = cc $(CFLAGS) -j$(HEADERS)
- CCEXPAT = cc $(CFLAGS) -j$(HEADERS),$(EXPAT) -DHAVE_EXPAT_H
- LINK = link
- LINKFLAGS = -aif #-NOUNUSED #-d
- LOADLIBS = $(TCPIPLIB).o.unixlib $(TCPIPLIB).o.inetlib $(TCPIPLIB).o.socklib $(CLIB).o.Stubs $(OSLIB).o.OSLib32 $(DLKOBJS)
- LIBFILE = libfile -c
- .c.o :
- $(CC) -o $@ $*.c
- MAIN_PYTHON =\
- @.^.Modules.o.python
- LIB_PYTHON =\
- @.^.LibPython
- # code for main Python binary
- MODULES_STATIC =\
- @.^.Modules.o.main\
- @.Modules.o.config\
- @.^.Modules.o.getbuildinfo\
- @.Modules.o.getpath_riscos\
- @.Modules.o.riscosmodule\
- @.^.Modules.o.gcmodule
- # dynamic Modules
- MODULES_DYNAMIC =\
- @.^.Lib.array/pyd\
- @.^.Lib.audioop/pyd\
- @.^.Lib.binascii/pyd\
- @.^.Lib.bz2/pyd\
- @.^.Lib.cmath/pyd\
- @.^.Lib.cPickle/pyd\
- @.^.Lib.cStringIO/pyd\
- @.^.Lib.datetime/pyd\
- @.^.Lib.errno/pyd\
- @.^.Lib.imageop/pyd\
- @.^.Lib.itertools/pyd\
- @.^.Lib.math/pyd\
- @.^.Lib.md5/pyd\
- @.^.Lib.operator/pyd\
- @.^.Lib.parser/pyd\
- @.^.Lib.rgbimg/pyd\
- @.^.Lib.sha/pyd\
- @.^.Lib.signal/pyd\
- @.^.Lib.struct/pyd\
- @.^.Lib.time/pyd\
- @.^.Lib._locale/pyd\
- @.^.Lib.zlib/pyd\
- @.^.Lib.select/pyd\
- @.^.Lib._socket/pyd\
- @.^.Lib._codecs/pyd\
- @.^.Lib._weakref/pyd\
- @.^.Lib._testcapi/pyd\
- @.^.Lib.unicodedata/pyd\
- @.^.Lib.pyexpat/pyd\
- @.^.Lib.plat-riscos.drawf/pyd\
- @.^.Lib.plat-riscos.swi/pyd\
- @.^.Lib._sre/pyd\
- @.^.Lib.xxsubtype/pyd\
- @.^.Lib._symtable/pyd\
- @.^.Lib._random/pyd\
- @.^.Lib.zipimport/pyd\
- @.^.Lib._csv/pyd
- OBJECTS_PYTHON =\
- @.^.Python.o.traceback\
- @.^.Python.o.sysmodule\
- @.^.Python.o.structmember\
- @.^.Python.o.strdup\
- @.^.Python.o.sigcheck\
- @.^.Python.o.pythonrun\
- @.^.Python.o.pystate\
- @.^.Python.o.pyfpe\
- @.^.Python.o.mystrtoul\
- @.^.Python.o.mysnprintf\
- @.^.Python.o.modsupport\
- @.^.Python.o.marshal\
- @.^.Python.o.importdl\
- @.^.Python.o.import\
- @.^.Python.o.graminit\
- @.^.Python.o.getversion\
- @.^.Python.o.getplatform\
- @.^.Python.o.getopt\
- @.^.Python.o.getcopyright\
- @.^.Python.o.getcompiler\
- @.^.Python.o.getargs\
- @.^.Python.o.frozenmain\
- @.^.Python.o.frozen\
- @.^.Python.o.errors\
- @.^.Python.o.compile\
- @.^.Python.o.ceval\
- @.^.Python.o.bltinmodule\
- @.^.Python.o.exceptions\
- @.^.Python.o.codecs\
- @.^.Python.o.symtable\
- @.^.Python.o.future
- OBJECTS_RISCOS = \
- @.Python.o.dynload_riscos\
- @.Python.o.getcwd_riscos\
- @.Python.o.getmtime_riscos\
- @.o.unixstuff
- OBJECTS_OBJECTS =\
- @.^.Objects.o.typeobject\
- @.^.Objects.o.tupleobject\
- @.^.Objects.o.stringobject\
- @.^.Objects.o.sliceobject\
- @.^.Objects.o.rangeobject\
- @.^.Objects.o.object\
- @.^.Objects.o.obmalloc\
- @.^.Objects.o.moduleobject\
- @.^.Objects.o.methodobject\
- @.^.Objects.o.longobject\
- @.^.Objects.o.listobject\
- @.^.Objects.o.intobject\
- @.^.Objects.o.boolobject\
- @.^.Objects.o.iterobject\
- @.^.Objects.o.funcobject\
- @.^.Objects.o.frameobject\
- @.^.Objects.o.floatobject\
- @.^.Objects.o.fileobject\
- @.^.Objects.o.enumobject\
- @.^.Objects.o.dictobject\
- @.^.Objects.o.complexobject\
- @.^.Objects.o.cobject\
- @.^.Objects.o.classobject\
- @.^.Objects.o.cellobject\
- @.^.Objects.o.bufferobject\
- @.^.Objects.o.abstract\
- @.^.Objects.o.unicodectype\
- @.^.Objects.o.unicodeobject\
- @.^.Objects.o.descrobject\
- @.^.Objects.o.weakrefobject\
- @.^.Objects.o.structseq
- OBJECTS_PARSER =\
- @.^.Parser.o.tokenizer\
- @.^.Parser.o.printgrammar\
- @.^.Parser.o.parsetok\
- @.^.Parser.o.parser\
- @.^.Parser.o.node\
- @.^.Parser.o.myreadline\
- @.^.Parser.o.metagrammar\
- @.^.Parser.o.listnode\
- @.^.Parser.o.intrcheck\
- @.^.Parser.o.grammar1\
- @.^.Parser.o.grammar\
- @.^.Parser.o.firstsets\
- @.^.Parser.o.bitset\
- @.^.Parser.o.acceler
- SUPPORT_FILES = @.^.!Boot @.^.!Run @.^.!Sprites @.^.!Sprites22 @.^.AddToPath
- OBJECTS = $(OBJECTS_PYTHON) $(OBJECTS_PARSER) $(MODULES_STATIC) $(OBJECTS_OBJECTS) $(OBJECTS_RISCOS)
- all: @.^.$(TARGET) $(MODULES_DYNAMIC) $(SUPPORT_FILES)
- @.^.Modules.o.getbuildinfo: @.^.Modules.c.getbuildinfo
- $(CC) -DBUILD=$(BUILD) -o @.^.Modules.o.getbuildinfo @.^.Modules.c.getbuildinfo
- $(LIB_PYTHON): $(OBJECTS)
- $(LIBFILE) $(LIB_PYTHON) $(OBJECTS)
- @.^.$(TARGET): o.linktab $(MAIN_PYTHON) $(LIB_PYTHON)
- $(LINK) -o @.^.$(TARGET) $(MAIN_PYTHON) @.^.LibPython $(LOADLIBS)
- #########################################################################
- # RISC OS support files
- #
- @.^.!Boot: support.!Boot
- copy support.!Boot @.^.!Boot ~C~VF
- settype @.^.!Boot feb
- @.^.!Run: support.!Run
- copy support.!Run @.^.!Run ~C~VF
- settype @.^.!Run feb
- @.^.!Sprites: support.!Sprites
- copy support.!Sprites @.^.!Sprites ~C~VF
- settype @.^.!Sprites ff9
- @.^.!Sprites22: support.!Sprites22
- copy support.!Sprites22 @.^.!Sprites22 ~C~VF
- settype @.^.!Sprites22 ff9
- @.^.AddToPath: support.AddToPath
- copy support.AddToPath @.^.AddToPath ~C~VF
- settype @.^.AddToPath ffc
- #########################################################################
- # Dynamic Modules
- #
- @.^.Lib.array/pyd: @.^.Modules.o.arraymodule s.linktab
- $(MAKEDLK) -d @.^.Lib.array/pyd -s s.linktab -o @.^.Modules.o.arraymodule -e initarray
- @.^.Lib.audioop/pyd: @.^.Modules.o.audioop # s.linktab
- $(MAKEDLK) -d @.^.Lib.audioop/pyd -s s.linktab -o @.^.Modules.o.audioop -e initaudioop
- @.^.Lib.binascii/pyd: @.^.Modules.o.binascii s.linktab
- $(MAKEDLK) -d @.^.Lib.binascii/pyd -s s.linktab -o @.^.Modules.o.binascii -e initbinascii
- @.^.Lib.cmath/pyd: @.^.Modules.o.cmathmodule s.linktab
- $(MAKEDLK) -d @.^.Lib.cmath/pyd -s s.linktab -o @.^.Modules.o.cmathmodule -e initcmath
- @.^.Lib.cPickle/pyd: @.^.Modules.o.cPickle s.linktab
- $(MAKEDLK) -d @.^.Lib.cPickle/pyd -s s.linktab -o @.^.Modules.o.cPickle -e initcPickle
- @.^.Lib.cStringIO/pyd: @.^.Modules.o.cStringIO s.linktab
- $(MAKEDLK) -d @.^.Lib.cStringIO/pyd -s s.linktab -o @.^.Modules.o.cStringIO -e initcStringIO
- @.^.Lib._csv/pyd: @.^.Modules.o._csv s.linktab
- $(MAKEDLK) -d @.^.Lib._csv/pyd -s s.linktab -o @.^.Modules.o._csv -e init_csv
- @.^.Lib.plat-riscos.drawf/pyd: Modules.o.drawfmodule #s.linktab
- $(LINK) -aof -o Modules.o.drawflink Modules.o.drawfmodule $(OSLIB).o.OSLIB32
- $(MAKEDLK) -d @.^.Lib.plat-riscos.drawf/pyd -s s.linktab -o Modules.o.drawflink -e initdrawf
- @.^.Lib.datetime/pyd: @.^.Modules.o.datetimemodule s.linktab
- $(MAKEDLK) -d @.^.Lib.datetime/pyd -s s.linktab -o @.^.Modules.o.datetimemodule -e initdatetime
- @.^.Lib.errno/pyd: @.^.Modules.o.errnomodule #s.linktab
- $(MAKEDLK) -d @.^.Lib.errno/pyd -s s.linktab -o @.^.Modules.o.errnomodule -e initerrno
- @.^.Lib.imageop/pyd: @.^.Modules.o.imageop s.linktab
- $(MAKEDLK) -d @.^.Lib.imageop/pyd -s s.linktab -o @.^.Modules.o.imageop -e initimageop
- @.^.Lib.itertools/pyd: @.^.Modules.o.itertoolsmodule s.linktab
- $(MAKEDLK) -d @.^.Lib.itertools/pyd -s s.linktab -o @.^.Modules.o.itertoolsmodule -e inititertools
- @.^.Lib.math/pyd: @.^.Modules.o.mathmodule s.linktab
- $(MAKEDLK) -d @.^.Lib.math/pyd -s s.linktab -o @.^.Modules.o.mathmodule -e initmath
- @.^.Lib.mmap/pyd: @.^.Modules.o.mmapmodule s.linktab
- $(MAKEDLK) -d @.^.Lib.mmap/pyd -s s.linktab -o @.^.Modules.o.mmapmodule -e initmmap
- @.^.Lib.md5/pyd: @.^.Modules.o.md5c @.^.Modules.o.md5module s.linktab
- $(LINK) -aof -o @.^.Modules.o.md5link @.^.Modules.o.md5c @.^.Modules.o.md5module
- $(MAKEDLK) -d @.^.Lib.md5/pyd -s s.linktab -o @.^.Modules.o.md5link -e initmd5
- @.^.Lib.operator/pyd: @.^.Modules.o.operator s.linktab
- $(MAKEDLK) -d @.^.Lib.operator/pyd -s s.linktab -o @.^.Modules.o.operator -e initoperator
- @.^.Lib.parser/pyd: @.^.Modules.o.parsermodule s.linktab
- $(MAKEDLK) -d @.^.Lib.parser/pyd -s s.linktab -o @.^.Modules.o.parsermodule -e initparser
- @.^.Lib.rgbimg/pyd: @.^.Modules.o.rgbimgmodule s.linktab
- $(MAKEDLK) -d @.^.Lib.rgbimg/pyd -s s.linktab -o @.^.Modules.o.rgbimgmodule -e initrgbimg
- @.^.Lib.sha/pyd: @.^.Modules.o.shamodule s.linktab
- $(MAKEDLK) -d @.^.Lib.sha/pyd -s s.linktab -o @.^.Modules.o.shamodule -e initsha
- @.^.Lib.signal/pyd: @.^.Modules.o.signalmodule s.linktab
- $(MAKEDLK) -d @.^.Lib.signal/pyd -s s.linktab -o @.^.Modules.o.signalmodule -e initsignal
- @.^.Lib.strop/pyd: @.^.Modules.o.stropmodule s.linktab
- $(MAKEDLK) -d @.^.Lib.strop/pyd -s s.linktab -o @.^.Modules.o.stropmodule -e initstrop
- @.^.Lib.struct/pyd: @.^.Modules.o.structmodule s.linktab
- $(MAKEDLK) -d @.^.Lib.struct/pyd -s s.linktab -o @.^.Modules.o.structmodule -e initstruct
- @.^.Lib.plat-riscos.swi/pyd: Modules.o.swimodule s.linktab
- $(LINK) -aof -o Modules.o.swilink Modules.o.swimodule $(OSLIB).o.OSLIB32
- $(MAKEDLK) -d @.^.Lib.plat-riscos.swi/pyd -s s.linktab -o Modules.o.swilink -e initswi
- @.^.Lib._locale/pyd: @.^.Modules.o._localemodule s.linktab
- $(MAKEDLK) -d @.^.Lib._locale/pyd -s s.linktab -o @.^.Modules.o._localemodule -e init_locale
- @.^.Lib._sre/pyd: @.^.Modules.o._sre s.linktab
- $(MAKEDLK) -d @.^.Lib._sre/pyd -s s.linktab -o @.^.Modules.o._sre -e init_sre
- @.^.Lib._codecs/pyd: @.^.Modules.o._codecsmodule s.linktab
- $(MAKEDLK) -d @.^.Lib._codecs/pyd -s s.linktab -o @.^.Modules.o._codecsmodule -e init_codecs
- @.^.Lib._weakref/pyd: @.^.Modules.o._weakref s.linktab
- $(MAKEDLK) -d @.^.Lib._weakref/pyd -s s.linktab -o @.^.Modules.o._weakref -e init_weakref
- @.^.Lib._testcapi/pyd: @.^.Modules.o._testcapimodule s.linktab
- $(MAKEDLK) -d @.^.Lib._testcapi/pyd -s s.linktab -o @.^.Modules.o._testcapimodule -e init_testcapi
- @.^.Lib.unicodedata/pyd: @.^.Modules.o.unicodedata s.linktab
- $(MAKEDLK) -d @.^.Lib.unicodedata/pyd -s s.linktab -o @.^.Modules.o.unicodedata -e initunicodedata
- @.^.Lib.xxsubtype/pyd: @.^.Modules.o.xxsubtype s.linktab
- $(MAKEDLK) -d @.^.Lib.xxsubtype/pyd -s s.linktab -o @.^.Modules.o.xxsubtype -e initxxsubtype
- @.^.Lib._random/pyd: @.^.Modules.o._randommodule s.linktab
- $(MAKEDLK) -d @.^.Lib._random/pyd -s s.linktab -o @.^.Modules.o._randommodule -e init_random
- @.^.Lib._symtable/pyd: @.^.Modules.o.symtablemodule s.linktab
- $(MAKEDLK) -d @.^.Lib._symtable/pyd -s s.linktab -o @.^.Modules.o.symtablemodule -e init_symtable
- ############################################################################
- # Dynamic Modules with other dependencies
- #
- @.^.Lib.select/pyd: @.^.Modules.o.selectmodule s.linktab
- $(LINK) -aof -o @.^.Modules.o.selectlink @.^.Modules.o.selectmodule $(TCPIPLIB).o.socklib5
- $(MAKEDLK) -d @.^.Lib.select/pyd -s s.linktab -o @.^.Modules.o.selectlink -e initselect
- @.^.Modules.o.selectmodule: @.^.Modules.c.selectmodule
- $(CC) -I$(TCPIPLIB).include -o $@ @.^.Modules.c.selectmodule
- @.^.Lib._socket/pyd: @.^.Modules.o.socketmodule s.linktab
- $(LINK) -aof -o @.^.Modules.o._socketlink @.^.Modules.o.socketmodule $(TCPIPLIB).o.inetlib $(TCPIPLIB).o.unixlib $(TCPIPLIB).o.socklib5
- $(MAKEDLK) -d @.^.Lib._socket/pyd -s s.linktab -o @.^.Modules.o._socketlink -e init_socket
- @.^.Modules.o.socketmodule: @.^.Modules.c.socketmodule
- $(CC) -I$(TCPIPLIB).include -o $@ @.^.Modules.c.socketmodule
- @.^.Lib.zlib/pyd: @.^.Modules.o.zlibmodule s.linktab
- $(LINK) -aof -o @.^.Modules.o.zliblink @.^.Modules.o.zlibmodule $(ZLIB).zlib
- $(MAKEDLK) -d @.^.Lib.zlib/pyd -s s.linktab -o @.^.Modules.o.zliblink -e initzlib
- @.^.Modules.o.zlibmodule: @.^.Modules.c.zlibmodule
- $(CC) -I$(ZLIB) -o $@ @.^.Modules.c.zlibmodule
- @.^.Lib.bz2/pyd: @.^.Modules.o.bz2module s.linktab
- $(LINK) -aof -o @.^.Modules.o.bz2link @.^.Modules.o.bz2module $(BZLIB).bzlib
- $(MAKEDLK) -d @.^.Lib.bz2/pyd -s s.linktab -o @.^.Modules.o.bz2link -e initbz2
- @.^.Modules.o.bz2module: @.^.Modules.c.bz2module
- $(CC) -I$(BZLIB) -o $@ @.^.Modules.c.bz2module
- @.^.Lib.time/pyd: @.^.Modules.o.timemodule s.linktab @.o.sleep
- $(LINK) -aof -o @.^.Modules.o.timelink @.^.Modules.o.timemodule @.o.sleep $(OSLIB).o.OSLib32
- $(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.^.Modules.o.timelink -e inittime
- #@.^.Lib.time/pyd: @.Modules.o.timemodule s.linktab
- # $(LINK) -aof -o @.Modules.o.timelink @.Modules.o.timemodule $(OSLIB).o.OSLib32
- # $(MAKEDLK) -d @.^.Lib.time/pyd -s s.linktab -o @.Modules.o.timelink -e inittime
- @.^.Lib.pyexpat/pyd: @.^.Modules.o.pyexpat s.linktab
- $(LINK) -aof -o @.^.Modules.o.pyexpatlink @.^.Modules.o.pyexpat $(EXPAT).expat_lib
- $(MAKEDLK) -d @.^.Lib.pyexpat/pyd -s s.linktab -o @.^.Modules.o.pyexpatlink -e initpyexpat
- @.^.Modules.o.pyexpat: @.^.Modules.c.pyexpat
- $(CCEXPAT) -o $@ @.^.Modules.c.pyexpat
- @.^.Lib.zipimport/pyd: @.^.Modules.o.zipimport s.linktab
- $(LINK) -aof -o @.^.Modules.o.zipimportlink @.^.Modules.o.zipimport o.unixstuff $(OSLIB).o.OSLib32
- $(MAKEDLK) -d @.^.Lib.zipimport/pyd -s s.linktab -o @.^.Modules.o.zipimportlink -e initzipimport
- ##########################################################################
- # dynamic linking symbol table
- #
- o.linktab: s.linktab
- ObjAsm -APCS 3/32bit s.linktab o.linktab
- s.linktab: $(OBJECTS)
- $(OBJSCAN) -s s.linktab -o $(OBJECTS) $(clib).o.stubs
- ##########################################################################
- # special targets
- #
- libclean:
- -wipe @.^.Lib.*/pyc ~C~V
- -wipe @.^.Lib.*/pyo ~C~V
- -wipe @.^.Lib.plat-riscos.*/pyc ~C~V
- -wipe @.^.Lib.plat-riscos.*/pyo ~C~V
- -wipe @.^.Lib.test.*/pyc ~C~V
- -wipe @.^.Lib.test.*/pyo ~C~V
- -wipe @.^.Lib.encodings.*/pyc ~C~V
- -wipe @.^.Lib.encodings.*/pyo ~C~V
- -wipe @.^.Lib.curses.*/pyc ~C~V
- -wipe @.^.Lib.curses.*/pyo ~C~V
- -wipe @.^.Lib.xml.*/pyc ~C~V
- -wipe @.^.Lib.xml.*/pyo ~C~V
- -wipe @.^.Lib.xml.sax.*/pyc ~C~V
- -wipe @.^.Lib.xml.sax.*/pyo ~C~V
- -wipe @.^.Lib.xml.dom.*/pyc ~C~V
- -wipe @.^.Lib.xml.dom.*/pyo ~C~V
- -wipe @.^.Lib.xml.parsers.*/pyc ~C~V
- -wipe @.^.Lib.xml.parsers.*/pyo ~C~V
- clean: libclean
- -wipe @.^.Modules.o.* ~C~V
- -wipe @.^.Objects.o.* ~C~V
- -wipe @.^.Parser.o.* ~C~V
- -wipe @.^.Python.o.* ~C~V
- -wipe @.Modules.o.* ~C~V
- -wipe @.Python.o.* ~C~V
- -wipe @.o.* ~C ~V
- rebuild: clean clean-support
- remove @.^.$(TARGET)
- -wipe @.^.Lib.*/pyd ~C ~V
- -wipe @.^.Lib.plat-riscos.*/pyd ~C~V
- remove s.linktab
- remove @.^.LibPython
- clean-support:
- -wipe @.^.!* ~C~V
- remove @.^.AddToPath
- cdirs:
- cdir @.Modules.o
- cdir @.Python.o
- cdir @.s
- cdir @.o
- cdir @.^.Python.o
- cdir @.^.Parser.o
- cdir @.^.Objects.o
- cdir @.^.Modules.o
- # Dynamic dependencies: