]> git.saurik.com Git - wxWidgets.git/blobdiff - distrib/msw/tmake/b32.t
fixed incorrectly inversed test for parent [not] being deleted (patch 1624472)
[wxWidgets.git] / distrib / msw / tmake / b32.t
index 49c6f27c5660b3d64a2663989bc24297c2bcdb73..d873bb746d3b6df88ba75834f44635ef1e5b7440 100644 (file)
     IncludeTemplate("filelist.t");
 
     #! now transform these hashes into $project tags
-    foreach $file (sort keys %wxGeneric) {
-        my $tag = "";
-        next if $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/;
+    foreach $file (sort keys %wxUNIV) {
+        next if $wxUNIV{$file} =~ /\T\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $obj = "\$(UNIVDIR)\\" . $file . " ";
+        $project{"WXUNIVOBJS"} .= "\$(OBJ_PATH)\\" . $file . " "
+    }
+
+    foreach $file (sort keys %wxUNIV) {
+        next unless $wxUNIV{$file} =~ /\T\b/;
 
         $file =~ s/cp?p?$/obj/;
-        $project{"WXGENERICOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+        $obj = "\$(UNIVTHEMEDIR)\\" . $file . " ";
+        $project{"WXUNIVTHEMEOBJS"} .= "\$(OBJ_PATH)\\" . $file . " "
     }
 
     foreach $file (sort keys %wxHTML) {
         next if $wxHTML{$file} =~ /\b16\b/;
 
         $file =~ s/cp?p?$/obj/;
-        $project{"WXHTMLOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+        $project{"WXHTMLOBJS"} .= "\$(OBJ_PATH)\\" . $file . " "
     }
 
     foreach $file (sort keys %wxCommon) {
+        next if $wxCommon{$file} =~ /\b(16|U)\b/;
+
         $isCFile = $file =~ /\.c$/;
         $file =~ s/cp?p?$/obj/;
-        $obj = "\$(MSWDIR)\\" . $file . " ";
+        $obj = "\$(OBJ_PATH)\\" . $file . " ";
         $project{"WXCOMMONOBJS"} .= $obj;
         $project{"WXCOBJS"} .= $obj if $isCFile;
     }
 
+#! MSW dir for native port
     foreach $file (sort keys %wxMSW) {
         next if $wxMSW{$file} =~ /\b16\b/;
 
-        if ( $file =~ /^automtn/ ) {
-            #! comment in old makefile.b32 seems to imply that this file can't
-            #! be compiled with Borland (leads to crash in oleauto sample)
-            next;
-        }
-
         $isCFile = $file =~ /\.c$/;
 
         my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
         $file =~ s/cp?p?$/obj/;
-        my $obj = "\$(MSWDIR)\\" . $file . " ";
+        my $obj = "\$(OBJ_PATH)\\" . $file . " ";
 
         $project{"WXMSWOBJS"} .= $obj;
         if ( $isOleObj ) {
         }
         $project{"WXCOBJS"} .= $obj if $isCFile;
     }
+
+#! Now do MSW dir for UNIV
+    foreach $file (sort keys %wxMSW) {
+        next unless $wxMSW{$file} =~ /\b(L|B)\b/;
+
+        $isCFile = $file =~ /\.c$/;
+
+        my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
+        $file =~ s/cp?p?$/obj/;
+        my $obj = "\$(OBJ_PATH)\\" . $file . " ";
+
+        $project{"WXMSWUNIVOBJS"} .= $obj;
+        if ( $isOleObj ) {
+            #! remember that this file is in ole subdir
+            $project{"WXOLEUNIVOBJS"} .= $obj;
+        }
+        $project{"WXCUNIVOBJS"} .= $obj if $isCFile;
+    }
+
+#! Generic Dir for Native Port
+    foreach $file (sort keys %wxGeneric) {
+        my $tag = "";
+        next if $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXGENERICOBJS"} .= "\$(OBJ_PATH)\\" . $file . " "
+    }
+
+#! Generic Dir for UNIV Port
+    foreach $file (sort keys %wxGeneric) {
+       my $filereal = $file;
+       if ( $file =~ /^([^.]+)g.cpp$/ ) {
+           $filereal = "$1.cpp";
+       }
+        $file =~ s/cp?p?$/obj/;
+        $filereal =~ s/cp?p?$/obj/;
+
+       next if $project{"WXMSWUNIVOBJS"} =~ /\b$filereal\b/ ||
+               $project{"WXUNIVOBJS"} =~ /\b$filereal\b/;
+
+        
+        $project{"WXGENERICUNIVOBJS"} .= "\$(OBJ_PATH)\\" . $file . " "
+    }
+
 #$}
 
-# This file was automatically generated by tmake at #$ Now()
+# This file was automatically generated by tmake
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
 
 #
 # Makefile : Builds wxWindows library wx.lib for MS Windows,
 # and Borland C++ (32-bit).
 
-!if "$(BCCDIR)" == ""
-!error You must define the BCCDIR variable in autoexec.bat, e.g. BCCDIR=d:\bc4
-!endif
+# BCCDIR now defined in ../makeb32.env
 
 !if "$(WXWIN)" == ""
 !error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
 WXDIR = $(WXWIN)
 THISDIR = $(WXDIR)\src\msw
 
+
 # Set all these to 1 if you want to build a dynamic library
 !if "$(DLL)" == "1"
 WXMAKINGDLL=1
@@ -97,7 +145,6 @@ WXBUILDDLL=1
 # Please set these according to the settings in wx_setup.h, so we can include
 # the appropriate libraries in wx.lib
 USE_CTL3D=0
-USE_XPM_IN_MSW=1
 
 PERIPH_LIBS=
 PERIPH_TARGET=
@@ -110,22 +157,15 @@ PERIPH_TARGET=ctl3d $(PERIPH_TARGET)
 PERIPH_CLEAN_TARGET=clean_ctl3d $(PERIPH_CLEAN_TARGET)
 !endif
 
-!if "$(USE_XPM_IN_MSW)" == "1"
-PERIPH_LIBS=$(WXLIB)\xpm.lib $(PERIPH_LIBS)
-PERIPH_TARGET=xpm $(PERIPH_TARGET)
-PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
-!endif
-
-#PERIPH_LIBS=$(WXDIR)\lib\zlib.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\jpeg.lib $(PERIPH_LIBS)
 PERIPH_LIBS=
-PERIPH_TARGET=zlib png jpeg tiff $(PERIPH_TARGET)
-PERIPH_CLEAN_TARGET=clean_zlib clean_png clean_jpeg clean_tiff $(PERIPH_CLEAN_TARGET)
+PERIPH_TARGET=zlib png jpeg tiff regex $(PERIPH_TARGET)
+PERIPH_CLEAN_TARGET=clean_zlib clean_png clean_jpeg clean_tiff clean_regex $(PERIPH_CLEAN_TARGET)
 
 !if "$(DLL)" == "0"
 DUMMY=dummy
 !else
 DUMMY=dummydll
-LIBS= cw32 import32 ole2w32
+LIBS= cw32mti import32 ole2w32 odbc32 zlib_bc$(DEBUG_SUFFIX) png_bc$(DEBUG_SUFFIX) jpeg_bc$(DEBUG_SUFFIX) tiff_bc$(DEBUG_SUFFIX) regex_bc$(DEBUG_SUFFIX)
 !endif
 
 LIBTARGET=$(WXLIB)
@@ -134,91 +174,157 @@ GENDIR=..\generic
 COMMDIR=..\common
 HTMLDIR=..\html
 OLEDIR=.\ole
+UNIVDIR=..\univ
+UNIVTHEMEDIR=..\univ\themes
 MSWDIR=.
 
 DOCDIR = $(WXDIR)\docs
 
 GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
 
-# Not needed:
-#  $(MSWDIR)\colrdlgg.obj \
-#  $(MSWDIR)\fontdlgg.obj \
-#  $(MSWDIR)\helpxlp.obj \
-#  $(MSWDIR)\msgdlgg.obj \
-#  $(MSWDIR)\printps.obj \
-#  $(MSWDIR)\prntdlgg.obj \
-#  $(MSWDIR)\listctrl.obj \
-#  $(MSWDIR)\notebook.obj \
-#  $(MSWDIR)\treectrl.obj
+MSWOBJS = #$ ExpandList("WXMSWOBJS");
 
-COMMONOBJS = \
-               $(MSWDIR)\y_tab.obj \
-               #$ ExpandList("WXCOMMONOBJS");
+GENERICUNIVOBJS= #$ ExpandList("WXGENERICUNIVOBJS");
 
-MSWOBJS = #$ ExpandList("WXMSWOBJS");
+MSWUNIVOBJS = #$ ExpandList("WXMSWUNIVOBJS");
+
+UNIVOBJS = #$ ExpandList("WXUNIVOBJS");
+
+UNIVTHEMEOBJS = #$ ExpandList("WXUNIVTHEMEOBJS");
 
 HTMLOBJS = #$ ExpandList("WXHTMLOBJS");
 
+COMMONOBJS = \
+        #$ ExpandList("WXCOMMONOBJS");
+
+!if "$(WXUSINGUNIV)" == "1"
+OBJECTS = $(COMMONOBJS) $(GENERICUNIVOBJS) $(MSWUNIVOBJS) $(HTMLOBJS) $(UNIVOBJS) $(UNIVTHEMEOBJS)
+!else
 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
+!endif
+
+default:    wx
 
-default:       wx
+wx:    $(ARCHINCDIR)\wx makeoutdir makesetuph makearchsetuph $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
 
-wx:    $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
+all:    wx
 
-all:   all_libs all_execs
+# Copy the in-CVS setup0.h to setup.h if necessary
+makesetuph:
+     cd $(WXDIR)\include\wx\msw
+     if not exist setup.h copy setup0.h setup.h
+     cd $(WXDIR)\src\msw
+
+# Copy include\wx\msw\setup.h to the architecture-specific location
+makearchsetuph:
+     copy $(SETUPSRCDIR)\setup.h $(ARCHSETUPH)
+     cd $(WXDIR)\src\msw
+
+makeoutdir:
+    -mkdir $(OBJ_PATH)
+
+$(ARCHINCDIR)\wx:
+    -mkdir $(ARCHINCDIR)
+    -mkdir $(ARCHINCDIR)\wx
+    -if exist $(CFG) $(RM) $(CFG)
 
 !if "$(DLL)" == "0"
 
 $(LIBTARGET): $(DUMMY).obj $(OBJECTS)
-        -erase $(LIBTARGET)
-       tlib $(LIBTARGET) /P1024 @&&!
+    -if exist $(LIBTARGET) $(RM) $(LIBTARGET)
+    tlib "$(LIBTARGET)" /P1024 $(LINKDEBUGFLAGS) @&&!
 +$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
 !
 
 !else
 
 $(LIBTARGET): $(DUMMY).obj $(OBJECTS)
-       -erase $(LIBTARGET)
-       -erase $(WXLIBDIR)\wx.dll
-        tlink32 $(LINK_FLAGS) /v @&&!
+    -$(RM) $(LIBTARGET)
+    -$(RM) $(WXDLL)
+        $(LINK) $(LINK_FLAGS) $(LINKDEBUGFLAGS) /L$(WXLIBDIR);$(BCCDIR)\lib;$(BCCDIR)\lib\psdk @&&!
 c0d32.obj $(OBJECTS)
-$(WXLIBDIR)\wx
+$(WXDLL)
 nul
 $(PERIPH_LIBS) $(LIBS)
 wxb32
 !
-        implib -c $(LIBTARGET) $(WXLIBDIR)\wx.dll
-
+        implib -c -f $(LIBTARGET) $(WXDLL)
 !endif
 
 dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
-dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
+dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h version.res
 
-$(MSWDIR)\y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
+version.res:
+    brc32 -r -i$(WXDIR)\include\ $(MSWDIR)\version.rc
 
-#        cl @<<
-# $(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
-# <<
+# $(OBJECTS):   $(WXDIR)\include\wx\setup.h
 
-$(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.c
-        copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
+!if "$(WXUSINGUNIV)" == "1"
+########################################################
+# MSW objects (compile Native or UNIV) - UNIV
+
+#${
+    $_ = $project{"WXMSWUNIVOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";        
+        if ( $project{"WXOLEOBJS"} =~ /\Q$_/ ) { s/OBJ_PATH/OLEDIR/; }
+        $suffix = $project{"WXCUNIVOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
+        s/obj$/$suffix/;
+       s/OBJ_PATH/MSWDIR/;
+        $text .= $_ . "\n\n";
+    }
+#$}
 
-$(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
-    copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
 
-# $(OBJECTS):  $(WXDIR)\include\wx\setup.h
+!else
+########################################################
+# MSW objects (compile Native or UNIV) - Native
 
 #${
     $_ = $project{"WXMSWOBJS"};
     my @objs = split;
     foreach (@objs) {
-        $text .= $_ . ": ";
-        if ( $project{"WXOLEOBJS"} =~ /\Q$_/ ) { s/MSWDIR/OLEDIR/; }
+        $text .= $_ . ": ";    
+        if ( $project{"WXOLEOBJS"} =~ /\Q$_/ ) { s/OBJ_PATH/OLEDIR/; }
         $suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
         s/obj$/$suffix/;
+       s/OBJ_PATH/MSWDIR/;
         $text .= $_ . "\n\n";
     }
 #$}
+!endif
+
+!if "$(WXUSINGUNIV)" == "1"
+########################################################
+# UNIV objects 
+#${
+    $_ = $project{"WXUNIVOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";
+        s/OBJ_PATH/UNIVDIR/;
+        s/obj$/\$(SRCSUFF)/;
+        $text .= $_ . "\n\n";
+    }
+#$}
+
+
+########################################################
+# UNIV THEME objects 
+
+#${
+    $_ = $project{"WXUNIVTHEMEOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";
+        s/OBJ_PATH/UNIVTHEMEDIR/;
+        s/obj$/\$(SRCSUFF)/;
+        $text .= $_ . "\n\n";
+    }
+#$}
+
+!endif
 
 ########################################################
 # Common objects (always compiled)
@@ -229,26 +335,47 @@ $(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
     foreach (@objs) {
         $text .= $_ . ": ";
         $suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
-        s/MSWDIR/COMMDIR/;
+        s/OBJ_PATH/COMMDIR/;
         s/obj$/$suffix/;
         $text .= $_ . "\n\n";
     }
 #$}
 
+!if "$(WXUSINGUNIV)" == "1"
 ########################################################
 # Generic objects (not always compiled, depending on
 # whether platforms have native implementations)
+# Native
+
+
+#${
+    $_ = $project{"WXGENERICUNIVOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";
+        s/OBJ_PATH/GENDIR/;
+        s/obj$/\$(SRCSUFF)/;
+        $text .= $_ . "\n\n";
+    }
+#$}
+
+!else
+########################################################
+# Generic objects (not always compiled, depending on
+# whether platforms have native implementations)
+# Native
 
 #${
     $_ = $project{"WXGENERICOBJS"};
     my @objs = split;
     foreach (@objs) {
         $text .= $_ . ": ";
-        s/MSWDIR/GENDIR/;
+        s/OBJ_PATH/GENDIR/;
         s/obj$/\$(SRCSUFF)/;
         $text .= $_ . "\n\n";
     }
 #$}
+!endif
 
 ########################################################
 # HTML objects (always compiled)
@@ -258,7 +385,7 @@ $(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
     my @objs = split;
     foreach (@objs) {
         $text .= $_ . ": ";
-        s/MSWDIR/HTMLDIR/;
+        s/OBJ_PATH/HTMLDIR/;
         s/obj$/\$(SRCSUFF)/;
         $text .= $_ . "\n\n";
     }
@@ -267,82 +394,73 @@ $(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
 
 all_utils:
     cd $(WXDIR)\utils
-    make -f makefile.b32
+    ${MAKE} -f makefile.b32
     cd $(WXDIR)\src\msw
 
 all_samples:
     cd $(WXDIR)\samples
-    make -f makefile.b32
+    ${MAKE} -f makefile.b32
     cd $(WXDIR)\src\msw
 
 all_execs:
     cd $(WXDIR)\utils
-    make -f makefile.b32 all_execs
+    ${MAKE} -f makefile.b32 all_execs
     cd $(WXDIR)\src\msw
 
-wxxpm: $(CFG)
-       cd $(WXDIR)\src\xpm
-       make -f makefile.b32 -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
-       cd $(WXDIR)\src\msw
-
-clean_wxxpm:   $(CFG)
-       cd $(WXDIR)\src\xpm
-       make -f makefile.b32 clean
-       cd $(WXDIR)\src\msw
-
 png:    $(CFG)
         cd $(WXDIR)\src\png
-        make -f makefile.b32
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) lib
         cd $(WXDIR)\src\msw
 
 clean_png:
         cd $(WXDIR)\src\png
-        make -f makefile.b32 clean
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) clean
         cd $(WXDIR)\src\msw
 
 zlib:   $(CFG)
         cd $(WXDIR)\src\zlib
-        make -f makefile.b32 lib
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) lib
         cd $(WXDIR)\src\msw
 
 clean_zlib:
         cd $(WXDIR)\src\zlib
-        make -f makefile.b32 clean
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) clean
         cd $(WXDIR)\src\msw
 
 jpeg:    $(CFG)
         cd $(WXDIR)\src\jpeg
-        make -f makefile.b32
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) lib
         cd $(WXDIR)\src\msw
 
 clean_jpeg:
         cd $(WXDIR)\src\jpeg
-        make -f makefile.b32 clean
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) clean
         cd $(WXDIR)\src\msw
 
-xpm:    $(CFG)
-        cd $(WXDIR)\src\xpm
-        make -f makefile.b32 lib
+regex:   $(CFG)
+        cd $(WXDIR)\src\regex
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) lib
         cd $(WXDIR)\src\msw
 
-clean_xpm:
-        cd $(WXDIR)\src\xpm
-        make -f makefile.b32 clean
+clean_regex:
+        cd $(WXDIR)\src\regex
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) clean
         cd $(WXDIR)\src\msw
 
 tiff:   $(CFG)
         cd $(WXDIR)\src\tiff
-        make -f makefile.b32 lib
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) lib
         cd $(WXDIR)\src\msw
 
 clean_tiff:
         cd $(WXDIR)\src\tiff
