diff options
Diffstat (limited to 'PC/os2emx/Makefile')
-rw-r--r-- | PC/os2emx/Makefile | 672 |
1 files changed, 0 insertions, 672 deletions
diff --git a/PC/os2emx/Makefile b/PC/os2emx/Makefile deleted file mode 100644 index 800610e..0000000 --- a/PC/os2emx/Makefile +++ /dev/null @@ -1,672 +0,0 @@ -#####################==================---------------- -# -# Top-Level Makefile for Building Python 2.6 for OS/2 using GCC/EMX -# Originally written by Andrew Zabolotny, <bit@eltech.ru> for Python 1.5.2 -# Modified by Andrew MacIntyre, <andymac@pcug.org.au> for Python 2.6 -# -# This makefile was developed for use with [P]GCC/EMX compiler any -# version and GNU Make. -# -# The output of the build is a largish Python26.DLL containing the -# essential modules of Python and a small Python.exe program to start -# the interpreter. When embedding Python within another program, only -# Python26.DLL is needed. We also build python_s.a static library (which -# can be converted into OMF (.lib) format using emxomf tool) and both -# python.a and python.lib import libraries. Then the optional -# extension modules, which are OS/2 DLLs renamed with a PYD file extension. -# -# Recommended build order: -# make depend (if you have makedep) -# make all -# make lx (if you have lxlite) -# make test (optional) -# -#####################==================---------------- - -# === Compilation mode: debug or release === -MODE= optimize -#MODE= debug -# === Assert() enabled === -ASSERTIONS=no -#ASSERTIONS=yes -# === Hard-wire installation location === -FIXED_PYHOME=no -#FIXED_PYHOME=yes - -# === Optional modules === -# Do you have the InfoZip compression library installed? -HAVE_ZLIB= no -# Do you have the Ultra Fast Crypt (UFC) library installed? -HAVE_UFC= no -# Do you have the Tcl/Tk library installed? -HAVE_TCLTK= no -# Do you have the GNU readline library installed? -# NOTE: I'm using a modified version of Kai Uwe Rommel's port that -# - is compiled with multithreading enabled -# - is linked statically -# I have had no success trying to use a DLL version, even when -# compiled with multithreading enabled. -HAVE_GREADLINE= no -# Do you have the BSD DB library (v1.85) as included in the EMXBSD package? -# NOTE: this library needs to be recompiled with a structure member -# renamed to avoid problems with the multithreaded errno support -# (there is a structure member called errno, used for shadowing the -# real errno, which conflicts with the errno redefinition of -Zmt) -HAVE_BSDDB= no -# Do you have the ncurses library installed? EMX's BSD curses aren't enough! -HAVE_NCURSES= no -# Do you have the GDBM library installed? -HAVE_GDBM= no -# Do you have the BZ2 compression library installed? -HAVE_BZ2= no -# Do you have the OpenSSL libraries installed -HAVE_OPENSSL= no - -# === install locations === -# default value of PYTHONHOME -LIB_DIR=C:/Python26 -# default is to have everything in or under PYTHONHOME -EXE_DIR=$(LIB_DIR) -DLL_DIR=$(EXE_DIR) - - -# === The Tools === -CC= gcc -CFLAGS= -Zmt -Wall $(INCLUDE) -CFLAGS.LIB= $(CFLAGS) -LD= gcc -LDFLAGS= -Zmt -Zcrtdll -L. -lgcc -LDFLAGS.EXE= $(LDFLAGS) -LDFLAGS.DLL= $(LDFLAGS) -Zdll -LDFLAGS.A= $(LDFLAGS) $(LIBS) -ARFLAGS= crs -IMPLIB= emximp -EXPLIB= emxexp -EXEOPT= emxbind -PY_DEF= -DPy_BUILD_CORE - - -# adjust C compiler settings based on build options -ifeq ($(MODE),debug) - CFLAGS+= -g -O - LDFLAGS+= -g -else - CFLAGS+= -s -O3 -fomit-frame-pointer -mprobe - LDFLAGS+= -s -endif -CFLAGS+= $(PY_DEF) -ifeq ($(ASSERTIONS),no) - CFLAGS+= -DNDEBUG -endif -ifeq ($(FIXED_PYHOME),yes) - CFLAGS+= -DPREFIX=$(DQUOTE)$(LIB_DIR)$(DQUOTE) -endif - -# We're using the OMF format since EMX's ld has a obscure bug -# because of which it sometimes fails to build relocations -# in .data segment that point to another .data locations -# (except for the final linking if the .EXEs) -OMF= yes - -# if fork() support is required, the main executable must be linked with ld -EXEOMF= no - -# File extensions -MODULE.EXT= .pyd -MODLIB.EXT= .dll -ifeq ($(OMF),yes) - O= .obj - A= .lib - AR= emxomfar - CFLAGS+= -Zomf - LDFLAGS+= -Zomf - ifeq ($(MODE),debug) - ARFLAGS= -p64 crs - else - ARFLAGS= -p32 crs - endif -else - O= .o - A= .a - AR= ar -endif - - -# === Build time resource settings === - -# EMX's default number of file handles is 40, which is sometimes insufficient -# (the tempfile regression test tries to create 100 temporary files) -NFILES=250 - -# The default stack size for child threads is 64k bytes, which is -# insufficient for some applications which do a lot of work in threads -# (such as Zope, especially in conjunction with Plone). -# Note that this setting is distinct from the stack size for the main -# thread, which is set via the %.def rule below. -# EMX documents that the thread stack size should be at least 32768 bytes; -# for Zope/Plone at least 128k bytes is recommended. -# Uncomment & adjust the next line to override the default stack size: -#CFLAGS+= -DTHREAD_STACK_SIZE=0x20000 - - -# === The environment === - -# Source file paths -SRCPATH=.;../../Python;../../Parser;../../Objects;../../Include;../../Modules -# Python contains the central core, containing the builtins and interpreter. -# Parser contains Python's Internal Parser and -# Standalone Parser Generator Program (Shares Some of Python's Modules) -# Objects contains Python Object Types -# Modules contains extension Modules (Built-In or as Separate DLLs) - -# Unix shells tend to use "$" as delimiter for variable names. -# Test for this behaviour and set $(BUCK) variable correspondigly ... -__TMP__:=$(shell echo $$$$) -ifeq ($(__TMP__),$$$$) - BUCK= $$ - BRO= ( - BRC= ) -else - BUCK= \$$ - BRO= \( - BRC= \) -endif -# Compute the "double quote" variable -__TMP__:=$(shell echo "") -ifeq ($(__TMP__),"") - DQUOTE= " -else - DQUOTE= \" -endif - -# Include paths -#INCLUDE= -I$(subst ;, -I, $(SRCPATH)) -INCLUDE= -I. -I../../Include - -# Path to search for .c files -vpath %.c .;..;$(SRCPATH) - -# Top of the package tree -TOP= ../../ - -# Directory for output files -OUTBASE= out/ -OUT= $(OUTBASE)$(MODE)/ - -# Additional libraries -LIBS= -lsocket - -# Utility macro: replacement for $^ -^^= $(filter-out %$A,$^) -# Use $(L^) to link with all libraries specified as dependencies -L^= $(addprefix -l,$(basename $(notdir $(filter %$A,$+)))) - -# Build rules -$(OUT)%$O: %.c - $(CC) $(CFLAGS.LIB) -c $< -o $@ - -%.a: - $(LD) $(LDFLAGS.A) -o $@ $(^^) $(L^) - -%.dll: - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) - -%.pyd: $(OUT)%module$O $(OUT)%_m.def - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(PYTHON.IMPLIB) $(LIBS) - -%.exe: - $(LD) $(LDFLAGS.EXE) -o $@ $(^^) $(L^) - -%_m.def: - @echo Creating .DEF file: $@ - @echo LIBRARY $(notdir $*) INITINSTANCE TERMINSTANCE >$@ - ifeq ($(DESCRIPTION.$(notdir $*)$(MODULE.EXT)),) - @echo DESCRIPTION $(DQUOTE)Python standard module $(notdir $*)$(DQUOTE) >>$@ - else - @echo DESCRIPTION $(DQUOTE)$(DESCRIPTION.$(notdir $*)$(MODULE.EXT))$(DQUOTE) >>$@ - endif - @echo DATA MULTIPLE NONSHARED >>$@ - @echo EXPORTS >>$@ - @echo init$(notdir $*) >>$@ - -%.def: - @echo Creating .DEF file: $@ - @echo NAME $(notdir $*) $(EXETYPE.$(notdir $*).exe) >$@ - @echo DESCRIPTION $(DQUOTE)$(DESCRIPTION.$(notdir $*).exe)$(DQUOTE) >>$@ - @echo STACKSIZE 2097152 >>$@ - -# Output file names -PYTHON_VER= 2.6 -PYTHON_LIB= python33 -PYTHON.LIB= $(PYTHON_LIB)_s$A -PYTHON.IMPLIB= $(PYTHON_LIB)$A -ifeq ($(EXEOMF),yes) - PYTHON.EXEIMP= $(PYTHON.IMPLIB) - LDMODE.EXE= -Zomf -else - PYTHON.EXEIMP= $(PYTHON_LIB).a - LDMODE.EXE = -endif -PYTHON.DLL= $(PYTHON_LIB).dll -PYTHON.DEF= $(PYTHON_LIB).def -PYTHON.EXE= python.exe -PYTHONPM.EXE= pythonpm.exe -PGEN.EXE= pgen.exe -LIBRARY= $(PYTHON.LIB) -LD_LIBRARY= $(PYTHON.IMPLIB) - -# Additional executable parameters -EXETYPE.$(PYTHON.EXE)= WINDOWCOMPAT -EXETYPE.$(PYTHONPM.EXE)= WINDOWAPI -EXETYPE.$(PGEN.EXE)= WINDOWCOMPAT -DESCRIPTION.$(PYTHON.EXE)= Python object-oriented programming language interpreter for OS/2 -DESCRIPTION.$(PYTHONPM.EXE)= $(DESCRIPTION.$(PYTHON.EXE)) -DESCRIPTION.$(PGEN.EXE)= Python object-oriented programming language parser generator for OS/2 - -# Module descriptions -DESCRIPTION.zlib$(MODULE.EXT)= Python Extension DLL for accessing the InfoZip compression library -DESCRIPTION.crypt$(MODULE.EXT)= Python Extension DLL implementing the crypt$(BRO)$(BRC) function -DESCRIPTION._tkinter$(MODULE.EXT)= Python Extension DLL for access to Tcl/Tk Environment -DESCRIPTION.readline$(MODULE.EXT)= Python Extension DLL for access to GNU ReadLine library -DESCRIPTION._curses$(MODLIB.EXT)= Python Extension DLL for access to ncurses library -DESCRIPTION.pyexpat$(MODULE.EXT)= Python Extension DLL for access to expat library -DESCRIPTION.bz2$(MODULE.EXT)= Python Extension DLL for accessing the bz2 compression library - -# Source files -SRC.OS2EMX= config.c dlfcn.c getpathp.c -SRC.MAIN= $(addprefix $(TOP), \ - Modules/getbuildinfo.c \ - Modules/main.c) -SRC.MODULES= $(addprefix $(TOP), \ - Modules/gcmodule.c \ - Modules/signalmodule.c \ - Modules/posixmodule.c \ - Modules/_threadmodule.c \ - Modules/arraymodule.c \ - Modules/binascii.c \ - Modules/cmathmodule.c \ - Modules/_codecsmodule.c \ - Modules/collectionsmodule.c \ - Modules/_csv.c \ - Modules/datetimemodule.c \ - Modules/errnomodule.c \ - Modules/fcntlmodule.c \ - Modules/_functoolsmodule.c \ - Modules/_heapqmodule.c \ - Modules/imageop.c \ - Modules/itertoolsmodule.c \ - Modules/_localemodule.c \ - Modules/mathmodule.c \ - Modules/operator.c \ - Modules/_randommodule.c \ - Modules/sha256module.c \ - Modules/sha512module.c \ - Modules/_sre.c \ - Modules/_struct.c \ - Modules/symtablemodule.c \ - Modules/termios.c \ - Modules/timemodule.c \ - Modules/_weakref.c \ - Modules/xxsubtype.c \ - Modules/zipimport.c) -SRC.PARSE1= $(addprefix $(TOP), \ - Parser/acceler.c \ - Parser/grammar1.c \ - Parser/listnode.c \ - Parser/node.c \ - Parser/parser.c \ - Parser/parsetok.c \ - Parser/bitset.c \ - Parser/metagrammar.c) -SRC.PARSE2= $(addprefix $(TOP), \ - Parser/tokenizer.c \ - Parser/myreadline.c) -SRC.PARSER= $(SRC.PARSE1) \ - $(SRC.PARSE2) -SRC.PYTHON= $(addprefix $(TOP), \ - Python/Python-ast.c \ - Python/asdl.c \ - Python/ast.c \ - Python/bltinmodule.c \ - Python/exceptions.c \ - Python/ceval.c \ - Python/compile.c \ - Python/codecs.c \ - Python/dynamic_annotations.c \ - Python/errors.c \ - Python/frozen.c \ - Python/frozenmain.c \ - Python/future.c \ - Python/getargs.c \ - Python/getcompiler.c \ - Python/getcopyright.c \ - Python/getplatform.c \ - Python/getversion.c \ - Python/graminit.c \ - Python/import.c \ - Python/importdl.c \ - Python/marshal.c \ - Python/modsupport.c \ - Python/mysnprintf.c \ - Python/mystrtoul.c \ - Python/pyarena.c \ - Python/pyctype.c \ - Python/pyfpe.c \ - Python/pystate.c \ - Python/pystrtod.c \ - Python/pythonrun.c \ - Python/structmember.c \ - Python/symtable.c \ - Python/sysmodule.c \ - Python/traceback.c \ - Python/getopt.c \ - Python/dynload_shlib.c \ - Python/thread.c) -SRC.OBJECT= $(addprefix $(TOP), \ - Objects/abstract.c \ - Objects/boolobject.c \ - Objects/cellobject.c \ - Objects/classobject.c \ - Objects/cobject.c \ - Objects/codeobject.c \ - Objects/complexobject.c \ - Objects/descrobject.c \ - Objects/dictobject.c \ - Objects/enumobject.c \ - Objects/fileobject.c \ - Objects/floatobject.c \ - Objects/frameobject.c \ - Objects/funcobject.c \ - Objects/genobject.c \ - Objects/iterobject.c \ - Objects/listobject.c \ - Objects/longobject.c \ - Objects/methodobject.c \ - Objects/moduleobject.c \ - Objects/object.c \ - Objects/obmalloc.c \ - Objects/rangeobject.c \ - Objects/setobject.c \ - Objects/sliceobject.c \ - Objects/stringobject.c \ - Objects/structseq.c \ - Objects/tupleobject.c \ - Objects/typeobject.c \ - Objects/unicodeobject.c \ - Objects/unicodectype.c \ - Objects/weakrefobject.c) - -SRC.LIB= $(SRC.OS2EMX) \ - $(SRC.MAIN) \ - $(SRC.PARSER) \ - $(SRC.OBJECT) \ - $(SRC.PYTHON) \ - $(SRC.MODULES) -OBJ.LIB= $(addprefix $(OUT),$(notdir $(SRC.LIB:.c=$O))) - -SRC.PGEN= $(SRC.PARSE1) \ - $(addprefix $(TOP), \ - Objects/obmalloc.c) \ - $(addprefix $(TOP), \ - Python/mysnprintf.c) \ - $(addprefix $(TOP), \ - Parser/tokenizer_pgen.c \ - Parser/pgenmain.c \ - Parser/pgen.c \ - Parser/printgrammar.c \ - Parser/grammar.c \ - Parser/firstsets.c) \ - -OBJ.PGEN= $(addprefix $(OUT),$(notdir $(SRC.PGEN:.c=$O))) - -SRC.EXE= $(TOP)Modules/python.c -SRC.PMEXE= pythonpm.c - -# Python modules to be dynamically loaded that: -# 1) have only single source file and require no extra libs -# 2) use the standard module naming convention -# (the 'module' in ?????module.c is assumed) -# - these can be built with implicit rules -EASYEXTMODULES= fpectl \ - fpetest \ - parser \ - pwd \ - select - -# Python modules to be dynamically loaded that need explicit build rules -# (either multiple source files and/or non-standard module naming) -# (NOTE: use shortened names for modules affected by 8 char name limit) -HARDEXTMODULES= _socket \ - _testcap \ - unicoded - -# Python modules that are used as libraries and therefore must use -# a .DLL extension -LIBEXTMODULES= - -# Python external ($(MODULE.EXT)) modules - can be EASY or HARD -ifeq ($(HAVE_ZLIB),yes) - HARDEXTMODULES+= zlib -endif -ifeq ($(HAVE_UFC),yes) - HARDEXTMODULES+= crypt -endif -ifeq ($(HAVE_TCLTK),yes) - HARDEXTMODULES+= _tkinter - CFLAGS+= -DHAS_DIRENT -I/TclTk80/include - TK_LIBS+= -L/TclTk80/lib -ltcl80 -ltk80 -endif -ifeq ($(HAVE_GREADLINE),yes) - HARDEXTMODULES+= readline -endif -ifeq ($(HAVE_NCURSES),yes) - LIBEXTMODULES+= _curses - HARDEXTMODULES+= _curses_ -endif -ifeq ($(HAVE_GDBM),yes) - HARDEXTMODULES+= _gdbm _dbm -endif -ifeq ($(HAVE_BZ2),yes) - HARDEXTMODULES+= bz2 -endif -ifeq ($(HAVE_OPENSSL),yes) - HARDEXTMODULES+= _ssl -endif - -# Expat is now distributed with the Python source -HARDEXTMODULES+= pyexpat -EXPAT.INC= -I../../Modules/expat -EXPAT.DEF= -DHAVE_EXPAT_H -DXML_NS=1 -DXML_DTD=1 -DXML_BYTE_ORDER=12 \ - -DXML_CONTENT_BYTES=1024 -DHAVE_MEMMOVE=1 -DHAVE_BCOPY=1 -EXPAT.SRC= $(addprefix ../../Modules/expat/, \ - xmlparse.c \ - xmlrole.c \ - xmltok.c) - -# all the external modules -EXTERNDLLS= $(addsuffix $(MODULE.EXT),$(patsubst %module,%,$(EASYEXTMODULES))) -EXTERNDLLS+= $(addsuffix $(MODULE.EXT),$(patsubst %module,%,$(HARDEXTMODULES))) -EXTERNDLLS+= $(addsuffix $(MODLIB.EXT),$(patsubst %module,%,$(LIBEXTMODULES))) - -# Targets -all: $(OUT) $(PYTHON.LIB) $(PYTHON.DEF) $(PYTHON.IMPLIB) $(PYTHON.DLL) \ - python_noncore - -python_noncore: - make PY_DEF= $(PYTHON.EXE) $(PYTHONPM.EXE) $(PGEN.EXE) $(EXTERNDLLS) - -clean: - rm -f $(OUT)* - rm -f $(PYTHON.LIB) $(PYTHON.IMPLIB) $(PYTHON.EXEIMP) $(PYTHON.DLL) \ - $(PYTHON.EXE) $(PYTHONPM.EXE) $(PGEN.EXE) *$(MODULE.EXT) *.dll - find ../../Lib -name "*.py[co]" -exec rm {} ";" - -lx: - @echo Packing everything with lxLite... - lxlite $(PYTHON.DLL) $(PYTHON.EXE) $(PYTHONPM.EXE) $(PGEN.EXE) - -depend: $(OUTBASE) - makedep -f $(OUTBASE)python.dep -o $(BUCK)O -p $(BUCK)\(OUT\) \ - -r -c $(INCLUDE) $(SRC.LIB) $(SRC.PGEN) - -$(OUT): $(OUTBASE) - -$(OUT) $(OUTBASE): - mkdir.exe $@ - -$(PYTHON.LIB): $(OBJ.LIB) - rm.exe -f $@ - $(AR) $(ARFLAGS) $@ $^ - -# the Python core DLL .def file needs to have a number of non-static -# symbols that aren't part of the Python C API removed (commented out) -# from the DLL export list. -$(PYTHON.DEF): $(PYTHON.LIB) - @echo Creating .DEF file: $@ - @echo LIBRARY $(PYTHON_LIB) INITINSTANCE TERMINSTANCE >$@ - @echo DESCRIPTION $(DQUOTE)Python $(PYTHON_VER) Core DLL$(DQUOTE) >>$@ - @echo PROTMODE >>$@ - @echo DATA MULTIPLE NONSHARED >>$@ - @echo EXPORTS >>$@ - $(EXPLIB) -u $(PYTHON.LIB) |\ - sed -e "/^ .init.*/s/^ /; /" \ - -e "/^ .pcre_.*/s/^ /; /" \ - -e "/^ .array_methods/s/^ /; /" \ - -e "/^ .fast_save_leave/s/^ /; /" \ - -e "/^ .dlopen/s/^ /; /" \ - -e "/^ .dlsym/s/^ /; /" \ - -e "/^ .dlclose/s/^ /; /" \ - -e "/^ .dlerror/s/^ /; /" \ - -e "/^ ._Py_re_.*/s/^ /; /" \ - -e "/^ ._Py_MD5.*/s/^ /; /" >>$@ - -$(PYTHON.IMPLIB): $(PYTHON.DEF) - $(IMPLIB) -o $@ $^ - -$(PYTHON.EXEIMP): $(PYTHON.DEF) - $(IMPLIB) -o $@ $^ - -$(PYTHON.DLL): $(OUT)dllentry$O $(PYTHON.LIB) $(PYTHON.DEF) - -# Explicit make targets for the .EXEs to be able to use LD to link -# (so that fork() will work if required) - -$(PYTHON.EXE): $(SRC.EXE) $(PYTHON.EXEIMP) $(OUT)python.def - $(CC) -Zmt $(LDMODE.EXE) -Zcrtdll -Wall $(INCLUDE) -L. -lgcc -o $@ $(SRC.EXE) $(PYTHON.EXEIMP) $(LIBS) $(OUT)python.def - $(EXEOPT) -aq $(PYTHON.EXE) -h$(NFILES) - -$(PYTHONPM.EXE): $(SRC.PMEXE) $(PYTHON.EXEIMP) $(OUT)pythonpm.def - $(CC) -Zmt $(LDMODE.EXE) -Zcrtdll -Wall $(INCLUDE) -L. -lgcc -o $@ $(SRC.PMEXE) $(PYTHON.EXEIMP) $(LIBS) $(OUT)pythonpm.def - $(EXEOPT) -aq $(PYTHONPM.EXE) -h$(NFILES) - -$(PGEN.EXE): $(OBJ.PGEN) $(OUT)pgen.def - -# Explicit building instructions for those external modules that require -# awkward handling (due e.g. to non-std naming, or multiple source files) -# - standard modules - -_socket$(MODULE.EXT): $(OUT)socketmodule$O $(OUT)_socket_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) - -# _testcapi needs to be renamed to be useful -_testcapi$(MODULE.EXT): $(OUT)_testcapimodule$O $(OUT)_testcapi_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) - -_testcap$(MODULE.EXT): _testcapi$(MODULE.EXT) - cp $^ $@ - -# unicodedata needs to be renamed to be useful -unicodedata$(MODULE.EXT): $(OUT)unicodedata$O $(OUT)unicodedata_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) $(MODULE_LIBS) - -unicoded$(MODULE.EXT): unicodedata$(MODULE.EXT) - cp $^ $@ - -crypt$(MODULE.EXT): $(OUT)cryptmodule$O $(OUT)crypt_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) -lufc $(LIBS) - -# The _curses_panel module requires a couple of ncurses library entry -# points, which are best exposed as exports from the _curses module DLL -$(OUT)_curses_m.def: - @echo Creating .DEF file: $@ - @echo LIBRARY $(notdir $*) INITINSTANCE TERMINSTANCE >$@ - @echo DESCRIPTION $(DQUOTE)$(DESCRIPTION.$(notdir $*)$(MODLIB.EXT))$(DQUOTE) >>$@ - @echo DATA MULTIPLE NONSHARED >>$@ - @echo EXPORTS >>$@ - @echo init_curses >>$@ - @echo wnoutrefresh >>$@ - @echo _nc_panelhook >>$@ - @echo is_linetouched >>$@ - @echo mvwin >>$@ - @echo stdscr >>$@ - @echo wtouchln >>$@ - -$(OUT)_curses_panel_m.def: - @echo Creating .DEF file: $@ - @echo LIBRARY $(notdir $*) INITINSTANCE TERMINSTANCE >$@ - @echo DESCRIPTION $(DQUOTE)Python standard module $(notdir $*)$(DQUOTE) >>$@ - @echo DATA MULTIPLE NONSHARED >>$@ - @echo IMPORTS >>$@ - @echo _curses.wnoutrefresh >>$@ - @echo _curses._nc_panelhook >>$@ - @echo _curses.is_linetouched >>$@ - @echo _curses.mvwin >>$@ - @echo _curses.stdscr >>$@ - @echo _curses.wtouchln >>$@ - @echo EXPORTS >>$@ - @echo init_curses_panel >>$@ - -_curses$(MODLIB.EXT): $(OUT)_cursesmodule$O $(OUT)_curses_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lncurses - -# curses_panel needs to be renamed to be useful -_curses_panel$(MODULE.EXT): $(OUT)_curses_panel$O $(OUT)_curses_panel_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lpanel - -_curses_$(MODULE.EXT): _curses_panel$(MODULE.EXT) - cp $^ $@ - -_dbm$(MODULE.EXT): $(OUT)_dbmmodule$O $(OUT)dbm_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lgdbm - -_gdbm$(MODULE.EXT): $(OUT)_gdbmmodule$O $(OUT)gdbm_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lgdbm - - -# Expat is now distributed with Python, so use the included version -$(OUT)pyexpat$O: ../../Modules/pyexpat.c - $(CC) $(CFLAGS) $(EXPAT.INC) -c -o $@ $^ -$(OUT)xmlparse$O: ../../Modules/expat/xmlparse.c - $(CC) $(CFLAGS) $(EXPAT.INC) $(EXPAT.DEF) -c -o $@ $^ -$(OUT)xmlrole$O: ../../Modules/expat/xmlrole.c - $(CC) $(CFLAGS) $(EXPAT.INC) $(EXPAT.DEF) -c -o $@ $^ -$(OUT)xmltok$O: ../../Modules/expat/xmltok.c - $(CC) $(CFLAGS) $(EXPAT.INC) $(EXPAT.DEF) -c -o $@ $^ -pyexpat$(MODULE.EXT): $(OUT)pyexpat$O $(OUT)xmlparse$O $(OUT)xmlrole$O \ - $(OUT)xmltok$O $(OUT)pyexpat_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) - -readline$(MODULE.EXT): $(OUT)readline$O $(OUT)readline_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lreadline -lncurses - -#_tkinter$(MODULE.EXT): $(OUT)_tkinter$O $(OUT)tclNotify$O $(OUT)tkappinit$O -_tkinter$(MODULE.EXT): $(OUT)_tkinter$O $(OUT)tclNotify$O \ - $(OUT)_tkinter_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) $(TK_LIBS) - -zlib$(MODULE.EXT): $(OUT)zlibmodule$O $(OUT)zlib_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lz - -bz2$(MODULE.EXT): $(OUT)bz2module$O $(OUT)bz2_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lbz2 - -_ssl$(MODULE.EXT): $(OUT)_ssl$O $(OUT)_ssl_m.def $(PYTHON.IMPLIB) - $(LD) $(LDFLAGS.DLL) -o $@ $(^^) $(L^) $(LIBS) -lssl -lcrypto - -# the test target -test: - -find ../../Lib -name "*.py[co]" -exec rm {} ";" - -./python -E ../../lib/test/regrtest.py -l -u "network" - ./python -E ../../lib/test/regrtest.py -l -u "network" - --include $(OUTBASE)python.dep |