summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PC/os2emx/Makefile50
1 files changed, 33 insertions, 17 deletions
diff --git a/PC/os2emx/Makefile b/PC/os2emx/Makefile
index 49aa380..6af4ac9 100644
--- a/PC/os2emx/Makefile
+++ b/PC/os2emx/Makefile
@@ -1,4 +1,4 @@
-#####################==================----------------·············
+#####################==================----------------
#
# Top-Level Makefile for Building Python 2.3 for OS/2 using GCC/EMX
# Originally written by Andrew Zabolotny, <bit@eltech.ru> for Python 1.5.2
@@ -21,7 +21,7 @@
# make lx (if you have lxlite)
# make test (optional)
#
-#####################==================----------------·············
+#####################==================----------------
# === Compilation mode: debug or release ===
MODE= optimize
@@ -71,6 +71,8 @@ LDFLAGS.A= $(LDFLAGS) $(LIBS)
ARFLAGS= crs
IMPLIB= emximp
EXPLIB= emxexp
+EXEOPT= emxbind
+
# adjust C compiler settings based on build options
ifeq ($(MODE),debug)
@@ -112,6 +114,10 @@ else
AR= ar
endif
+# 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
+
# Source file paths
SRCPATH=.;../../Python;../../Parser;../../Objects;../../Include;../../Modules
# Python contains the central core, containing the builtins and interpreter.
@@ -235,15 +241,6 @@ DESCRIPTION._curses$(MODULE.EXT)= Python Extension DLL for access to ncurses lib
DESCRIPTION.pyexpat$(MODULE.EXT)= Python Extension DLL for access to expat library
# Source files
-SRC.PGEN= $(addprefix ../../Parser/, \
- pgenmain.c \
- pgen.c \
- printgrammar.c \
- grammar.c \
- bitset.c \
- firstsets.c)
-OBJ.PGEN= $(addprefix $(OUT),$(notdir $(SRC.PGEN:.c=$O)))
-
SRC.OS2EMX= config.c dlfcn.c getpathp.c
SRC.MAIN= $(addprefix $(TOP), \
Modules/getbuildinfo.c \
@@ -253,17 +250,20 @@ SRC.MODULES= $(addprefix $(TOP), \
Modules/signalmodule.c \
Modules/posixmodule.c \
Modules/threadmodule.c)
-SRC.PARSER= $(addprefix $(TOP), \
+SRC.PARSE1= $(addprefix $(TOP), \
Parser/acceler.c \
Parser/grammar1.c \
Parser/listnode.c \
Parser/node.c \
Parser/parser.c \
Parser/parsetok.c \
- Parser/tokenizer.c \
Parser/bitset.c \
- Parser/metagrammar.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/bltinmodule.c \
Python/exceptions.c \
@@ -338,6 +338,21 @@ SRC.LIB= $(SRC.OS2EMX) \
$(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
@@ -356,7 +371,6 @@ EASYEXTMODULES= array \
fpetest \
_locale \
math \
- new \
parser \
pwd \
rgbimg \
@@ -471,11 +485,13 @@ $(PYTHON.DLL): $(OUT)dllentry$O $(PYTHON.LIB) $(PYTHON.DEF)
$(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) $(PYTHON.LIB) $(OUT)pgen.def
+$(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)
@@ -631,6 +647,6 @@ zlib$(MODULE.EXT): $(OUT)zlibmodule$O $(OUT)zlib_m.def $(PYTHON.IMPLIB)
# the test target
test:
- ./python -tt ../../lib/test/regrtest.py -l -u "network"
+ ./python -E -tt ../../lib/test/regrtest.py -l -u "network"
-include $(OUTBASE)python.dep