-        make -f makefile.b32 clean
+        ${MAKE} -f makefile.b32 $(MAKEFLAGS) clean
         cd $(WXDIR)\src\msw
 
 $(CFG): makefile.b32
-       copy &&!
--H=$(WXDIR)\src\msw\wx32.csm
+    copy &&!
+-Hc
+-H=$(OBJ_PATH)\wx32.csm
 -3
 -d
 -a1 # byte alignment
@@ -351,15 +469,14 @@ $(CFG): makefile.b32
 -w-par
 -w-aus
 -w-hid # virtual function A hides virtual function B
--WE
 -tWM
 
--I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/generic;$(WXDIR)/src/png;$(WXDIR)/src/jpeg;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm;$(WXDIR)/src/tiff
+-I$(ARCHINCDIR);$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/generic;$(WXDIR)/src/png;$(WXDIR)/src/jpeg;$(WXDIR)/src/zlib;$(WXDIR)/src/tiff
 -I$(WXDIR)\include\wx\msw\gnuwin32
 
--L$(BCCDIR)\lib
+-L$(BCCDIR)\lib;$(BCCDIR)\lib\psdk
 -D__WXWIN__
--D__WXMSW__
+-D$(PORT)
 -D__WINDOWS__
 -DWIN32
 $(OPT)
