diff --git a/PC/os2vacpp/makefile b/PC/os2vacpp/makefile
index 680a8e6..13eeb19 100644
--- a/PC/os2vacpp/makefile
+++ b/PC/os2vacpp/makefile
@@ -6,10 +6,10 @@
 # for OS/2 compiler, version 3.0, with Fixpack 8 applied.  It uses
 # version 4.0 of the NMAKE tool that comes with that package.
 #
-# The output of the build is a largish Python15.DLL containing the
+# The output of the build is a largish Python23.DLL containing the
 # essential modules of Python and a small Python.exe program to start
 # the interpreter.  When embedding Python within another program, only
-# Python15.DLL is needed.
+# Python23.DLL is needed.
 #
 # These two binaries can be statically linked with the VisualAge C/C++
 # runtime library (producing larger binaries), or dynamically linked
@@ -133,24 +133,33 @@
 PARSER		=                              \
                   $(PATHOBJ)\Acceler.obj       \
                   $(PATHOBJ)\Grammar1.obj      \
-                  $(PATHOBJ)\MyReadline.obj    \
+                  $(PATHOBJ)\ListNode.obj      \
                   $(PATHOBJ)\Node.obj          \
                   $(PATHOBJ)\Parser.obj        \
                   $(PATHOBJ)\ParseTok.obj      \
-                  $(PATHOBJ)\Tokenizer.obj
+                  $(PATHOBJ)\BitSet.obj        \
+                  $(PATHOBJ)\MetaGrammar.obj   \
+                  $(PATHOBJ)\Tokenizer.obj     \
+                  $(PATHOBJ)\MyReadline.obj
 
 # Python Object Types
 OBJECTS		=                              \
                   $(PATHOBJ)\Abstract.obj      \
+                  $(PATHOBJ)\BoolObject.obj    \
+                  $(PATHOBJ)\BufferObject.obj  \
+                  $(PATHOBJ)\CellObject.obj    \
                   $(PATHOBJ)\ClassObject.obj   \
                   $(PATHOBJ)\CObject.obj       \
                   $(PATHOBJ)\ComplexObject.obj \
+                  $(PATHOBJ)\DescrObject.obj   \
                   $(PATHOBJ)\DictObject.obj    \
+                  $(PATHOBJ)\EnumObject.obj    \
                   $(PATHOBJ)\FileObject.obj    \
                   $(PATHOBJ)\FloatObject.obj   \
                   $(PATHOBJ)\FrameObject.obj   \
                   $(PATHOBJ)\FuncObject.obj    \
                   $(PATHOBJ)\IntObject.obj     \
+                  $(PATHOBJ)\IterObject.obj    \
                   $(PATHOBJ)\ListObject.obj    \
                   $(PATHOBJ)\LongObject.obj    \
                   $(PATHOBJ)\MethodObject.obj  \
@@ -159,14 +168,12 @@
                   $(PATHOBJ)\RangeObject.obj   \
                   $(PATHOBJ)\SliceObject.obj   \
                   $(PATHOBJ)\StringObject.obj  \
+                  $(PATHOBJ)\StructSeq.obj     \
                   $(PATHOBJ)\TupleObject.obj   \
                   $(PATHOBJ)\TypeObject.obj    \
-                  $(PATHOBJ)\unicodeobject.obj \
-                  $(PATHOBJ)\unicodectype.obj  \
-                  $(PATHOBJ)\cellobject.obj    \
-                  $(PATHOBJ)\descrobject.obj   \
-                  $(PATHOBJ)\weakrefobject.obj \
-                  $(PATHOBJ)\structseq.obj
+                  $(PATHOBJ)\UnicodeObject.obj \
+                  $(PATHOBJ)\UnicodeCType.obj  \
+                  $(PATHOBJ)\WeakrefObject.obj
 
 # Extension Modules (Built-In or as Separate DLLs)
 MODULES		=                              \
@@ -176,6 +183,7 @@
                   $(PATHOBJ)\cPickle.obj       \
                   $(PATHOBJ)\cStringIO.obj     \
                   $(PATHOBJ)\ErrnoModule.obj   \
+                  $(PATHOBJ)\GCModule.obj      \
                   $(PATHOBJ)\GetBuildInfo.obj  \
                   $(PATHOBJ)\GetPathP.obj      \
                   $(PATHOBJ)\Main.obj          \
@@ -196,20 +204,17 @@
                   $(PATHOBJ)\StructModule.obj  \
                   $(PATHOBJ)\TimeModule.obj    \
                   $(PATHOBJ)\ThreadModule.obj  \
-                  $(PATHOBJ)\YUVConvert.obj    \
-                  $(PATHOBJ)\bufferobject.obj  \
-                  $(PATHOBJ)\gcmodule.obj
+                  $(PATHOBJ)\YUVConvert.obj
 
 # Standalone Parser Generator Program (Shares Some of Python's Modules)
 PGEN            =                              \
-                  $(PATHOBJ)\PGenMain.obj      \
                   $(PATHOBJ)\PGen.obj          \
