Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Revision c7cf36e501cd9b9fa42a86550a3adfce18e8a64a authored by Fred Drake on 14 February 2008, 14:25:24 UTC, committed by Fred Drake on 14 February 2008, 14:25:24 UTC
Makefile explicitly for now
1 parent 3359477
Tip revision: c7cf36e501cd9b9fa42a86550a3adfce18e8a64a authored by Fred Drake on 14 February 2008, 14:25:24 UTC
mksourcepkg is not getting the tag right by itself, so recording it in the
mksourcepkg is not getting the tag right by itself, so recording it in the
Tip revision: c7cf36e
Makefile
# 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:
Computing file changes ...