@@ -367,20 +484,21 @@ $(DEBUG_FLAGS)
 $(WIN95FLAG)
 ! $(CFG)
 
-#-I$(WXDIR)\src\common\wxxpm\libxpm.34b\lib
-# -Oxt
+cleancfg:
+    -if exist $(OBJ_PATH)\*.cfg $(RM) $(OBJ_PATH)\*.cfg    
 
 clean: $(PERIPH_CLEAN_TARGET)
-    -erase $(LIBTARGET)
-    -erase *.obj
-    -erase *.pch
-    -erase *.csm
-    -erase *.cfg
-    -erase "wx32.#??"
-    -erase ..\common\y_tab.c
-    -erase ..\common\lex_yy.c
+    -if exist $(WXLIBDIR)\wx.il? $(RM) $(WXLIBDIR)\wx.tds
+    -if exist $(WXLIBDIR)\wx.il? $(RM) $(WXLIBDIR)\wx.il?
+    -if exist $(OBJ_PATH)\*.obj $(RM) $(OBJ_PATH)\*.obj    
+    -if exist $(OBJ_PATH)\*.csm $(RM) $(OBJ_PATH)\*.csm    
+    -if exist "$(OBJ_PATH)\wx32.#??" $(RM) "$(OBJ_PATH)\wx32.#??"
+    -if exist *.pch $(RM) *.pch
+    -if exist *.csm $(RM) *.csm
+    -if exist *.obj $(RM) *.obj
+    -if exist "wx32.#??" $(RM) "wx32.#??"
 