+                  $(PATHOBJ)\PGenMain.obj      \
+                  $(PATHOBJ)\MySNPrintf.obj    \
+                  $(PATHOBJ)\Tokenizer_Pgen.obj \
                   $(PATHOBJ)\PrintGrammar.obj  \
-                  $(PATHOBJ)\ListNode.obj      \
                   $(PATHOBJ)\Grammar.obj       \
-                  $(PATHOBJ)\BitSet.obj        \
-                  $(PATHOBJ)\FirstSets.obj     \
-                  $(PATHOBJ)\MetaGrammar.obj
+                  $(PATHOBJ)\FirstSets.obj
 
 ##################
 # Macros and Flags
@@ -223,7 +228,7 @@
 		# /Gm  = Use Multithread Runtime
 		# /Gd  = Dynamically Load Runtime
 		# /Ms  = Use _System Calling Convention (vs _Optlink)
-		#        (to allow non-VAC++ code to call into Python22.dll)
+		#        (to allow non-VAC++ code to call into Python23.dll)
 
 _OPT		= /O /Gl
 		# /O   = Enable Speed-Optimizations
@@ -258,8 +263,8 @@
 ###################
 # Primary Target(s)
 ###################
-All:  obj noise PyCore.lib Python22.lib PGen.exe \
-      Python.exe PythonPM.exe Python22.dll # _tkinter.dll
+All:  obj noise PyCore.lib Python23.lib PGen.exe \
+      Python.exe PythonPM.exe Python23.dll # _tkinter.dll
 
 Modules: $(MODULES)
 Objects: $(OBJECTS)
@@ -279,7 +284,7 @@
 ##############
 
 # Python Extension DLL: Tcl/Tk Interface
-#_tkinter.dll: $(PATHOBJ)\_tkinter.obj Python22.lib _tkinter.def
+#_tkinter.dll: $(PATHOBJ)\_tkinter.obj Python23.lib _tkinter.def
 #	@ Echo Linking $@ As DLL
 #	@ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
 
@@ -292,7 +297,7 @@
 	@ Echo Adding Updated Object Files to Link Library $@
 	@ ! ILIB $@ /NOLOGO /NOBACKUP -+$? ; >>$(ERRS)
 
-Python22.dll: $(PATHOBJ)\Compile.obj PyCore.lib Python.def
+Python23.dll: $(PATHOBJ)\Compile.obj PyCore.lib Python.def
 	@ Echo Linking $@ As DLL
 	@ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
 #	@ Echo Compressing $@ with LxLite
@@ -303,19 +308,19 @@
 	@ Echo Compiling $**
 	@ $(CC) -c $(CFLAGS) $(_DLL) -Fo$@ $** >>$(ERRS)
 
-# Import Library for Using the Python22.dll
-Python22.lib: Python.def
+# Import Library for Using the Python23.dll
+Python23.lib: Python.def
 	@ Echo Making $@
 	@ IMPLIB /NOLOGO /NOIGNORE $@ $** >>$(ERRS)
 	@ ILIB /NOLOGO /CONVFORMAT /NOEXTDICTIONARY /NOBROWSE /NOBACKUP $@; >>$(ERRS)
 
-# Small Command-Line Program to Start Interpreter in Python22.dll
-Python.exe: $(PATHOBJ)\Python.obj Python22.lib
+# Small Command-Line Program to Start Interpreter in Python23.dll
+Python.exe: $(PATHOBJ)\Python.obj Python23.lib
 	@ Echo Linking $@ As EXE
 	@ $(CC) $(CFLAGS) $(_EXE) /B"/PM:VIO /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
 
-# Small PM-GUI Program to Start Interpreter in Python22.dll
-PythonPM.exe: $(PATHOBJ)\Python.obj Python22.lib
+# Small PM-GUI Program to Start Interpreter in Python23.dll
+PythonPM.exe: $(PATHOBJ)\Python.obj Python23.lib
 	@ Echo Linking $@ As EXE
 	@ $(CC) $(CFLAGS) $(_EXE) /B"/PM:PM /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
 
@@ -335,13 +340,13 @@
 
 # Remove All Targets, Including Final Binaries
 distclean: clean
-        -- Del /Q PyCore.lib Python22.lib       >NUL 2>&1
-        -- Del /Q Python22.dll Python.exe PGen.exe >NUL 2>&1
+        -- Del /Q PyCore.lib Python23.lib       >NUL 2>&1
+        -- Del /Q Python23.dll Python.exe PGen.exe >NUL 2>&1
 
-release: Python.exe Python22.dll Python22.lib
+release: Python.exe Python23.dll Python23.lib
 	-- @Echo Y | copy /U Python.exe   D:\EXEs
-	-- @Echo Y | copy /U Python22.dll D:\DLLs
-	-- @Echo Y | copy /U Python22.lib E:\Tau\Lib
+	-- @Echo Y | copy /U Python23.dll D:\DLLs
+	-- @Echo Y | copy /U Python23.lib E:\Tau\Lib
 	-- @Echo Y | copy /U _tkinter.dll D:\Python
 
 test:
