mirror of https://github.com/python/cpython
417 lines
13 KiB
Makefile
417 lines
13 KiB
Makefile
# RISC OS Python
|
|
LIBSROOT = $.AcornC_C++.Libraries
|
|
|
|
# You may need to change some of the following
|
|
OSLIB = $(LIBSROOT).OSLib
|
|
CLIB = $(LIBSROOT).clib
|
|
SOCKLIB = $(LIBSROOT).netlib
|
|
DLKLIB = $(LIBSROOT).dlk
|
|
ZLIB = $(LIBSROOT).zlib
|
|
EXPAT = $(LIBSROOT).expat.lib
|
|
|
|
OBJSCAN = $(DLKLIB).objscan
|
|
MAKEDLK = $(DLKLIB).makedlk
|
|
|
|
# change from time to time (don't forget to change !Boot also)
|
|
TARGET=Python21
|
|
BUILD=12
|
|
|
|
|
|
#
|
|
# You shouldn't need to change anything below this line
|
|
#
|
|
OSLIBS = OSLib:Computer,OSLib:Core,OSLib:User
|
|
|
|
DLKFLAG= -DDLK
|
|
DLKOBJS = $(DLKLIB).o.dlk_load @.o.linktab
|
|
|
|
HEADERS = @,@.^.Include,@.^.Modules,@.^.Objects,@.^.Python,$(CLIB),$(OSLIBS),$(DLKLIB)
|
|
|
|
CC = cc -c -j$(HEADERS) $(DLKFLAG) -DRISCOS -DHAVE_CONFIG_H -wad -throwback
|
|
#-depend !Depend
|
|
CCEXPAT = cc -c -j$(HEADERS),$(EXPAT) $(DLKFLAG) -DHAVE_EXPAT_H -DRISCOS -DHAVE_CONFIG_H -wad -throwback
|
|
|
|
LINK = link
|
|
LINKFLAGS = -aif #-NOUNUSED #-d
|
|
LOADLIBS = $(CLIB).o.Stubs $(OSLIB).o.OSLib $(DLKOBJS)
|
|
|
|
|
|
.c.o :
|
|
$(CC) -o $@ $*.c
|
|
|
|
|
|
# code for main Python binary
|
|
MODULES_STATIC =\
|
|
@.^.Modules.o.python\
|
|
@.^.Modules.o.main\
|
|
Modules.o.config\
|
|
@.^.Modules.o.getbuildinfo\
|
|
Modules.o.getpath_riscos\
|
|
Modules.o.riscosmodule
|
|
|
|
|
|
# dynamic Modules
|
|
MODULES_DYNAMIC =\
|
|
@.^.Lib.array/pyd\
|
|
@.^.Lib.audioop/pyd\
|
|
@.^.Lib.binascii/pyd\
|
|
@.^.Lib.cmath/pyd\
|
|
@.^.Lib.cPickle/pyd\
|
|
@.^.Lib.cStringIO/pyd\
|
|
@.^.Lib.errno/pyd\
|
|
@.^.Lib.imageop/pyd\
|
|
@.^.Lib.math/pyd\
|
|
@.^.Lib.md5/pyd\
|
|
@.^.Lib.new/pyd\
|
|
@.^.Lib.operator/pyd\
|
|
@.^.Lib.parser/pyd\
|
|
@.^.Lib.pcre/pyd\
|
|
@.^.Lib.regex/pyd\
|
|
@.^.Lib.rgbimg/pyd\
|
|
@.^.Lib.rotor/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.xreadlines/pyd\
|
|
@.^.Lib.pyexpat/pyd\
|
|
@.^.Lib.plat-riscos.drawf/pyd\
|
|
@.^.Lib.plat-riscos.swi/pyd\
|
|
@.^.Lib._sre/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.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.hypot\
|
|
@.^.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.moduleobject\
|
|
@.^.Objects.o.methodobject\
|
|
@.^.Objects.o.longobject\
|
|
@.^.Objects.o.listobject\
|
|
@.^.Objects.o.intobject\
|
|
@.^.Objects.o.funcobject\
|
|
@.^.Objects.o.frameobject\
|
|
@.^.Objects.o.floatobject\
|
|
@.^.Objects.o.fileobject\
|
|
@.^.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_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
|
|
|
|
|
|
@.^.$(TARGET): $(OBJECTS) o.linktab
|
|
$(LINK) -o @.^.$(TARGET) $(OBJECTS) $(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.plat-riscos.drawf/pyd: Modules.o.drawfmodule #s.linktab
|
|
$(LINK) -aof -o Modules.o.drawflink Modules.o.drawfmodule $(OSLIB).o.OSLIB
|
|
$(MAKEDLK) -d @.^.Lib.plat-riscos.drawf/pyd -s s.linktab -o Modules.o.drawflink -e initdrawf
|
|
|
|
@.^.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.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.new/pyd: @.^.Modules.o.newmodule s.linktab
|
|
$(MAKEDLK) -d @.^.Lib.new/pyd -s s.linktab -o @.^.Modules.o.newmodule -e initnew
|
|
|
|
@.^.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.pcre/pyd: @.^.Modules.o.pcremodule @.^.Modules.o.pypcre s.linktab
|
|
$(LINK) -aof -o @.^.Modules.o.pcrelink @.^.Modules.o.pcremodule @.^.Modules.o.pypcre
|
|
$(MAKEDLK) -d @.^.Lib.pcre/pyd -s s.linktab -o @.^.Modules.o.pcrelink -e initpcre
|
|
|
|
@.^.Lib.regex/pyd: @.^.Modules.o.regexmodule @.^.Modules.o.regexpr s.linktab
|
|
$(LINK) -aof -o @.^.Modules.o.regexlink @.^.Modules.o.regexmodule @.^.Modules.o.regexpr
|
|
$(MAKEDLK) -d @.^.Lib.regex/pyd -s s.linktab -o @.^.Modules.o.regexlink -e initregex
|
|
|
|
@.^.Lib.rgbimg/pyd: @.^.Modules.o.rgbimgmodule s.linktab
|
|
$(MAKEDLK) -d @.^.Lib.rgbimg/pyd -s s.linktab -o @.^.Modules.o.rgbimgmodule -e initrgbimg
|
|
|
|
@.^.Lib.rotor/pyd: @.^.Modules.o.rotormodule s.linktab
|
|
$(MAKEDLK) -d @.^.Lib.rotor/pyd -s s.linktab -o @.^.Modules.o.rotormodule -e initrotor
|
|
|
|
@.^.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.soundex/pyd: @.^.Modules.o.soundex s.linktab
|
|
# $(MAKEDLK) -d @.^.Lib.soundex/pyd -s s.linktab -o @.^.Modules.o.soundex -e initsoundex
|
|
|
|
@.^.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.OSLIB
|
|
$(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.xreadlines/pyd: @.^.Modules.o.xreadlinesmodule s.linktab
|
|
$(MAKEDLK) -d @.^.Lib.xreadlines/pyd -s s.linktab -o @.^.Modules.o.xreadlinesmodule -e initxreadlines
|
|
|
|
|
|
|
|
############################################################################
|
|
# Dynamic Modules with other dependencies
|
|
#
|
|
@.^.Lib.select/pyd: @.^.Modules.o.selectmodule s.linktab
|
|
$(LINK) -aof -o @.^.Modules.o.selectlink @.^.Modules.o.selectmodule $(SOCKLIB).o.socklib
|
|
$(MAKEDLK) -d @.^.Lib.select/pyd -s s.linktab -o @.^.Modules.o.selectlink -e initselect
|
|
|
|
@.^.Modules.o.selectmodule: @.^.Modules.c.selectmodule
|
|
$(CC) -I$(SOCKLIB).include -o $@ @.^.Modules.c.selectmodule
|
|
|
|
@.^.Lib._socket/pyd: @.^.Modules.o.socketmodule s.linktab
|
|
$(LINK) -aof -o @.^.Modules.o._socketlink @.^.Modules.o.socketmodule $(SOCKLIB).o.inetlib $(SOCKLIB).o.unixlib $(SOCKLIB).o.socklib
|
|
$(MAKEDLK) -d @.^.Lib._socket/pyd -s s.linktab -o @.^.Modules.o._socketlink -e init_socket
|
|
|
|
@.^.Modules.o.socketmodule: @.^.Modules.c.socketmodule
|
|
$(CC) -I$(SOCKLIB).include -o $@ @.^.Modules.c.socketmodule
|
|
|
|
|
|
@.^.Lib.zlib/pyd: @.^.Modules.o.zlibmodule s.linktab
|
|
$(LINK) -aof -o @.^.Modules.o.zliblink @.^.Modules.o.zlibmodule $(ZLIB).zlib_lib
|
|
$(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.time/pyd: @.^.Modules.o.timemodule s.linktab @.o.sleep
|
|
$(LINK) -aof -o @.^.Modules.o.timelink @.^.Modules.o.timemodule @.o.sleep $(OSLIB).o.OSLib
|
|
$(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
|
|
|
|
|
|
##########################################################################
|
|
# dynamic linking symbol table
|
|
#
|
|
o.linktab: s.linktab
|
|
ObjAsm s.linktab o.linktab
|
|
|
|
s.linktab: $(OBJECTS)
|
|
$(OBJSCAN) -s s.linktab -o $(OBJECTS) $(clib).o.stubs
|
|
|
|
##########################################################################
|
|
# special targets
|
|
#
|
|
libclean:
|
|
create @.^.Lib.dummy/pyc
|
|
create @.^.Lib.dummy/pyo
|
|
create @.^.Lib.plat-riscos.dummy/pyc
|
|
create @.^.Lib.plat-riscos.dummy/pyo
|
|
create @.^.Lib.test.dummy/pyc
|
|
create @.^.Lib.test.dummy/pyo
|
|
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
|
|
|
|
clean: libclean
|
|
create @.^.Objects.o.dummy
|
|
create @.^.Parser.o.dummy
|
|
create @.^.Modules.o.dummy
|
|
create o.dummy
|
|
create @.^.Python.o.dummy
|
|
wipe @.^.Modules.o.* ~C ~V
|
|
wipe @.^.Objects.o.* ~C ~V
|
|
wipe @.^.Parser.o.* ~C ~V
|
|
wipe @.^.Python.o.* ~C ~V
|
|
wipe o.* ~C ~V
|
|
|
|
rebuild: clean
|
|
create @.^.Lib.dummy/pyd
|
|
create @.^.$(TARGET)
|
|
create @.^.Lib.plat-riscos.dummy/pyd
|
|
create s.linktab
|
|
create o.linktab
|
|
wipe @.^.$(TARGET) ~C~V
|
|
wipe @.^.Lib.*/pyd ~C ~V
|
|
wipe @.^.Lib.plat-riscos.*/pyd ~C~V
|
|
wipe s.linktab ~C~V
|
|
wipe o.linktab ~C~V
|
|
|
|
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:
|