-cleanall: clean
+cleanall: clean cleancfg
 
 
 # Making documents
@@ -388,94 +506,89 @@ docs:   allhlp allhtml allpdfrtf
 alldocs: docs
 hlp:    wxhlp portinghlp
 wxhlp:  $(DOCDIR)/winhelp/wx.hlp
-prophlp: $(DOCDIR)/winhelp/prop.hlp
 refhlp: $(DOCDIR)/winhelp/techref.hlp
 rtf:    $(DOCDIR)/winhelp/wx.rtf
-proprtf: $(DOCDIR)/winhelp/prop.rtf
 pdfrtf:    $(DOCDIR)/pdf/wx.rtf
-proppdfrtf: $(DOCDIR)/pdf/prop.rtf
 refpdfrtf: $(DOCDIR)/pdf/techref.rtf
-html:  wxhtml portinghtml
-wxhtml:        $(DOCDIR)\html\wx\wx.htm
+html:   wxhtml portinghtml
+wxhtml: $(DOCDIR)\html\wx\wx.htm
 htmlhelp: $(DOCDIR)\html\wx\wx.chm
-prophtml: $(DOCDIR)\html\proplist\prop.htm
 ps:     wxps referencps
-wxps:  $(WXDIR)\docs\ps\wx.ps
-propps:        $(WXDIR)\docs\ps\prop.ps
-referencps:    $(WXDIR)\docs\ps\referenc.ps
+wxps:   $(WXDIR)\docs\ps\wx.ps
+referencps: $(WXDIR)\docs\ps\referenc.ps
 
 portinghtml: $(DOCDIR)\html\porting\port.htm
 portingrtf: $(DOCDIR)/winhelp/porting.rtf
 portinghlp: $(DOCDIR)/winhelp/porting.hlp
 portingpdfrtf: $(DOCDIR)/pdf/porting.rtf
