# 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
EXPAT = $(LIBSROOT).expat.lib

OBJSCAN = objscan
MAKEDLK = makedlk

# change from time to time (don't forget to change !Boot also)
TARGET=Python22
BUILD=25


#
# 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.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\
	@.^.Lib.xxsubtype/pyd\
	@.^.Lib._symtable/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.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.iterobject\
	@.^.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.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.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.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.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.xreadlines/pyd: @.^.Modules.o.xreadlinesmodule s.linktab
	$(MAKEDLK) -d @.^.Lib.xreadlines/pyd -s s.linktab -o @.^.Modules.o.xreadlinesmodule -e initxreadlines

@.^.Lib.xxsubtype/pyd: @.^.Modules.o.xxsubtype s.linktab
	$(MAKEDLK) -d @.^.Lib.xxsubtype/pyd -s s.linktab -o @.^.Modules.o.xxsubtype -e initxxsubtype

@.^.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.socklib
	$(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.socklib
	$(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.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


##########################################################################
# 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:
