#! now transform these hashes into $project tags
     foreach $file (sort keys %wxGeneric) {
         if ( $wxGeneric{$file} =~ /\b(PS|G|U)\b/ ) {
-            #! this file for some reason was compiled for VC++ 1.52
+            #! this file for some reason wasn't compiled for VC++ 1.52
             next unless $file =~ /^prntdlgg\./;
         }
 
         #! socket files don't compile under Win16 currently
         next if $wxCommon{$file} =~ /\b(32|S)\b/;
 
+        $isCFile = $file =~ /\.c$/;
         $file =~ s/cp?p?$/obj/;
-        $project{"WXCOMMONOBJS"} .= "\$(COMMDIR)\\" . $file . " "
+        $obj = "\$(COMMDIR)\\" . $file . " ";
+        $project{"WXCOMMONOBJS"} .= $obj;
+        $project{"WXCOBJS"} .= $obj if $isCFile;
     }
 
     foreach $file (sort keys %wxMSW) {
     $_ = $project{"WXMSWOBJS"} . $project{"WXCOMMONOBJS"} . $project{"WXGENERICOBJS"};
     my @objs = split;
     foreach (@objs) {
-        s:\\:/:;
-        $text .= $_ . ':     $*.$(SRCSUFF)' . "\n" .
-                 '        cl @<<' . "\n" .
-                 '$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
-                 "<<\n\n";
+       if ( $project{"WXCOBJS"} =~ /\Q$_/ ) {
+               s:\\:/:;
+               $text .= $_ . ':     $*.c' . "\n" .
+                        '        cl @<<' . "\n" .
+                        '$(CPPFLAGS2) /Fo$@ /c /Tc $*.c' . "\n" .
+                        "<<\n\n";
+       }
+       else {
+               s:\\:/:;
+               $text .= $_ . ':     $*.$(SRCSUFF)' . "\n" .
+                        '        cl @<<' . "\n" .
+                        '$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
+                        "<<\n\n";
+       }
     }
 #$}
 
 $(COMMDIR)/lex_yy.c:    $(COMMDIR)/doslex.c
     copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
 
-$(COMMDIR)/extended.obj:     $*.c
-        cl @<<
-$(CPPFLAGS2) /Fo$@ /c /Tc $*.c
-<<
-
-$(COMMDIR)/unzip.obj:     $*.c
-        cl @<<
-$(CPPFLAGS2) /Fo$@ /c /Tc $*.c
-<<
-
-
 $(OBJECTS):    $(WXDIR)/include/wx/setup.h
 
 # Peripheral components
 
 
 
-# This file was automatically generated by tmake at 14:47, 1999/09/05
+# This file was automatically generated by tmake at 22:42, 1999/09/05
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
 
 #
 $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
 <<
 
-$(MSWDIR)/pnghand.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
-<<
-
 $(MSWDIR)/printdlg.obj:     $*.$(SRCSUFF)
         cl @<<
 $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
 $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
 <<
 
-$(COMMDIR)/imagpng.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
-<<
-
 $(COMMDIR)/intl.obj:     $*.$(SRCSUFF)
         cl @<<
 $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
 
 
 MFTYPE=dos
-# Don't regenerate! We're out of sync for now.
-#makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
-#      cd $(WXWIN)\distrib\msw\tmake
-#      tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
-#      copy makefile.$(MFTYPE) $(WXWIN)\src\msw
+makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
+       cd $(WXWIN)\distrib\msw\tmake
+       tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
+       copy makefile.$(MFTYPE) $(WXWIN)\src\msw