-portingps:     $(WXDIR)\docs\ps\porting.ps
+portingps:  $(WXDIR)\docs\ps\porting.ps
 
-allhlp: wxhlp portinghlp prophlp
+allhlp: wxhlp portinghlp
         cd $(WXDIR)\utils\dialoged\src
-        make -f makefile.b32 hlp
+        ${MAKE} -f makefile.b32 hlp
         cd $(THISDIR)
 
 #        cd $(WXDIR)\utils\wxhelp\src
-#        make -f makefile.b32 hlp
+#        ${MAKE} -f makefile.b32 hlp
 #        cd $(WXDIR)\utils\tex2rtf\src
-#        make -f makefile.b32 hlp
+#        ${MAKE} -f makefile.b32 hlp
 #        cd $(WXDIR)\utils\wxgraph\src
-#        make -f makefile.b32 hlp
+#        ${MAKE} -f makefile.b32 hlp
 #        cd $(WXDIR)\utils\wxchart\src
-#        make -f makefile.b32 hlp
+#        ${MAKE} -f makefile.b32 hlp
 #        cd $(WXDIR)\utils\wxtree\src
-#        make -f makefile.b32 hlp
+#        ${MAKE} -f makefile.b32 hlp
 #        cd $(WXDIR)\utils\wxbuild\src
-#        make -f makefile.b32 hlp
+#        ${MAKE} -f makefile.b32 hlp
 #        cd $(WXDIR)\utils\wxgrid\src
-#        make -f makefile.b32 hlp
+#        ${MAKE} -f makefile.b32 hlp
 
-allhtml: wxhtml portinghtml prophtml
+allhtml: wxhtml portinghtml
         cd $(WXDIR)\utils\dialoged\src
-        make -f makefile.b32 html
+        ${MAKE} -f makefile.b32 html
         cd $(THISDIR)
 
-#        make -f makefile.b32 html
+#        ${MAKE} -f makefile.b32 html
 #        cd $(WXDIR)\utils\dialoged\src
-#        make -f makefile.b32 html
+#        ${MAKE} -f makefile.b32 html
 #        cd $(WXDIR)\utils\hytext\src
-#        make -f makefile.b32 html
+#        ${MAKE} -f makefile.b32 html
 #        cd $(WXDIR)\utils\wxhelp\src
-#        make -f makefile.b32 html
+#        ${MAKE} -f makefile.b32 html
 #        cd $(WXDIR)\utils\tex2rtf\src
-#        make -f makefile.b32 html
+#        ${MAKE} -f makefile.b32 html
 #        cd $(WXDIR)\utils\wxgraph\src
-#        make -f makefile.b32 html
+#        ${MAKE} -f makefile.b32 html
 #        cd $(WXDIR)\utils\wxchart\src
-#        make -f makefile.b32 html
+#        ${MAKE} -f makefile.b32 html
 #        cd $(WXDIR)\utils\wxtree\src
-#        make -f makefile.b32 html
+#        ${MAKE} -f makefile.b32 html
 
-allps: wxps referencps portingps propps
+allps: wxps referencps portingps
         cd $(WXDIR)\utils\dialoged\src
-        make -f makefile.b32 ps
+        ${MAKE} -f makefile.b32 ps
         cd $(THISDIR)
 
-allpdfrtf: pdfrtf portingpdfrtf proppdfrtf
+allpdfrtf: pdfrtf portingpdfrtf
         cd $(WXDIR)\utils\dialoged\src
-        make -f makefile.b32 pdfrtf
+        ${MAKE} -f makefile.b32 pdfrtf
         cd $(THISDIR)
 
 #        cd $(WXDIR)\utils\wxhelp\src
-#        make -f makefile.b32 ps
+#        ${MAKE} -f makefile.b32 ps
 #        cd $(WXDIR)\utils\tex2rtf\src
-#        make -f makefile.b32 ps
+#        ${MAKE} -f makefile.b32 ps
 #        cd $(WXDIR)\utils\wxgraph\src
-#        make -f makefile.b32 ps
+#        ${MAKE} -f makefile.b32 ps
 #        cd $(WXDIR)\utils\wxchart\src
-#        make -f makefile.b32 ps
+#        ${MAKE} -f makefile.b32 ps
 #        cd $(WXDIR)\utils\wxtree\src
-#        make -f makefile.b32 ps
+#        ${MAKE} -f makefile.b32 ps
 #        cd $(THISDIR)
 
 $(DOCDIR)/winhelp/wx.hlp:         $(DOCDIR)/latex/wx/wx.rtf $(DOCDIR)/latex/wx/wx.hpj
         cd $(DOCDIR)/latex/wx
-        -erase wx.ph
+        -if exist wx.ph $(RM)  wx.ph
         hc wx
         move wx.hlp $(DOCDIR)\winhelp\wx.hlp
         move wx.cnt $(DOCDIR)\winhelp\wx.cnt
@@ -483,23 +596,15 @@ $(DOCDIR)/winhelp/wx.hlp:         $(DOCDIR)/latex/wx/wx.rtf $(DOCDIR)/latex/wx/w
 
 $(DOCDIR)/winhelp/porting.hlp:         $(DOCDIR)/latex/porting/porting.rtf $(DOCDIR)/latex/porting/porting.hpj
         cd $(DOCDIR)/latex/porting
-        -erase porting.ph
+        -if exist porting.ph $(RM)  porting.ph
         hc porting
         move porting.hlp $(DOCDIR)\winhelp\porting.hlp
         move porting.cnt $(DOCDIR)\winhelp\porting.cnt
         cd $(THISDIR)
 
-$(DOCDIR)/winhelp/prop.hlp:         $(DOCDIR)/latex/proplist/prop.rtf $(DOCDIR)/latex/proplist/prop.hpj
-        cd $(DOCDIR)/latex/proplist
-        -erase prop.ph
-        hc prop
-        move prop.hlp $(DOCDIR)\winhelp\prop.hlp
-        move prop.cnt $(DOCDIR)\winhelp\prop.cnt
-        cd $(THISDIR)
-
 $(DOCDIR)/winhelp/techref.hlp:         $(DOCDIR)/latex/techref/techref.rtf $(DOCDIR)/latex/techref/techref.hpj
         cd $(DOCDIR)/latex/techref
-        -erase techref.ph
+        -if exist techref.ph $(RM)  techref.ph
         hc techref
         move techref.hlp $(DOCDIR)\winhelp\techref.hlp
         move techref.cnt $(DOCDIR)\winhelp\techref.cnt
@@ -515,11 +620,6 @@ $(DOCDIR)/latex/porting/porting.rtf:         $(DOCDIR)/latex/porting/porting.tex
         -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/latex/porting/porting.rtf -twice -winhelp
         cd $(THISDIR)
 
-$(DOCDIR)/latex/proplist/prop.rtf:         $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
-        cd $(DOCDIR)\latex\proplist
-        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/prop.rtf -twice -winhelp
-        cd $(THISDIR)
-
 $(DOCDIR)/latex/techref/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
         cd $(DOCDIR)\latex\techref
         -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/latex/techref/techref.rtf -twice -winhelp
@@ -539,13 +639,6 @@ $(DOCDIR)/pdf/porting.rtf:         $(DOCDIR)/latex/porting/porting.tex
         -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/pdf/porting.rtf -twice -rtf
         cd $(THISDIR)
 
-$(DOCDIR)/pdf/prop.rtf:         $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
-        cd $(DOCDIR)\latex\proplist
-        -copy *.wmf $(DOCDIR)\pdf
-        -copy *.bmp $(DOCDIR)\pdf
-        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/pdf/prop.rtf -twice -rtf
-        cd $(THISDIR)
-
 $(DOCDIR)/pdf/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
         cd $(DOCDIR)\latex\techref
         -copy *.wmf $(DOCDIR)\pdf
@@ -557,40 +650,30 @@ $(DOCDIR)\html\wx\wx.htm:         $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex
         cd $(DOCDIR)\latex\wx
         -mkdir $(DOCDIR)\html\wx
         -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\wx\manual.tex $(DOCDIR)\html\wx\wx.htm -twice -html
-        -erase $(DOCDIR)\html\wx\*.con
-        -erase $(DOCDIR)\html\wx\*.ref
-        -erase $(DOCDIR)\latex\wx\*.con
-        -erase $(DOCDIR)\latex\wx\*.ref
+        -if exist $(DOCDIR)\html\wx\*.con $(RM)  $(DOCDIR)\html\wx\*.con
+        -if exist $(DOCDIR)\html\wx\*.ref $(RM)  $(DOCDIR)\html\wx\*.ref
+        -if exist $(DOCDIR)\latex\wx\*.con $(RM)  $(DOCDIR)\latex\wx\*.con
+        -if exist $(DOCDIR)\latex\wx\*.ref $(RM)  $(DOCDIR)\latex\wx\*.ref
          cd $(THISDIR)
 
 $(DOCDIR)\html\wx\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\html\wx\wx.hhp
-       cd $(DOCDIR)\html\wx
-       -hhc wx.hhp
-       cd $(THISDIR)
+    cd $(DOCDIR)\html\wx
+    -hhc wx.hhp
+    cd $(THISDIR)
 
 
 $(DOCDIR)\html\porting\port.htm:         $(DOCDIR)\latex\porting\porting.tex
         cd $(DOCDIR)\latex\porting
         -mkdir $(DOCDIR)\html\porting
         -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\porting\porting.tex $(DOCDIR)\html\porting\port.htm -twice -html
-        -erase $(DOCDIR)\html\porting\*.con
-        -erase $(DOCDIR)\html\porting\*.ref
-        -erase $(DOCDIR)\latex\porting\*.con
-        -erase $(DOCDIR)\latex\porting\*.ref
-        cd $(THISDIR)
-
-$(DOCDIR)\html\proplist\prop.htm:         $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\latex\proplist\body.tex $(DOCDIR)\latex\proplist\classes.tex $(DOCDIR)\latex\proplist\changes.tex
-        cd $(DOCDIR)\latex\proplist
-        -mkdir $(DOCDIR)\html\proplist
-        -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\html\proplist\prop.htm -twice -html
-        -erase $(DOCDIR)\html\proplist\*.con
-        -erase $(DOCDIR)\html\proplist\*.ref
-        -erase $(DOCDIR)\latex\proplist\*.con
-        -erase $(DOCDIR)\latex\proplist\*.ref
+        -if exist $(DOCDIR)\html\porting\*.con $(RM)  $(DOCDIR)\html\porting\*.con
+        -if exist $(DOCDIR)\html\porting\*.ref $(RM)  $(DOCDIR)\html\porting\*.ref
+        -if exist $(DOCDIR)\latex\porting\*.con $(RM)  $(DOCDIR)\latex\porting\*.con
+        -if exist $(DOCDIR)\latex\porting\*.ref $(RM)  $(DOCDIR)\latex\porting\*.ref
         cd $(THISDIR)
 
-$(WXDIR)\docs\latex\wx\manual.dvi:     $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
-       cd $(WXDIR)\docs\latex\wx
+$(WXDIR)\docs\latex\wx\manual.dvi:  $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
+    cd $(WXDIR)\docs\latex\wx
         -latex manual
         -latex manual
         -makeindx manual
@@ -599,8 +682,8 @@ $(WXDIR)\docs\latex\wx\manual.dvi:  $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/w
         -latex manual
         cd $(THISDIR)
 
-$(WXDIR)\docs\latex\porting\porting.dvi:       $(DOCDIR)/latex/porting/porting.tex
-       cd $(WXDIR)\docs\latex\porting
+$(WXDIR)\docs\latex\porting\porting.dvi:    $(DOCDIR)/latex/porting/porting.tex
+    cd $(WXDIR)\docs\latex\porting
         -latex porting
         -latex porting
         -makeindx porting
@@ -609,20 +692,20 @@ $(WXDIR)\docs\latex\porting\porting.dvi:  $(DOCDIR)/latex/porting/porting.tex
         -latex porting
         cd $(THISDIR)
 
-$(WXDIR)\docs\ps\wx.ps:        $(WXDIR)\docs\latex\wx\manual.dvi
-       cd $(WXDIR)\docs\latex\wx
+$(WXDIR)\docs\ps\wx.ps: $(WXDIR)\docs\latex\wx\manual.dvi
+    cd $(WXDIR)\docs\latex\wx
         -dvips32 -o wx.ps manual
         move wx.ps $(WXDIR)\docs\ps\wx.ps
         cd $(THISDIR)
 
-$(WXDIR)\docs\ps\porting.ps:   $(WXDIR)\docs\latex\porting\porting.dvi
-       cd $(WXDIR)\docs\latex\porting
+$(WXDIR)\docs\ps\porting.ps:    $(WXDIR)\docs\latex\porting\porting.dvi
+    cd $(WXDIR)\docs\latex\porting
         -dvips32 -o porting.ps porting
         move porting.ps $(WXDIR)\docs\ps\porting.ps
         cd $(THISDIR)
 
-$(WXDIR)\docs\latex\wx\referenc.dvi:   $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/referenc.tex
-       cd $(WXDIR)\docs\latex\wx
+$(WXDIR)\docs\latex\wx\referenc.dvi:    $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/referenc.tex
+    cd $(WXDIR)\docs\latex\wx
         -latex referenc
         -latex referenc
         -makeindx referenc
@@ -631,8 +714,8 @@ $(WXDIR)\docs\latex\wx\referenc.dvi:        $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/la
         -latex referenc
         cd $(THISDIR)
 
-$(WXDIR)\docs\ps\referenc.ps:  $(WXDIR)\docs\latex\wx\referenc.dvi
-       cd $(WXDIR)\docs\latex\wx
+$(WXDIR)\docs\ps\referenc.ps:   $(WXDIR)\docs\latex\wx\referenc.dvi
+    cd $(WXDIR)\docs\latex\wx
         -dvips32 -o referenc.ps referenc
         move referenc.ps $(WXDIR)\docs\ps\referenc.ps
         cd $(THISDIR)
@@ -654,7 +737,12 @@ MFTYPE=b32
 # makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
 
 self:
-       cd $(WXWIN)\distrib\msw\tmake
-       tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
-       copy makefile.$(MFTYPE) $(WXWIN)\src\msw
-
+!if "$(TM)"=="" 
+       @echo Error in Environment!
+       @echo Please set TM in the environment to the directory containing tmake binaries
+       @echo eg set TM=c:\wx\tmake\bin
+!else
+    cd $(WXWIN)\distrib\msw\tmake
+    perl $(TM)\tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
+    copy makefile.$(MFTYPE) $(WXWIN)\src\msw
+!endif