]> git.saurik.com Git - wxWidgets.git/commitdiff
new (for wxBase) or updated and (hopefully() improved Watcom makefiles
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 22 Jan 2003 17:13:52 +0000 (17:13 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 22 Jan 2003 17:13:52 +0000 (17:13 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

12 files changed:
distrib/msw/tmake/wat.t
distrib/msw/tmake/watbase.t [new file with mode: 0644]
samples/console/makefile.wat [new file with mode: 0644]
src/jpeg/makefile.wat
src/makelib.wat
src/makeprog.wat
src/makewat.env
src/msw/makebase.wat [new file with mode: 0644]
src/msw/makefile.wat
src/png/makefile.wat
src/regex/makefile.wat
src/zlib/makefile.wat

index e6d9f58f73df2a00f90e4e2f8150916052ee8886..65b183d569b83431284a5296ee07c3dddeb3c6b9 100644 (file)
@@ -2,10 +2,6 @@
 #! File:    wat.t
 #! Purpose: tmake template file from which makefile.wat is generated by running
 #!          tmake -t wat wxwin.pro -o makefile.wat
-#!          TODO:
-#!            - extended.c, unzip.c must be compiled with $(CC), not $(CCC).
-#!            - extended.c, unzip.c targets must be as per b32.t etc.
-#!            - OLE files not generated correctly (need 'ole/' directory)
 #! Author:  Vadim Zeitlin
 #! Created: 14.07.99
 #! Version: $Id$
@@ -49,7 +45,7 @@
         #! these files don't compile
         next if $file =~ /^pnghand\./;
 
-#!        next if $wxGeneric{$file} =~ /\b16\b/;
+        next if $wxMSW{$file} =~ /\b16\b/;
 
         my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
         my $isCFile = $file =~ /\.c$/;
 # Created:  1998
 #
 # Makefile : Builds wxWindows library for Watcom C++, WIN32
-#
-# NOTE: This file is generated from wat.t by tmake, but not all bugs have
-# been removed from this process. If wxWindows doesn't compile,
-# check the following and edit this makefile accordingly:
-#
-# - OLE-related files such as oleutils.cpp should have 'ole\' prepended
-#   to the path.
-# - extended.c, gsocket.c, unzip.c must be compiled using $(CC), not $(CCC).
-#   They may also be wrongly specified as extended.cpp, etc.
-
-WXDIR = ..\..
-
-!include $(WXDIR)\src\makewat.env
+!include ..\makewat.env
 
-WXLIB = $(WXDIR)\lib
-
-LIBTARGET   = $(WXLIB)\wx.lib
-DUMMY=dummydll
-# ODBCLIB     = ..\..\contrib\odbc\odbc32.lib
+LIBTARGET   = $(WXDIR)\lib\wx$(TOOLKIT)$(DEBGUSUFFIX)$(WATCOM_SUFFIX).lib
 
 EXTRATARGETS = png zlib jpeg tiff regex
 EXTRATARGETSCLEAN = clean_png clean_zlib clean_jpeg clean_tiff clean_regex
@@ -103,44 +83,42 @@ HTMLDIR=$(WXDIR)\src\html
 
 DOCDIR = $(WXDIR)\docs
 
-GENERICOBJS= #$ ExpandGlue("WXGENERICOBJS", "", " &\n\t")
+GENERICOBJS= #$ ExpandGlue("WXGENERICOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
 
 # These are generic things that don't need to be compiled on MSW,
 # but sometimes it's useful to do so for testing purposes.
-NONESSENTIALOBJS= #$ ExpandGlue("WXNONESSENTIALOBJS", "", " &\n\t")
+NONESSENTIALOBJS= #$ ExpandGlue("WXNONESSENTIALOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
 
 COMMONOBJS = &
-       y_tab.obj &
-       #$ ExpandGlue("WXCOMMONOBJS", "", " &\n\t")
+       $(OUTPUTDIR)\y_tab.obj &
+       #$ ExpandGlue("WXCOMMONOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
 
-MSWOBJS = #$ ExpandGlue("WXMSWOBJS", "", " &\n\t")
+MSWOBJS = #$ ExpandGlue("WXMSWOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
 
-HTMLOBJS = #$ ExpandGlue("WXHTMLOBJS", "", " &\n\t")
+HTMLOBJS = #$ ExpandGlue("WXHTMLOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
 
 # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
 
-ARCHINCDIR=$(WXDIR)\lib\msw
 SETUP_H=$(ARCHINCDIR)\wx\setup.h
 
-all:        $(SETUP_H) $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
+all: $(SETUP_H) $(OUTPUTDIR) $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
 
 $(ARCHINCDIR)\wx:
-    mkdir $(ARCHINCDIR)
-    mkdir $(ARCHINCDIR)\wx
+       mkdir $(ARCHINCDIR)
+       mkdir $(ARCHINCDIR)\wx
+
+$(OUTPUTDIR):
+       @if not exist $^@ mkdir $^@
 
 $(SETUP_H): $(WXDIR)\include\wx\msw\setup.h $(ARCHINCDIR)\wx
-    copy $(WXDIR)\include\wx\msw\setup.h $@
+       copy $(WXDIR)\include\wx\msw\setup.h $@
 
+LBCFILE=wx$(TOOLKIT).lbc
 $(LIBTARGET) : $(OBJECTS)
-    %create tmp.lbc
-    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-    wlib /b /c /n /p=512 $^@ @tmp.lbc
-
-#test : $(OBJECTS)
-#    %create tmp.lbc
-#    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-#    wlib /b /c /n /p=512 $^@ @tmp.lbc
+    %create $(LBCFILE)
+    @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+    wlib /b /c /n /p=512 $^@ @$(LBCFILE)
 
 
 clean:   .SYMBOLIC $(EXTRATARGETSCLEAN)
@@ -156,7 +134,7 @@ cleanall:   clean
     $_ = $project{"WXMSWOBJS"};
     my @objs = split;
     foreach (@objs) {
-        $text .= $_ . ':     $(';
+        $text .= "\$(OUTPUTDIR)\\" . $_ . ':     $(';
         s/\.obj$//;
         if ( $project{"WXOLEOBJS"} =~ /\b\Q$_\E\b/ ) {
             $text .= 'OLEDIR)\\';
@@ -167,13 +145,15 @@ cleanall:   clean
         if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
             $suffix = "c";
             $cc="CC";
+            $flags="CFLAGS";
         }
         else {
             $suffix = "cpp";
-            $cc="CCC";
+            $cc="CXX";
+            $flags="CXXFLAGS";
         }
         $text .= $_ . ".$suffix\n" .
-                 "  *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
+                 "  *\$($cc) \$($flags) \$<" . "\n\n";
     }
 #$}
 
@@ -184,27 +164,27 @@ cleanall:   clean
     $_ = $project{"WXCOMMONOBJS"};
     my @objs = split;
     foreach (@objs) {
-        $text .= $_;
+        $text .= "\$(OUTPUTDIR)\\" . $_;
         s/\.obj$//;
         $text .= ':     $(COMMDIR)\\';
         my $suffix, $cc;
         if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
             $suffix = "c";
             $cc="CC";
+            $flags="CFLAGS";
         }
         else {
             $suffix = "cpp";
-            $cc="CCC";
+            $cc="CXX";
+            $flags="CXXFLAGS";
         }
         $text .= $_ . ".$suffix\n" .
-                 "  *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
+                 "  *\$($cc) \$($flags) \$<" . "\n\n";
     }
 #$}
 
-y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
-  *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
-
-#  *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c
+$(OUTPUTDIR)\y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
+  *$(CC) $(CFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
 
 $(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.c
         copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
@@ -220,11 +200,11 @@ $(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
     $_ = $project{"WXGENERICOBJS"};
     my @objs = split;
     foreach (@objs) {
-        $text .= $_;
+        $text .= "\$(OUTPUTDIR)\\" . $_;
         s/\.obj$//;
         $text .= ':     $(GENDIR)\\';
         $text .= $_ . ".cpp\n" .
-                 '  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
+                 '  *$(CXX) $(CXXFLAGS) $<' . "\n\n";
     }
 #$}
 
@@ -236,11 +216,11 @@ $(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
     $_ = $project{"WXHTMLOBJS"};
     my @objs = split;
     foreach (@objs) {
-        $text .= $_;
+        $text .= "\$(OUTPUTDIR)\\" . $_;
         s/\.obj$//;
         $text .= ':     $(HTMLDIR)\\';
         $text .= $_ . ".cpp\n" .
-                 '  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
+                 '  *$(CXX) $(CXXFLAGS) $<' . "\n\n";
     }
 #$}
 
diff --git a/distrib/msw/tmake/watbase.t b/distrib/msw/tmake/watbase.t
new file mode 100644 (file)
index 0000000..9935d99
--- /dev/null
@@ -0,0 +1,182 @@
+#!#############################################################################
+#! File:    wat.t
+#! Purpose: tmake template file from which makefile.wat is generated by running
+#!          tmake -t wat wxwin.pro -o makefile.wat
+#! Author:  Vadim Zeitlin
+#! Created: 14.07.99
+#! Version: $Id$
+#!#############################################################################
+#${
+    #! include the code which parses filelist.txt file and initializes
+    #! %wxCommon, %wxGeneric and %wxMSW hashes.
+    IncludeTemplate("filelist.t");
+
+    #! now transform these hashes into $project tags
+    foreach $file (sort keys %wxCommon) {
+        next if $wxCommon{$file} !~ /\bB\b/;
+
+        $isCFile = $file =~ /\.c$/;
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXCOMMONOBJS"} .= $file . " ";
+        $project{"WXCOBJS"} .= $file . " " if $isCFile;
+    }
+
+    foreach $file (sort keys %wxMSW) {
+        next if $wxMSW{$file} !~ /\bB\b/;
+
+        my $isCFile = $file =~ /\.c$/;
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXMSWOBJS"} .= $file . " ";
+        $project{"WXCOBJS"} .= $file . " " if $isCFile;
+    }
+
+    foreach $file (sort keys %wxBase) {
+        my $isCFile = $file =~ /\.c$/;
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXCOMMONOBJS"} .= $file . " ";
+        $project{"WXCOBJS"} .= $file . " " if $isCFile;
+    }
+
+#$}
+#! an attempt to embed '#' directly in the string somehow didn't work...
+#$ $text = chr(35) . '!/binb/wmake.exe';
+
+# This file was automatically generated by tmake 
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WATBASE.T!
+
+##############################################################################
+# Name:         makebase.wat
+# Purpose:      Builds wxBase library for Watcom C++ under Win32
+# Author:       Vadim Zeitlin
+# Created:      21.01.03
+# RCS-ID:       $Id$
+# Copyright:    (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
+# Licence:      wxWindows licence
+##############################################################################
+
+wxUSE_GUI=0
+
+!include ..\makewat.env
+
+LIBTARGET   = $(WXDIR)\lib\$(LIBNAME).lib
+
+EXTRATARGETS = zlib regex
+EXTRATARGETSCLEAN = clean_zlib clean_regex
+COMMDIR=$(WXDIR)\src\common
+MSWDIR=$(WXDIR)\src\msw
+OLEDIR=$(MSWDIR)\ole
+
+COMMONOBJS = &
+       #$ ExpandGlue("WXCOMMONOBJS", "\$(OUTPUTDIR)", " &\n\t\$(OUTPUTDIR)")
+
+MSWOBJS = &
+       #$ ExpandGlue("WXMSWOBJS", "\$(OUTPUTDIR)", " &\n\t\$(OUTPUTDIR)")
+
+OBJECTS = $(COMMONOBJS) $(MSWOBJS)
+
+SETUP_H=$(ARCHINCDIR)\wx\setup.h
+
+all: $(SETUP_H) $(OUTPUTDIR) $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
+
+$(ARCHINCDIR)\wx:
+       mkdir $(ARCHINCDIR)
+       mkdir $(ARCHINCDIR)\wx
+
+$(OUTPUTDIR):
+       mkdir $(OUTPUTDIR)
+
+$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h $(ARCHINCDIR)\wx
+       copy $(WXDIR)\include\wx\msw\setup.h $@
+
+LBCFILE=$(OUTPUTDIR)wx$(TOOLKIT).lbc
+$(LIBTARGET) : $(OBJECTS)
+    %create $(LBCFILE)
+    @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+    wlib /q /b /c /n /p=512 $^@ @$(LBCFILE)
+
+
+clean:   .SYMBOLIC $(EXTRATARGETSCLEAN)
+    -erase *.obj
+    -erase $(LIBTARGET)
+    -erase *.pch
+    -erase *.err
+    -erase *.lbc
+
+cleanall:   clean
+    -erase $(LBCFILE)
+
+#${
+    $_ = $project{"WXMSWOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= "\$(OUTPUTDIR)" . $_ . ':     $(';
+        s/\.obj$//;
+        $text .= 'MSWDIR)\\';
+
+        my $suffix, $cc;
+        if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
+            $suffix = "c";
+            $cc="CC";
+            $flags="CFLAGS";
+        }
+        else {
+            $suffix = "cpp";
+            $cc="CXX";
+            $flags="CXXFLAGS";
+        }
+        $text .= $_ . ".$suffix\n" .
+                 "  *\$($cc) \$($flags) \$<" . "\n\n";
+    }
+#$}
+
+########################################################
+# Common objects (always compiled)
+
+#${
+    $_ = $project{"WXCOMMONOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= "\$(OUTPUTDIR)" . $_;
+        s/\.obj$//;
+        $text .= ':     $(COMMDIR)\\';
+        my $suffix, $cc;
+        if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
+            $suffix = "c";
+            $cc="CC";
+            $flags="CFLAGS";
+        }
+        else {
+            $suffix = "cpp";
+            $cc="CXX";
+            $flags="CXXFLAGS";
+        }
+        $text .= $_ . ".$suffix\n" .
+                 "  *\$($cc) \$($flags) \$<" . "\n\n";
+    }
+#$}
+
+zlib:   .SYMBOLIC
+    cd $(WXDIR)\src\zlib
+    wmake -f makefile.wat all
+    cd $(WXDIR)\src\msw
+
+clean_zlib:   .SYMBOLIC
+    cd $(WXDIR)\src\zlib
+    wmake -f makefile.wat clean
+    cd $(WXDIR)\src\msw
+
+regex:    .SYMBOLIC
+    cd $(WXDIR)\src\regex
+    wmake -f makefile.wat all
+    cd $(WXDIR)\src\msw
+
+clean_regex:   .SYMBOLIC
+    cd $(WXDIR)\src\regex
+    wmake -f makefile.wat clean
+    cd $(WXDIR)\src\msw
+
+MFTYPE=watbase
+self : .SYMBOLIC $(WXDIR)\distrib\msw\tmake\filelist.txt $(WXDIR)\distrib\msw\tmake\$(MFTYPE).t
+       cd $(WXDIR)\distrib\msw\tmake
+       tmake -t $(MFTYPE) wxwin.pro -o makebase.wat
+       copy makebase.wat $(WXDIR)\src\msw
diff --git a/samples/console/makefile.wat b/samples/console/makefile.wat
new file mode 100644 (file)
index 0000000..6af511e
--- /dev/null
@@ -0,0 +1,9 @@
+wxUSE_GUI = 0
+OUTPUTDIR = Watcom\
+
+PROGRAM = console
+OBJECTS = $(OUTPUTDIR)$(PROGRAM).obj
+
+!include $(%WXWIN)\src\makeprog.wat
+
+
index d1f309c5b363d074f75853af2b62d8ba777576ad..3081493a7a33906b9929195eb24951a50a814930 100644 (file)
@@ -13,81 +13,83 @@ EXTRACPPFLAGS=-i=..\zlib
 
 WXLIB = $(WXDIR)\lib
 
-LIBTARGET   = $(WXLIB)\jpeg.lib
+LIBTARGET = $(WXLIB)\jpeg$(WATCOM_SUFFIX).lib
 
-SYSDEPMEM= jmemnobs.obj
-
-# source files: JPEG library proper
-LIBSOURCES= jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c &
-        jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c &
-        jcphuff.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c &
-        jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c &
-        jdinput.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c &
-        jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c &
-        jfdctint.c jidctflt.c jidctfst.c jidctint.c jidctred.c jquant1.c &
-        jquant2.c jutils.c jmemmgr.c
-# memmgr back ends: compile only one of these into a working library
-SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c
-# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom
-APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c &
-        rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c &
-        rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c
-SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES)
-# files included by source files
-INCLUDES= jchuff.h jdhuff.h jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h &
-        jpegint.h jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h
-# documentation, test, and support files
-DOCS= README install.doc usage.doc cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 &
-        wrjpgcom.1 wizard.doc example.c libjpeg.doc structure.doc &
-        coderules.doc filelist.doc change.log
-MKFILES= configure makefile.cfg makefile.ansi makefile.unix makefile.bcc &
-        makefile.mc6 makefile.dj makefile.wat makefile.vc makelib.ds &
-        makeapps.ds makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st &
-        maktjpeg.st makefile.manx makefile.sas makefile.mms makefile.vms &
-        makvms.opt
-CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat &
-        jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas &
-        jconfig.vms
-CONFIGUREFILES= config.guess config.sub install-sh ltconfig ltmain.sh
-OTHERFILES= jconfig.doc ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm
-TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg &
-        testimgp.jpg
-DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) &
-        $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES)
 # library object files common to compression and decompression
-COMOBJECTS= jcomapi.obj jutils.obj jerror.obj jmemmgr.obj $(SYSDEPMEM)
+COMOBJECTS = &
+    $(OUTPUTDIR)jcomapi.obj &
+    $(OUTPUTDIR)jutils.obj &
+    $(OUTPUTDIR)jerror.obj &
+    $(OUTPUTDIR)jmemmgr.obj &
+    $(OUTPUTDIR)jmemnobs.obj
+
 # compression library object files
-CLIBOBJECTS= jcapimin.obj jcapistd.obj jctrans.obj jcparam.obj jdatadst.obj &
-        jcinit.obj jcmaster.obj jcmarker.obj jcmainct.obj jcprepct.obj &
-        jccoefct.obj jccolor.obj jcsample.obj jchuff.obj jcphuff.obj &
-        jcdctmgr.obj jfdctfst.obj jfdctflt.obj jfdctint.obj
+CLIBOBJECTS = &
+    $(OUTPUTDIR)jcapimin.obj &
+    $(OUTPUTDIR)jcapistd.obj &
+    $(OUTPUTDIR)jctrans.obj &
+    $(OUTPUTDIR)jcparam.obj &
+    $(OUTPUTDIR)jdatadst.obj &
+    $(OUTPUTDIR)jcinit.obj &
+    $(OUTPUTDIR)jcmaster.obj &
+    $(OUTPUTDIR)jcmarker.obj &
+    $(OUTPUTDIR)jcmainct.obj &
+    $(OUTPUTDIR)jcprepct.obj &
+    $(OUTPUTDIR)jccoefct.obj &
+    $(OUTPUTDIR)jccolor.obj &
+    $(OUTPUTDIR)jcsample.obj &
+    $(OUTPUTDIR)jchuff.obj &
+    $(OUTPUTDIR)jcphuff.obj &
+    $(OUTPUTDIR)jcdctmgr.obj &
+    $(OUTPUTDIR)jfdctfst.obj &
+    $(OUTPUTDIR)jfdctflt.obj &
+    $(OUTPUTDIR)jfdctint.obj
+
 # decompression library object files
-DLIBOBJECTS= jdapimin.obj jdapistd.obj jdtrans.obj jdatasrc.obj &
-        jdmaster.obj jdinput.obj jdmarker.obj jdhuff.obj jdphuff.obj &
-        jdmainct.obj jdcoefct.obj jdpostct.obj jddctmgr.obj jidctfst.obj &
-        jidctflt.obj jidctint.obj jidctred.obj jdsample.obj jdcolor.obj &
-        jquant1.obj jquant2.obj jdmerge.obj
+DLIBOBJECTS = &
+    $(OUTPUTDIR)jdapimin.obj &
+    $(OUTPUTDIR)jdapistd.obj &
+    $(OUTPUTDIR)jdtrans.obj &
+    $(OUTPUTDIR)jdatasrc.obj &
+    $(OUTPUTDIR)jdmaster.obj &
+    $(OUTPUTDIR)jdinput.obj &
+    $(OUTPUTDIR)jdmarker.obj &
+    $(OUTPUTDIR)jdhuff.obj &
+    $(OUTPUTDIR)jdphuff.obj &
+    $(OUTPUTDIR)jdmainct.obj &
+    $(OUTPUTDIR)jdcoefct.obj &
+    $(OUTPUTDIR)jdpostct.obj &
+    $(OUTPUTDIR)jddctmgr.obj &
+    $(OUTPUTDIR)jidctfst.obj &
+    $(OUTPUTDIR)jidctflt.obj &
+    $(OUTPUTDIR)jidctint.obj &
+    $(OUTPUTDIR)jidctred.obj &
+    $(OUTPUTDIR)jdsample.obj &
+    $(OUTPUTDIR)jdcolor.obj &
+    $(OUTPUTDIR)jquant1.obj &
+    $(OUTPUTDIR)jquant2.obj &
+    $(OUTPUTDIR)jdmerge.obj
+
 # These objectfiles are included in libjpeg.lib
-OBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
-# object files for sample applications (excluding library files)
-COBJECTS= cjpeg.obj rdppm.obj rdgif.obj rdtarga.obj rdrle.obj rdbmp.obj &
-        rdswitch.obj cdjpeg.obj
-DOBJECTS= djpeg.obj wrppm.obj wrgif.obj wrtarga.obj wrrle.obj wrbmp.obj &
-        rdcolmap.obj cdjpeg.obj
-TROBJECTS= jpegtran.obj rdswitch.obj cdjpeg.obj transupp.obj
-all:        $(OBJECTS) $(LIBTARGET)
+OBJECTS = $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
+
+all: $(OUTPUTDIR) $(LIBTARGET) .SYMBOLIC
+
+$(OUTPUTDIR):
+       @if not exist $^@ mkdir $^@
 
+LBCFILE=$(OUTPUTDIR)jpeg.lbc
 $(LIBTARGET) : $(OBJECTS)
-    %create tmp.lbc
-    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-    wlib /b /c /n /p=512 $^@ @tmp.lbc
+    %create $(LBCFILE)
+    @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+    wlib /q /b /c /n /p=512 $^@ @$(LBCFILE)
 
-clean:   .SYMBOLIC
-    -erase *.obj
+clean: .SYMBOLIC
+    -erase $(OUTPUTDIR)*.obj
     -erase $(LIBTARGET)
-    -erase *.pch
-    -erase *.err
-    -erase *.lbc
+    -erase $(OUTPUTDIR)*.pch
+    -erase $(OUTPUTDIR)*.err
+    -erase $(OUTPUTDIR)*.lbc
 
 cleanall:   clean
 
index 74cc16dc7bb7e312b24a96f9455e602292c33d05..ec5f1a0979fe2bb6fe5c0f2b2e6a971a0f4fc510 100644 (file)
@@ -1,16 +1,14 @@
-WXDIR = $(%WXWIN)
+!include makewat.env
 
-!include $(WXDIR)\src\makewat.env
-
-WXLIB = $(WXDIR)\lib
+# the name of the file containing the objects to be put in the library
 LNK = tmp.lbc
 
 all: $(LIBTARGET)
 
 $(LIBTARGET) : $(OBJECTS)
-    %create tmp.lbc
-    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-    wlib /b /c /n /p=512 $^@ @tmp.lbc
+    %create $(LNK)
+    @for %i in ( $(OBJECTS) ) do @%append $(LNK) +%i
+    wlib /b /c /n /p=512 $^@ @$(LNK)
 
 clean:   .SYMBOLIC
     -erase *.obj
index 99b984842e7532306d9b14ed152021f8ae4ac471..81b497a12818959fa312341af8ea540cc8465aa0 100644 (file)
@@ -3,37 +3,49 @@ WXDIR = $(%WXWIN)
 !include $(WXDIR)\src\makewat.env
 
 WXLIB = $(WXDIR)\lib
-LNK = $(PROGRAM).lnk
+LNK = $(OUTPUTDIR)$(PROGRAM).lnk
 
-all: $(PROGRAM).exe $(EXTRATARGETS)
+all: $(OUTPUTDIR) $(OUTPUTDIR)$(PROGRAM).exe $(EXTRATARGETS) .SYMBOLIC
 
-$(PROGRAM).exe : $(OBJECTS) $(PROGRAM).res $(LNK) $(WXLIB)\wx.lib
+$(OUTPUTDIR):
+       @if not exist $^@ mkdir $^@
+
+!ifeq wxUSE_GUI 0
+RESFILE=
+!else
+RESFILE=$(OUTPUTDIR)$(PROGRAM).res
+!endif
+
+$(OUTPUTDIR)$(PROGRAM).exe : $(OBJECTS) $(RESFILE) $(LNK) $(WXLIB)\$(LIBNAME).lib
     wlink @$(LNK)
-    $(BINDCOMMAND) $(PROGRAM).res
+!ifneq wxUSE_GUI 0
+    $(BINDCOMMAND) $(RESFILE)
+!endif
 
-$(PROGRAM).res :      $(PROGRAM).rc $(WXDIR)\include\wx\msw\wx.rc
-     $(RC) $(RESFLAGS1) $(PROGRAM).rc
+!ifneq wxUSE_GUI 0
+$(RESFILE): $(PROGRAM).rc $(WXDIR)\include\wx\msw\wx.rc
+     $(RC) $(RESFLAGS) /fo=$(RESFILE) $(PROGRAM).rc
+!endif
 
 $(LNK) : makefile.wat
     %create $(LNK)
-    @%append $(LNK) debug all
+    @%append $(LNK) $(DEBUGINFO)
     @%append $(LNK) system $(LINKOPTION)
     @%append $(LNK) $(STACK)
-    @%append $(LNK) name $(PROGRAM).exe
+    @%append $(LNK) name $(OUTPUTDIR)$(PROGRAM).exe
     @for %i in ($(OBJECTS)) do @%append $(LNK) file %i
     @for %i in ($(LIBS)) do @%append $(LNK) lib %i
     @for %i in ($(EXTRALIBS)) do @%append $(LNK) lib %i
-#    @%append $(LNK) $(MINDATA)
-#    @%append $(LNK) $(MAXDATA)
 
 clean:   .SYMBOLIC
-    -erase *.obj
-    -erase *.bak
-    -erase *.err
-    -erase *.pch
-    -erase *.lib
+    -erase $(OUTPUTDIR)*.obj
+    -erase $(OUTPUTDIR)*.bak
+    -erase $(OUTPUTDIR)*.err
+    -erase $(OUTPUTDIR)*.pch
+    -erase $(OUTPUTDIR)*.lib
     -erase $(LNK)
-    -erase *.res
-    -erase *.exe
-    -erase *.lbc
+    -erase $(OUTPUTDIR)*.res
+    -erase $(OUTPUTDIR)*.exe
+    -erase $(OUTPUTDIR)*.lbc
+       -rmdir $(OUTPUTDIR)
 
index b12d76e5d93fbe9bb241645cba8e1d5222278da4..9ff838e3c292cb07dae12e8b733bc579949c43f5 100644 (file)
-# File:         makewat.env
+###############################################################################
+# File:         src/makewat.env
 # Purpose:      Watcom environments for wxWindows makefiles.
 # Author:       Julian Smart and others
-#
-# The main things to change are:
+# Version:      $Id$
+###############################################################################
+
+# The following environment variables must be set:
 #
 #   WATCOM:    set to where the compiler is installed
-#   WXDIR:     set to where the wxWindows is installed
-#   MODE:      set to windows [16 bit windows], nt [win32s], or win386 [32-bit non-WIN32]
+#   WXWIN:     set to where the wxWindows is installed
+#   PATH:      set correctly, i.e. contains all Watcom directories
+#   LIB:       same as PATH
+#   INCLUDE:   same as PATH
+
+# set wxUSE_GUI=0 to build wxBase instead of (default) wxMSW
+!ifndef wxUSE_GUI
+wxUSE_GUI=1
+!endif
 
+# set FINAL=1 to disable debug and enable optimizations
 FINAL=0
-WATCOMDIR=$(%WATCOM)
+
+# set WATCOM_SUFFIX to nothing if you use only Watcom compiler, set it to
+# something Watcom-specific if you want to build wxWindows with more than one
+# compiler
+WATCOM_SUFFIX=_w
 
 .EXTENSIONS:
 .EXTENSIONS: .exe .obj .c .cc .cpp .res .rc .def
 
-#WXDIR = d:\wx2\wxwind~1
+!ifndef %WATCOM
+!error WATCOM environment variable must be set!
+!endif
+WATCOMDIR=$(%WATCOM)
+
+!ifndef %WXWIN
+!error WXWIN environment variable must be set!
+!endif
 WXDIR = $(%WXWIN)
-WXINC = $(WXDIR)\include
 
 # Suffixes
 OBJSUFF=obj
 SRCSUFF=cpp
 
+!ifeq FINAL 1
 WXDEBUG=0
-
-!ifneq NOPRECOMP 1
-PRECOMP     = /fh=$(WXDIR)\src\msw\watcom.pch
+!else
+WXDEBUG=1
 !endif
 
 !ifeq WXDEBUG 1
-DEBUGFLAGS     = /D__WXDEBUG__ /o1
+DEBUGFLAGS  = /D__WXDEBUG__
+DEBUGCFLAGS = $(DEBUGFLAGS) /d2
+DEBUGCXXFLAGS = $(DEBUGFLAGS) /d2i
 DEBUGINFO   = debug all
+DEBUGSUFFIX = d
 !else
-DEBUGFLAGS     =
+DEBUGCFLAGS =
+DEBUGCXXFLAGS =
 DEBUGINFO   =
+DEBUGSUFFIX = 
+!endif
+
+# TOOLKIT is used as the name of lib subdir containing wx/setup.h
+# BASEDIRPREFIX is used to construct OUTPUTDIR
+!ifeq wxUSE_GUI 0
+TOOLKIT = base
+BASEDIRPREFIX = Base
+LINKOPTION = nt
+!else
+TOOLKIT = msw
+LINKOPTION = nt_win
+BASEDIRPREFIX = 
+!endif
+
+ARCHINCDIR=$(WXDIR)\lib\$(TOOLKIT)$(DEBUGSUFFIX)
+
+!ifeq FINAL 1
+CONFIGURATION=Release
+!else
+CONFIGURATION=Debug
 !endif
 
-RC = wrc
+# set OUTPUTDIR to the directory to be used for the .obj files created during
+# the build (under $WXWIN)
+!ifndef OUTPUTDIR
+OUTPUTDIR=$(WXDIR)\$(BASEDIRPREFIX)$(CONFIGURATION)Watcom\
+!endif
 
+!ifneq NOPRECOMP 1
+PRECOMP     = /fh=$(OUTPUTDIR)watcom.pch
+!endif
+
+# the basename of the library
+LIBNAME=wx$(TOOLKIT)$(DEBUGSUFFIX)$(WATCOM_SUFFIX)
+
+# You shouldn't have to modify anything after this point
+########################################################
+
+# only LEVEL=386 is currently supported, 16 bit compilation is probably broken
 LEVEL       = 386
-CCC         = wpp$(LEVEL)
-CC         =  wcc$(LEVEL)
-OS_TARGET   = nt_win
-MODEL       =
-# If you use win95, assumptions will be made about Win95 icon format etc.
-# so nt_win is probably better for simultaneous Win32s/Win95/NT operation.
-LINKOPTION  = nt_win # win95
-WINVERFLAGS = /dWINVER=0x400 /d__WIN95__
+CXX         = wpp$(LEVEL)
+CC          = wcc$(LEVEL)
+RC          = wrc
+WINVERFLAGS = /dWINVER=0x400
 BINDCOMMAND = wrc
 WATLIBDIR   = $(WATCOMDIR)\lib386\nt
-MINDATA     =
-MAXDATA     =
 STACK       = option stack=64k
-LIBS   = $(WXDIR)\lib\wx.lib $(WXDIR)\lib\regex.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\png.lib $(WXDIR)\lib\tiff.lib $(WXDIR)\lib\jpeg.lib &
-      $(WATLIBDIR)\comctl32.lib $(WATLIBDIR)\comdlg32.lib &
-      $(WATLIBDIR)\ole32.lib $(WATLIBDIR)\oleaut32.lib $(WATLIBDIR)\opengl32.lib &
-      $(WATLIBDIR)\uuid.lib $(WXDIR)\lib\watcom\odbc32.lib 
-IFLAGS      = -i=$(WXDIR)\lib\msw -i=$(WXINC) -i=$(WXDIR)\contrib\include -i=$(%watcom)\h;$(%watcom)\h\nt;$(WXDIR)\src\regex;$(WXDIR)\src\png;$(WXDIR)\src\zlib;$(WXDIR)\src\jpeg;$(WXDIR)\src\tiff;$(WXDIR)\include\wx\msw\gnuwin32
-RESFLAGS1   = -r -bt=nt /i$(WXDIR)\include /i$(WXDIR)\contrib\include $(WINVERFLAGS)
-RESFLAGS2   = -R $(name) /i$(WXDIR)\include /i$(WXDIR)\contrib\include $(WINVERFLAGS)
+LIBS        = $(WXDIR)\lib\$(LIBNAME).lib &
+              $(WXDIR)\lib\regex$(WATCOM_SUFFIX).lib &
+              $(WXDIR)\lib\zlib$(WATCOM_SUFFIX).lib &
+!ifneq wxUSE_GUI 0
+              $(WXDIR)\lib\png$(WATCOM_SUFFIX).lib &
+              $(WXDIR)\lib\tiff$(WATCOM_SUFFIX).lib &
+              $(WXDIR)\lib\jpeg$(WATCOM_SUFFIX).lib &
+!endif
+              $(WATLIBDIR)\comctl32.lib &
+              $(WATLIBDIR)\comdlg32.lib &
+              $(WATLIBDIR)\odbc32.lib &
+              $(WATLIBDIR)\ole32.lib &
+              $(WATLIBDIR)\oleaut32.lib &
+              $(WATLIBDIR)\opengl32.lib &
+              $(WATLIBDIR)\uuid.lib
+IFLAGS      = -i=$(ARCHINCDIR);$(WXDIR)\include &
+              -i=$(%watcom)\h;$(%watcom)\h\nt &
+              -i=$(WXDIR)\src\regex;$(WXDIR)\src\png;$(WXDIR)\src\zlib;$(WXDIR)\src\jpeg;$(WXDIR)\src\tiff &
+              -i=$(WXDIR)\include\wx\msw\gnuwin32
+RESFLAGS    = -q -r -bt=nt /i$(WXDIR)\include /i$(WXDIR)\contrib\include $(WINVERFLAGS)
 
 # Here are some possible optimization flags:
 # /5r  Pentium timings
@@ -67,29 +135,33 @@ RESFLAGS2   = -R $(name) /i$(WXDIR)\include /i$(WXDIR)\contrib\include $(WINVERF
 # /or  Reordering for Pentium timings (included in /ox)
 # The Watcom-recommended flags for optimum Pentium speed are:
 # /oneatx /zp4 /5 /fpi87 /fp5
-
-OPTFLAGS=/ox /5r
-
-# /d1 for line numbers only: anything else produces an enormous wx32.lib
+# for PPro:
+# OPTFLAGS=/oneatx /oh /oi+ /ei /zp8 /6 /fp6
 #
+# optimize for space/time: /os or /ot
+!ifeq FINAL 1
+OPTFLAGS=/oails /5r
+!else
+OPTFLAGS=/od
+!endif
+
 # NB: /bm switch is needed for thread-safe runtime, if you don't use
 #     wxThread you may remove it
-CPPFLAGS    = /bt=nt /w1 /DWIN32 /bm /zq $(OPTFLAGS) $(MODEL) $(PRECOMP) $(DEBUGFLAGS) /d__WXMSW__ $(WINVERFLAGS) $(EXTRACPPFLAGS) # /d__WATCOMC__
+CPPFLAGS = /dWIN32 /bm /fo=$(OUTPUTDIR) /fr /zq $(IFLAGS) $(OPTFLAGS) $(WINVERFLAGS) $(EXTRACPPFLAGS)
+!ifeq wxUSE_GUI 0
+CPPFLAGS += /dwxUSE_GUI=0
+!endif
+
+CFLAGS = $(CPPFLAGS) $(DEBUGCFLAGS) $(EXTRACFLAGS)
+CXXFLAGS = $(CPPFLAGS) $(DEBUGCXXFLAGS) $(PRECOMP) /w=8 $(EXTRACXXFLAGS)
 
 .cpp.obj: # $< # .AUTODEPEND
-    *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+    *$(CXX) $(CXXFLAGS) $<
 
 .c.obj: # $< # .AUTODEPEND
-    *$(CC) $(CPPFLAGS) $(IFLAGS) $<
-
-# This doesn't work for wcc
-#    %create tmp.lbc
-#    @%append tmp.lbc $(CPPFLAGS) $(IFLAGS) $<
-#    echo $<
-#    $(CC) @tmp.lbc
+    *$(CC) $(CFLAGS) $<
 
-dummy:  .SYMBOLIC
-    @echo Please give a target for wxWin makefiles: the usual one is 'all'.
+defaulttarget: all .SYMBOLIC
 
 erasepch:   .SYMBOLIC
-    -erase $(WXDIR)\src\msw\watcom.pch
+    -erase $(OUTPUTDIR)watcom.pch
diff --git a/src/msw/makebase.wat b/src/msw/makebase.wat
new file mode 100644 (file)
index 0000000..7559cee
--- /dev/null
@@ -0,0 +1,412 @@
+#!/binb/wmake.exe
+
+# This file was automatically generated by tmake 
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WATBASE.T!
+
+##############################################################################
+# Name:         makebase.wat
+# Purpose:      Builds wxBase library for Watcom C++ under Win32
+# Author:       Vadim Zeitlin
+# Created:      21.01.03
+# RCS-ID:       $Id$
+# Copyright:    (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
+# Licence:      wxWindows licence
+##############################################################################
+
+wxUSE_GUI=0
+
+!include ..\makewat.env
+
+LIBTARGET   = $(WXDIR)\lib\wx$(TOOLKIT)$(DEBUGSUFFIX)_w.lib
+
+EXTRATARGETS = zlib regex
+EXTRATARGETSCLEAN = clean_zlib clean_regex
+COMMDIR=$(WXDIR)\src\common
+MSWDIR=$(WXDIR)\src\msw
+OLEDIR=$(MSWDIR)\ole
+
+COMMONOBJS = &
+       $(OUTPUTDIR)appcmn.obj &
+       $(OUTPUTDIR)clntdata.obj &
+       $(OUTPUTDIR)cmdline.obj &
+       $(OUTPUTDIR)config.obj &
+       $(OUTPUTDIR)datetime.obj &
+       $(OUTPUTDIR)datstrm.obj &
+       $(OUTPUTDIR)db.obj &
+       $(OUTPUTDIR)dbtable.obj &
+       $(OUTPUTDIR)dircmn.obj &
+       $(OUTPUTDIR)dynarray.obj &
+       $(OUTPUTDIR)dynlib.obj &
+       $(OUTPUTDIR)dynload.obj &
+       $(OUTPUTDIR)encconv.obj &
+       $(OUTPUTDIR)event.obj &
+       $(OUTPUTDIR)extended.obj &
+       $(OUTPUTDIR)ffile.obj &
+       $(OUTPUTDIR)file.obj &
+       $(OUTPUTDIR)fileconf.obj &
+       $(OUTPUTDIR)filefn.obj &
+       $(OUTPUTDIR)filename.obj &
+       $(OUTPUTDIR)filesys.obj &
+       $(OUTPUTDIR)fontmap.obj &
+       $(OUTPUTDIR)fs_inet.obj &
+       $(OUTPUTDIR)fs_mem.obj &
+       $(OUTPUTDIR)fs_zip.obj &
+       $(OUTPUTDIR)ftp.obj &
+       $(OUTPUTDIR)hash.obj &
+       $(OUTPUTDIR)hashmap.obj &
+       $(OUTPUTDIR)http.obj &
+       $(OUTPUTDIR)intl.obj &
+       $(OUTPUTDIR)ipcbase.obj &
+       $(OUTPUTDIR)list.obj &
+       $(OUTPUTDIR)log.obj &
+       $(OUTPUTDIR)longlong.obj &
+       $(OUTPUTDIR)memory.obj &
+       $(OUTPUTDIR)mimecmn.obj &
+       $(OUTPUTDIR)module.obj &
+       $(OUTPUTDIR)msgout.obj &
+       $(OUTPUTDIR)mstream.obj &
+       $(OUTPUTDIR)object.obj &
+       $(OUTPUTDIR)process.obj &
+       $(OUTPUTDIR)protocol.obj &
+       $(OUTPUTDIR)regex.obj &
+       $(OUTPUTDIR)sckaddr.obj &
+       $(OUTPUTDIR)sckfile.obj &
+       $(OUTPUTDIR)sckipc.obj &
+       $(OUTPUTDIR)sckstrm.obj &
+       $(OUTPUTDIR)socket.obj &
+       $(OUTPUTDIR)strconv.obj &
+       $(OUTPUTDIR)stream.obj &
+       $(OUTPUTDIR)string.obj &
+       $(OUTPUTDIR)sysopt.obj &
+       $(OUTPUTDIR)textbuf.obj &
+       $(OUTPUTDIR)textfile.obj &
+       $(OUTPUTDIR)timercmn.obj &
+       $(OUTPUTDIR)tokenzr.obj &
+       $(OUTPUTDIR)txtstrm.obj &
+       $(OUTPUTDIR)unzip.obj &
+       $(OUTPUTDIR)url.obj &
+       $(OUTPUTDIR)utilscmn.obj &
+       $(OUTPUTDIR)variant.obj &
+       $(OUTPUTDIR)wfstream.obj &
+       $(OUTPUTDIR)wxchar.obj &
+       $(OUTPUTDIR)zipstrm.obj &
+       $(OUTPUTDIR)zstream.obj &
+       $(OUTPUTDIR)init.obj
+
+MSWOBJS = &
+       $(OUTPUTDIR)dde.obj &
+       $(OUTPUTDIR)dir.obj &
+       $(OUTPUTDIR)gsocket.obj &
+       $(OUTPUTDIR)gsockmsw.obj &
+       $(OUTPUTDIR)main.obj &
+       $(OUTPUTDIR)mimetype.obj &
+       $(OUTPUTDIR)regconf.obj &
+       $(OUTPUTDIR)registry.obj &
+       $(OUTPUTDIR)snglinst.obj &
+       $(OUTPUTDIR)thread.obj &
+       $(OUTPUTDIR)utils.obj &
+       $(OUTPUTDIR)utilsexc.obj &
+       $(OUTPUTDIR)volume.obj
+
+OBJECTS = $(COMMONOBJS) $(MSWOBJS)
+
+SETUP_H=$(ARCHINCDIR)\wx\setup.h
+
+all: $(SETUP_H) $(OUTPUTDIR) $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
+
+$(ARCHINCDIR)\wx:
+       mkdir $(ARCHINCDIR)
+       mkdir $(ARCHINCDIR)\wx
+
+$(OUTPUTDIR):
+       mkdir $(OUTPUTDIR)
+
+$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h $(ARCHINCDIR)\wx
+       copy $(WXDIR)\include\wx\msw\setup.h $@
+
+LBCFILE=$(OUTPUTDIR)wx$(TOOLKIT).lbc
+$(LIBTARGET) : $(OBJECTS)
+    %create $(LBCFILE)
+    @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+    wlib /q /b /c /n /p=512 $^@ @$(LBCFILE)
+
+
+clean:   .SYMBOLIC $(EXTRATARGETSCLEAN)
+    -erase *.obj
+    -erase $(LIBTARGET)
+    -erase *.pch
+    -erase *.err
+    -erase *.lbc
+
+cleanall:   clean
+    -erase $(LBCFILE)
+
+$(OUTPUTDIR)dde.obj:     $(MSWDIR)\dde.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)dir.obj:     $(MSWDIR)\dir.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)gsocket.obj:     $(MSWDIR)\gsocket.c
+  *$(CC) $(CFLAGS) $<
+
+$(OUTPUTDIR)gsockmsw.obj:     $(MSWDIR)\gsockmsw.c
+  *$(CC) $(CFLAGS) $<
+
+$(OUTPUTDIR)main.obj:     $(MSWDIR)\main.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)mimetype.obj:     $(MSWDIR)\mimetype.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)regconf.obj:     $(MSWDIR)\regconf.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)registry.obj:     $(MSWDIR)\registry.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)snglinst.obj:     $(MSWDIR)\snglinst.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)thread.obj:     $(MSWDIR)\thread.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)utils.obj:     $(MSWDIR)\utils.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)utilsexc.obj:     $(MSWDIR)\utilsexc.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)volume.obj:     $(MSWDIR)\volume.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+
+
+########################################################
+# Common objects (always compiled)
+
+$(OUTPUTDIR)appcmn.obj:     $(COMMDIR)\appcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)clntdata.obj:     $(COMMDIR)\clntdata.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)cmdline.obj:     $(COMMDIR)\cmdline.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)config.obj:     $(COMMDIR)\config.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)datetime.obj:     $(COMMDIR)\datetime.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)datstrm.obj:     $(COMMDIR)\datstrm.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)db.obj:     $(COMMDIR)\db.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)dbtable.obj:     $(COMMDIR)\dbtable.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)dircmn.obj:     $(COMMDIR)\dircmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)dynarray.obj:     $(COMMDIR)\dynarray.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)dynlib.obj:     $(COMMDIR)\dynlib.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)dynload.obj:     $(COMMDIR)\dynload.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)encconv.obj:     $(COMMDIR)\encconv.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)event.obj:     $(COMMDIR)\event.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)extended.obj:     $(COMMDIR)\extended.c
+  *$(CC) $(CFLAGS) $<
+
+$(OUTPUTDIR)ffile.obj:     $(COMMDIR)\ffile.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)file.obj:     $(COMMDIR)\file.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)fileconf.obj:     $(COMMDIR)\fileconf.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)filefn.obj:     $(COMMDIR)\filefn.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)filename.obj:     $(COMMDIR)\filename.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)filesys.obj:     $(COMMDIR)\filesys.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)fontmap.obj:     $(COMMDIR)\fontmap.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)fs_inet.obj:     $(COMMDIR)\fs_inet.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)fs_mem.obj:     $(COMMDIR)\fs_mem.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)fs_zip.obj:     $(COMMDIR)\fs_zip.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)ftp.obj:     $(COMMDIR)\ftp.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)hash.obj:     $(COMMDIR)\hash.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)hashmap.obj:     $(COMMDIR)\hashmap.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)http.obj:     $(COMMDIR)\http.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)intl.obj:     $(COMMDIR)\intl.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)ipcbase.obj:     $(COMMDIR)\ipcbase.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)list.obj:     $(COMMDIR)\list.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)log.obj:     $(COMMDIR)\log.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)longlong.obj:     $(COMMDIR)\longlong.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)memory.obj:     $(COMMDIR)\memory.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)mimecmn.obj:     $(COMMDIR)\mimecmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)module.obj:     $(COMMDIR)\module.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)msgout.obj:     $(COMMDIR)\msgout.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)mstream.obj:     $(COMMDIR)\mstream.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)object.obj:     $(COMMDIR)\object.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)process.obj:     $(COMMDIR)\process.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)protocol.obj:     $(COMMDIR)\protocol.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)regex.obj:     $(COMMDIR)\regex.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)sckaddr.obj:     $(COMMDIR)\sckaddr.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)sckfile.obj:     $(COMMDIR)\sckfile.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)sckipc.obj:     $(COMMDIR)\sckipc.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)sckstrm.obj:     $(COMMDIR)\sckstrm.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)socket.obj:     $(COMMDIR)\socket.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)strconv.obj:     $(COMMDIR)\strconv.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)stream.obj:     $(COMMDIR)\stream.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)string.obj:     $(COMMDIR)\string.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)sysopt.obj:     $(COMMDIR)\sysopt.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)textbuf.obj:     $(COMMDIR)\textbuf.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)textfile.obj:     $(COMMDIR)\textfile.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)timercmn.obj:     $(COMMDIR)\timercmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)tokenzr.obj:     $(COMMDIR)\tokenzr.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)txtstrm.obj:     $(COMMDIR)\txtstrm.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)unzip.obj:     $(COMMDIR)\unzip.c
+  *$(CC) $(CFLAGS) $<
+
+$(OUTPUTDIR)url.obj:     $(COMMDIR)\url.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)utilscmn.obj:     $(COMMDIR)\utilscmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)variant.obj:     $(COMMDIR)\variant.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)wfstream.obj:     $(COMMDIR)\wfstream.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)wxchar.obj:     $(COMMDIR)\wxchar.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)zipstrm.obj:     $(COMMDIR)\zipstrm.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)zstream.obj:     $(COMMDIR)\zstream.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+$(OUTPUTDIR)init.obj:     $(COMMDIR)\init.cpp
+  *$(CXX) $(CXXFLAGS) $<
+
+
+
+zlib:   .SYMBOLIC
+    cd $(WXDIR)\src\zlib
+    wmake -f makefile.wat all
+    cd $(WXDIR)\src\msw
+
+clean_zlib:   .SYMBOLIC
+    cd $(WXDIR)\src\zlib
+    wmake -f makefile.wat clean
+    cd $(WXDIR)\src\msw
+
+regex:    .SYMBOLIC
+    cd $(WXDIR)\src\regex
+    wmake -f makefile.wat all
+    cd $(WXDIR)\src\msw
+
+clean_regex:   .SYMBOLIC
+    cd $(WXDIR)\src\regex
+    wmake -f makefile.wat clean
+    cd $(WXDIR)\src\msw
+
+MFTYPE=watbase
+self : .SYMBOLIC $(WXDIR)\distrib\msw\tmake\filelist.txt $(WXDIR)\distrib\msw\tmake\$(MFTYPE).t
+       cd $(WXDIR)\distrib\msw\tmake
+       tmake -t $(MFTYPE) wxwin.pro -o makebase.wat
+       copy makebase.wat $(WXDIR)\src\msw
index c752958bfe91a1176578f66d9c6f7ccb5c9cc048..502c299d2c12b3e876afb6e304b46beeaf76ce1e 100644 (file)
@@ -9,25 +9,9 @@
 # Created:  1998
 #
 # Makefile : Builds wxWindows library for Watcom C++, WIN32
-#
-# NOTE: This file is generated from wat.t by tmake, but not all bugs have
-# been removed from this process. If wxWindows doesn't compile,
-# check the following and edit this makefile accordingly:
-#
-# - OLE-related files such as oleutils.cpp should have 'ole\' prepended
-#   to the path.
-# - extended.c, gsocket.c, unzip.c must be compiled using $(CC), not $(CCC).
-#   They may also be wrongly specified as extended.cpp, etc.
-
-WXDIR = ..\..
+!include ..\makewat.env
 
-!include $(WXDIR)\src\makewat.env
-
-WXLIB = $(WXDIR)\lib
-
-LIBTARGET   = $(WXLIB)\wx.lib
-DUMMY=dummydll
-# ODBCLIB     = ..\..\contrib\odbc\odbc32.lib
+LIBTARGET   = $(WXDIR)\lib\wx$(TOOLKIT)$(DEBGUSUFFIX)_w.lib
 
 EXTRATARGETS = png zlib jpeg tiff regex
 EXTRATARGETSCLEAN = clean_png clean_zlib clean_jpeg clean_tiff clean_regex
@@ -41,353 +25,348 @@ HTMLDIR=$(WXDIR)\src\html
 
 DOCDIR = $(WXDIR)\docs
 
-GENERICOBJS= busyinfo.obj &
-       calctrl.obj &
-       choicdgg.obj &
-       dcbuffer.obj &
-       dcpsg.obj &
-       dirctrlg.obj &
-       dragimgg.obj &
-       grid.obj &
-       gridctrl.obj &
-       gridsel.obj &
-       laywin.obj &
-       logg.obj &
-       numdlgg.obj &
-       panelg.obj &
-       progdlgg.obj &
-       prop.obj &
-       propform.obj &
-       proplist.obj &
-       sashwin.obj &
-       scrlwing.obj &
-       spinctlg.obj &
-       splash.obj &
-       splitter.obj &
-       statusbr.obj &
-       tbarsmpl.obj &
-       textdlgg.obj &
-       tipdlg.obj &
-       tipwin.obj &
-       treectlg.obj &
-       treelay.obj &
-       wizard.obj
+GENERICOBJS= $(OUTPUTDIR)\busyinfo.obj &
+       $(OUTPUTDIR)\calctrl.obj &
+       $(OUTPUTDIR)\choicdgg.obj &
+       $(OUTPUTDIR)\dcbuffer.obj &
+       $(OUTPUTDIR)\dcpsg.obj &
+       $(OUTPUTDIR)\dirctrlg.obj &
+       $(OUTPUTDIR)\dragimgg.obj &
+       $(OUTPUTDIR)\grid.obj &
+       $(OUTPUTDIR)\gridctrl.obj &
+       $(OUTPUTDIR)\gridsel.obj &
+       $(OUTPUTDIR)\laywin.obj &
+       $(OUTPUTDIR)\logg.obj &
+       $(OUTPUTDIR)\numdlgg.obj &
+       $(OUTPUTDIR)\panelg.obj &
+       $(OUTPUTDIR)\progdlgg.obj &
+       $(OUTPUTDIR)\prop.obj &
+       $(OUTPUTDIR)\propform.obj &
+       $(OUTPUTDIR)\proplist.obj &
+       $(OUTPUTDIR)\sashwin.obj &
+       $(OUTPUTDIR)\scrlwing.obj &
+       $(OUTPUTDIR)\spinctlg.obj &
+       $(OUTPUTDIR)\splash.obj &
+       $(OUTPUTDIR)\splitter.obj &
+       $(OUTPUTDIR)\statusbr.obj &
+       $(OUTPUTDIR)\tbarsmpl.obj &
+       $(OUTPUTDIR)\textdlgg.obj &
+       $(OUTPUTDIR)\tipdlg.obj &
+       $(OUTPUTDIR)\tipwin.obj &
+       $(OUTPUTDIR)\treectlg.obj &
+       $(OUTPUTDIR)\treelay.obj &
+       $(OUTPUTDIR)\wizard.obj
 
 # These are generic things that don't need to be compiled on MSW,
 # but sometimes it's useful to do so for testing purposes.
-NONESSENTIALOBJS= accel.obj &
-       caret.obj &
-       colrdlgg.obj &
-       dirdlgg.obj &
-       fdrepdlg.obj &
-       filedlgg.obj &
-       fontdlgg.obj &
-       helpext.obj &
-       helphtml.obj &
-       imaglist.obj &
-       listctrl.obj &
-       mdig.obj &
-       msgdlgg.obj &
-       notebook.obj &
-       paletteg.obj &
-       printps.obj &
-       prntdlgg.obj &
-       statline.obj &
-       tabg.obj &
-       timer.obj
+NONESSENTIALOBJS= $(OUTPUTDIR)\accel.obj &
+       $(OUTPUTDIR)\caret.obj &
+       $(OUTPUTDIR)\colrdlgg.obj &
+       $(OUTPUTDIR)\dirdlgg.obj &
+       $(OUTPUTDIR)\fdrepdlg.obj &
+       $(OUTPUTDIR)\filedlgg.obj &
+       $(OUTPUTDIR)\fontdlgg.obj &
+       $(OUTPUTDIR)\helpext.obj &
+       $(OUTPUTDIR)\helphtml.obj &
+       $(OUTPUTDIR)\imaglist.obj &
+       $(OUTPUTDIR)\listctrl.obj &
+       $(OUTPUTDIR)\mdig.obj &
+       $(OUTPUTDIR)\msgdlgg.obj &
+       $(OUTPUTDIR)\notebook.obj &
+       $(OUTPUTDIR)\paletteg.obj &
+       $(OUTPUTDIR)\printps.obj &
+       $(OUTPUTDIR)\prntdlgg.obj &
+       $(OUTPUTDIR)\statline.obj &
+       $(OUTPUTDIR)\tabg.obj &
+       $(OUTPUTDIR)\timer.obj
 
 COMMONOBJS = &
-       y_tab.obj &
-       appcmn.obj &
-       artprov.obj &
-       artstd.obj &
-       choiccmn.obj &
-       clipcmn.obj &
-       clntdata.obj &
-       cmdline.obj &
-       cmdproc.obj &
-       cmndata.obj &
-       config.obj &
-       containr.obj &
-       cshelp.obj &
-       ctrlcmn.obj &
-       ctrlsub.obj &
-       datetime.obj &
-       datstrm.obj &
-       db.obj &
-       dbgrid.obj &
-       dbtable.obj &
-       dcbase.obj &
-       dircmn.obj &
-       dlgcmn.obj &
-       dndcmn.obj &
-       dobjcmn.obj &
-       docmdi.obj &
-       docview.obj &
-       dseldlg.obj &
-       dynarray.obj &
-       dynlib.obj &
-       dynload.obj &
-       effects.obj &
-       encconv.obj &
-       event.obj &
-       extended.obj &
-       fddlgcmn.obj &
-       ffile.obj &
-       file.obj &
-       fileconf.obj &
-       filefn.obj &
-       filename.obj &
-       filesys.obj &
-       fontcmn.obj &
-       fontmap.obj &
-       framecmn.obj &
-       fs_inet.obj &
-       fs_mem.obj &
-       fs_zip.obj &
-       ftp.obj &
-       gaugecmn.obj &
-       gdicmn.obj &
-       geometry.obj &
-       gifdecod.obj &
-       hash.obj &
-       hashmap.obj &
-       helpbase.obj &
-       http.obj &
-       iconbndl.obj &
-       imagall.obj &
-       imagbmp.obj &
-       image.obj &
-       imagfill.obj &
-       imaggif.obj &
-       imagiff.obj &
-       imagjpeg.obj &
-       imagpcx.obj &
-       imagpng.obj &
-       imagpnm.obj &
-       imagtiff.obj &
-       imagxpm.obj &
-       intl.obj &
-       ipcbase.obj &
-       layout.obj &
-       lboxcmn.obj &
-       list.obj &
-       log.obj &
-       longlong.obj &
-       matrix.obj &
-       memory.obj &
-       menucmn.obj &
-       mimecmn.obj &
-       module.obj &
-       msgout.obj &
-       mstream.obj &
-       nbkbase.obj &
-       object.obj &
-       odbc.obj &
-       paper.obj &
-       popupcmn.obj &
-       prntbase.obj &
-       process.obj &
-       protocol.obj &
-       quantize.obj &
-       radiocmn.obj &
-       regex.obj &
-       resource.obj &
-       sckaddr.obj &
-       sckfile.obj &
-       sckipc.obj &
-       sckstrm.obj &
-       settcmn.obj &
-       sizer.obj &
-       socket.obj &
-       statbar.obj &
-       strconv.obj &
-       stream.obj &
-       string.obj &
-       sysopt.obj &
-       tbarbase.obj &
-       textbuf.obj &
-       textcmn.obj &
-       textfile.obj &
-       timercmn.obj &
-       tokenzr.obj &
-       toplvcmn.obj &
-       treebase.obj &
-       txtstrm.obj &
-       unzip.obj &
-       url.obj &
-       utilscmn.obj &
-       valgen.obj &
-       validate.obj &
-       valtext.obj &
-       variant.obj &
-       wfstream.obj &
-       wincmn.obj &
-       wxchar.obj &
-       wxexpr.obj &
-       xpmdecod.obj &
-       zipstrm.obj &
-       zstream.obj
-
-MSWOBJS = accel.obj &
-       app.obj &
-       automtn.obj &
-       bitmap.obj &
-       bmpbuttn.obj &
-       brush.obj &
-       button.obj &
-       caret.obj &
-       checkbox.obj &
-       checklst.obj &
-       choice.obj &
-       clipbrd.obj &
-       colordlg.obj &
-       colour.obj &
-       combobox.obj &
-       control.obj &
-       curico.obj &
-       cursor.obj &
-       data.obj &
-       dataobj.obj &
-       dc.obj &
-       dcclient.obj &
-       dcmemory.obj &
-       dcprint.obj &
-       dcscreen.obj &
-       dde.obj &
-       dialog.obj &
-       dialup.obj &
-       dib.obj &
-       dibutils.obj &
-       dir.obj &
-       dirdlg.obj &
-       dragimag.obj &
-       dropsrc.obj &
-       droptgt.obj &
-       enhmeta.obj &
-       evtloop.obj &
-       fdrepdlg.obj &
-       filedlg.obj &
-       font.obj &
-       fontdlg.obj &
-       fontenum.obj &
-       fontutil.obj &
-       frame.obj &
-       gauge95.obj &
-       gaugemsw.obj &
-       gdiimage.obj &
-       gdiobj.obj &
-       glcanvas.obj &
-       gsocket.obj &
-       gsockmsw.obj &
-       helpbest.obj &
-       helpchm.obj &
-       helpwin.obj &
-       icon.obj &
-       imaglist.obj &
-       iniconf.obj &
-       joystick.obj &
-       listbox.obj &
-       listctrl.obj &
-       main.obj &
-       mdi.obj &
-       menu.obj &
-       menuitem.obj &
-       metafile.obj &
-       mimetype.obj &
-       minifram.obj &
-       msgdlg.obj &
-       mslu.obj &
-       nativdlg.obj &
-       notebook.obj &
-       oleutils.obj &
-       ownerdrw.obj &
-       palette.obj &
-       pen.obj &
-       penwin.obj &
-       popupwin.obj &
-       printdlg.obj &
-       printwin.obj &
-       radiobox.obj &
-       radiobut.obj &
-       regconf.obj &
-       region.obj &
-       registry.obj &
-       scrolbar.obj &
-       settings.obj &
-       slider95.obj &
-       slidrmsw.obj &
-       snglinst.obj &
-       spinbutt.obj &
-       spinctrl.obj &
-       statbmp.obj &
-       statbox.obj &
-       statbr95.obj &
-       statline.obj &
-       stattext.obj &
-       tabctrl.obj &
-       taskbar.obj &
-       tbar95.obj &
-       tbarmsw.obj &
-       textctrl.obj &
-       tglbtn.obj &
-       thread.obj &
-       timer.obj &
-       tooltip.obj &
-       toplevel.obj &
-       treectrl.obj &
-       utils.obj &
-       utilsexc.obj &
-       uuid.obj &
-       volume.obj &
-       wave.obj &
-       window.obj
-
-HTMLOBJS = helpctrl.obj &
-       helpdata.obj &
-       helpfrm.obj &
-       htmlcell.obj &
-       htmlfilt.obj &
-       htmlpars.obj &
-       htmltag.obj &
-       htmlwin.obj &
-       htmprint.obj &
-       m_dflist.obj &
-       m_fonts.obj &
-       m_hline.obj &
-       m_image.obj &
-       m_layout.obj &
-       m_links.obj &
-       m_list.obj &
-       m_pre.obj &
-       m_style.obj &
-       m_tables.obj &
-       winpars.obj
+       $(OUTPUTDIR)\y_tab.obj &
+       $(OUTPUTDIR)\appcmn.obj &
+       $(OUTPUTDIR)\artprov.obj &
+       $(OUTPUTDIR)\artstd.obj &
+       $(OUTPUTDIR)\choiccmn.obj &
+       $(OUTPUTDIR)\clipcmn.obj &
+       $(OUTPUTDIR)\clntdata.obj &
+       $(OUTPUTDIR)\cmdline.obj &
+       $(OUTPUTDIR)\cmdproc.obj &
+       $(OUTPUTDIR)\cmndata.obj &
+       $(OUTPUTDIR)\config.obj &
+       $(OUTPUTDIR)\containr.obj &
+       $(OUTPUTDIR)\cshelp.obj &
+       $(OUTPUTDIR)\ctrlcmn.obj &
+       $(OUTPUTDIR)\ctrlsub.obj &
+       $(OUTPUTDIR)\datetime.obj &
+       $(OUTPUTDIR)\datstrm.obj &
+       $(OUTPUTDIR)\db.obj &
+       $(OUTPUTDIR)\dbgrid.obj &
+       $(OUTPUTDIR)\dbtable.obj &
+       $(OUTPUTDIR)\dcbase.obj &
+       $(OUTPUTDIR)\dircmn.obj &
+       $(OUTPUTDIR)\dlgcmn.obj &
+       $(OUTPUTDIR)\dndcmn.obj &
+       $(OUTPUTDIR)\dobjcmn.obj &
+       $(OUTPUTDIR)\docmdi.obj &
+       $(OUTPUTDIR)\docview.obj &
+       $(OUTPUTDIR)\dseldlg.obj &
+       $(OUTPUTDIR)\dynarray.obj &
+       $(OUTPUTDIR)\dynlib.obj &
+       $(OUTPUTDIR)\dynload.obj &
+       $(OUTPUTDIR)\effects.obj &
+       $(OUTPUTDIR)\encconv.obj &
+       $(OUTPUTDIR)\event.obj &
+       $(OUTPUTDIR)\extended.obj &
+       $(OUTPUTDIR)\fddlgcmn.obj &
+       $(OUTPUTDIR)\ffile.obj &
+       $(OUTPUTDIR)\file.obj &
+       $(OUTPUTDIR)\fileconf.obj &
+       $(OUTPUTDIR)\filefn.obj &
+       $(OUTPUTDIR)\filename.obj &
+       $(OUTPUTDIR)\filesys.obj &
+       $(OUTPUTDIR)\fontcmn.obj &
+       $(OUTPUTDIR)\fontmap.obj &
+       $(OUTPUTDIR)\framecmn.obj &
+       $(OUTPUTDIR)\fs_inet.obj &
+       $(OUTPUTDIR)\fs_mem.obj &
+       $(OUTPUTDIR)\fs_zip.obj &
+       $(OUTPUTDIR)\ftp.obj &
+       $(OUTPUTDIR)\gaugecmn.obj &
+       $(OUTPUTDIR)\gdicmn.obj &
+       $(OUTPUTDIR)\geometry.obj &
+       $(OUTPUTDIR)\gifdecod.obj &
+       $(OUTPUTDIR)\hash.obj &
+       $(OUTPUTDIR)\hashmap.obj &
+       $(OUTPUTDIR)\helpbase.obj &
+       $(OUTPUTDIR)\http.obj &
+       $(OUTPUTDIR)\iconbndl.obj &
+       $(OUTPUTDIR)\imagall.obj &
+       $(OUTPUTDIR)\imagbmp.obj &
+       $(OUTPUTDIR)\image.obj &
+       $(OUTPUTDIR)\imagfill.obj &
+       $(OUTPUTDIR)\imaggif.obj &
+       $(OUTPUTDIR)\imagiff.obj &
+       $(OUTPUTDIR)\imagjpeg.obj &
+       $(OUTPUTDIR)\imagpcx.obj &
+       $(OUTPUTDIR)\imagpng.obj &
+       $(OUTPUTDIR)\imagpnm.obj &
+       $(OUTPUTDIR)\imagtiff.obj &
+       $(OUTPUTDIR)\imagxpm.obj &
+       $(OUTPUTDIR)\intl.obj &
+       $(OUTPUTDIR)\ipcbase.obj &
+       $(OUTPUTDIR)\layout.obj &
+       $(OUTPUTDIR)\lboxcmn.obj &
+       $(OUTPUTDIR)\list.obj &
+       $(OUTPUTDIR)\log.obj &
+       $(OUTPUTDIR)\longlong.obj &
+       $(OUTPUTDIR)\matrix.obj &
+       $(OUTPUTDIR)\memory.obj &
+       $(OUTPUTDIR)\menucmn.obj &
+       $(OUTPUTDIR)\mimecmn.obj &
+       $(OUTPUTDIR)\module.obj &
+       $(OUTPUTDIR)\msgout.obj &
+       $(OUTPUTDIR)\mstream.obj &
+       $(OUTPUTDIR)\nbkbase.obj &
+       $(OUTPUTDIR)\object.obj &
+       $(OUTPUTDIR)\odbc.obj &
+       $(OUTPUTDIR)\paper.obj &
+       $(OUTPUTDIR)\popupcmn.obj &
+       $(OUTPUTDIR)\prntbase.obj &
+       $(OUTPUTDIR)\process.obj &
+       $(OUTPUTDIR)\protocol.obj &
+       $(OUTPUTDIR)\quantize.obj &
+       $(OUTPUTDIR)\radiocmn.obj &
+       $(OUTPUTDIR)\regex.obj &
+       $(OUTPUTDIR)\resource.obj &
+       $(OUTPUTDIR)\sckaddr.obj &
+       $(OUTPUTDIR)\sckfile.obj &
+       $(OUTPUTDIR)\sckipc.obj &
+       $(OUTPUTDIR)\sckstrm.obj &
+       $(OUTPUTDIR)\settcmn.obj &
+       $(OUTPUTDIR)\sizer.obj &
+       $(OUTPUTDIR)\socket.obj &
+       $(OUTPUTDIR)\statbar.obj &
+       $(OUTPUTDIR)\strconv.obj &
+       $(OUTPUTDIR)\stream.obj &
+       $(OUTPUTDIR)\string.obj &
+       $(OUTPUTDIR)\sysopt.obj &
+       $(OUTPUTDIR)\tbarbase.obj &
+       $(OUTPUTDIR)\textbuf.obj &
+       $(OUTPUTDIR)\textcmn.obj &
+       $(OUTPUTDIR)\textfile.obj &
+       $(OUTPUTDIR)\timercmn.obj &
+       $(OUTPUTDIR)\tokenzr.obj &
+       $(OUTPUTDIR)\toplvcmn.obj &
+       $(OUTPUTDIR)\treebase.obj &
+       $(OUTPUTDIR)\txtstrm.obj &
+       $(OUTPUTDIR)\unzip.obj &
+       $(OUTPUTDIR)\url.obj &
+       $(OUTPUTDIR)\utilscmn.obj &
+       $(OUTPUTDIR)\valgen.obj &
+       $(OUTPUTDIR)\validate.obj &
+       $(OUTPUTDIR)\valtext.obj &
+       $(OUTPUTDIR)\variant.obj &
+       $(OUTPUTDIR)\wfstream.obj &
+       $(OUTPUTDIR)\wincmn.obj &
+       $(OUTPUTDIR)\wxchar.obj &
+       $(OUTPUTDIR)\wxexpr.obj &
+       $(OUTPUTDIR)\xpmdecod.obj &
+       $(OUTPUTDIR)\zipstrm.obj &
+       $(OUTPUTDIR)\zstream.obj
+
+MSWOBJS = $(OUTPUTDIR)\accel.obj &
+       $(OUTPUTDIR)\app.obj &
+       $(OUTPUTDIR)\automtn.obj &
+       $(OUTPUTDIR)\bitmap.obj &
+       $(OUTPUTDIR)\bmpbuttn.obj &
+       $(OUTPUTDIR)\brush.obj &
+       $(OUTPUTDIR)\button.obj &
+       $(OUTPUTDIR)\caret.obj &
+       $(OUTPUTDIR)\checkbox.obj &
+       $(OUTPUTDIR)\checklst.obj &
+       $(OUTPUTDIR)\choice.obj &
+       $(OUTPUTDIR)\clipbrd.obj &
+       $(OUTPUTDIR)\colordlg.obj &
+       $(OUTPUTDIR)\colour.obj &
+       $(OUTPUTDIR)\combobox.obj &
+       $(OUTPUTDIR)\control.obj &
+       $(OUTPUTDIR)\curico.obj &
+       $(OUTPUTDIR)\cursor.obj &
+       $(OUTPUTDIR)\data.obj &
+       $(OUTPUTDIR)\dataobj.obj &
+       $(OUTPUTDIR)\dc.obj &
+       $(OUTPUTDIR)\dcclient.obj &
+       $(OUTPUTDIR)\dcmemory.obj &
+       $(OUTPUTDIR)\dcprint.obj &
+       $(OUTPUTDIR)\dcscreen.obj &
+       $(OUTPUTDIR)\dde.obj &
+       $(OUTPUTDIR)\dialog.obj &
+       $(OUTPUTDIR)\dialup.obj &
+       $(OUTPUTDIR)\dib.obj &
+       $(OUTPUTDIR)\dibutils.obj &
+       $(OUTPUTDIR)\dir.obj &
+       $(OUTPUTDIR)\dirdlg.obj &
+       $(OUTPUTDIR)\dragimag.obj &
+       $(OUTPUTDIR)\dropsrc.obj &
+       $(OUTPUTDIR)\droptgt.obj &
+       $(OUTPUTDIR)\enhmeta.obj &
+       $(OUTPUTDIR)\evtloop.obj &
+       $(OUTPUTDIR)\fdrepdlg.obj &
+       $(OUTPUTDIR)\filedlg.obj &
+       $(OUTPUTDIR)\font.obj &
+       $(OUTPUTDIR)\fontdlg.obj &
+       $(OUTPUTDIR)\fontenum.obj &
+       $(OUTPUTDIR)\fontutil.obj &
+       $(OUTPUTDIR)\frame.obj &
+       $(OUTPUTDIR)\gauge95.obj &
+       $(OUTPUTDIR)\gdiimage.obj &
+       $(OUTPUTDIR)\gdiobj.obj &
+       $(OUTPUTDIR)\glcanvas.obj &
+       $(OUTPUTDIR)\gsocket.obj &
+       $(OUTPUTDIR)\gsockmsw.obj &
+       $(OUTPUTDIR)\helpbest.obj &
+       $(OUTPUTDIR)\helpchm.obj &
+       $(OUTPUTDIR)\helpwin.obj &
+       $(OUTPUTDIR)\icon.obj &
+       $(OUTPUTDIR)\imaglist.obj &
+       $(OUTPUTDIR)\iniconf.obj &
+       $(OUTPUTDIR)\joystick.obj &
+       $(OUTPUTDIR)\listbox.obj &
+       $(OUTPUTDIR)\listctrl.obj &
+       $(OUTPUTDIR)\main.obj &
+       $(OUTPUTDIR)\mdi.obj &
+       $(OUTPUTDIR)\menu.obj &
+       $(OUTPUTDIR)\menuitem.obj &
+       $(OUTPUTDIR)\metafile.obj &
+       $(OUTPUTDIR)\mimetype.obj &
+       $(OUTPUTDIR)\minifram.obj &
+       $(OUTPUTDIR)\msgdlg.obj &
+       $(OUTPUTDIR)\mslu.obj &
+       $(OUTPUTDIR)\nativdlg.obj &
+       $(OUTPUTDIR)\notebook.obj &
+       $(OUTPUTDIR)\oleutils.obj &
+       $(OUTPUTDIR)\ownerdrw.obj &
+       $(OUTPUTDIR)\palette.obj &
+       $(OUTPUTDIR)\pen.obj &
+       $(OUTPUTDIR)\penwin.obj &
+       $(OUTPUTDIR)\popupwin.obj &
+       $(OUTPUTDIR)\printdlg.obj &
+       $(OUTPUTDIR)\printwin.obj &
+       $(OUTPUTDIR)\radiobox.obj &
+       $(OUTPUTDIR)\radiobut.obj &
+       $(OUTPUTDIR)\regconf.obj &
+       $(OUTPUTDIR)\region.obj &
+       $(OUTPUTDIR)\registry.obj &
+       $(OUTPUTDIR)\scrolbar.obj &
+       $(OUTPUTDIR)\settings.obj &
+       $(OUTPUTDIR)\slider95.obj &
+       $(OUTPUTDIR)\snglinst.obj &
+       $(OUTPUTDIR)\spinbutt.obj &
+       $(OUTPUTDIR)\spinctrl.obj &
+       $(OUTPUTDIR)\statbmp.obj &
+       $(OUTPUTDIR)\statbox.obj &
+       $(OUTPUTDIR)\statbr95.obj &
+       $(OUTPUTDIR)\statline.obj &
+       $(OUTPUTDIR)\stattext.obj &
+       $(OUTPUTDIR)\tabctrl.obj &
+       $(OUTPUTDIR)\taskbar.obj &
+       $(OUTPUTDIR)\tbar95.obj &
+       $(OUTPUTDIR)\textctrl.obj &
+       $(OUTPUTDIR)\tglbtn.obj &
+       $(OUTPUTDIR)\thread.obj &
+       $(OUTPUTDIR)\timer.obj &
+       $(OUTPUTDIR)\tooltip.obj &
+       $(OUTPUTDIR)\toplevel.obj &
+       $(OUTPUTDIR)\treectrl.obj &
+       $(OUTPUTDIR)\utils.obj &
+       $(OUTPUTDIR)\utilsexc.obj &
+       $(OUTPUTDIR)\uuid.obj &
+       $(OUTPUTDIR)\volume.obj &
+       $(OUTPUTDIR)\wave.obj &
+       $(OUTPUTDIR)\window.obj
+
+HTMLOBJS = $(OUTPUTDIR)\helpctrl.obj &
+       $(OUTPUTDIR)\helpdata.obj &
+       $(OUTPUTDIR)\helpfrm.obj &
+       $(OUTPUTDIR)\htmlcell.obj &
+       $(OUTPUTDIR)\htmlfilt.obj &
+       $(OUTPUTDIR)\htmlpars.obj &
+       $(OUTPUTDIR)\htmltag.obj &
+       $(OUTPUTDIR)\htmlwin.obj &
+       $(OUTPUTDIR)\htmprint.obj &
+       $(OUTPUTDIR)\m_dflist.obj &
+       $(OUTPUTDIR)\m_fonts.obj &
+       $(OUTPUTDIR)\m_hline.obj &
+       $(OUTPUTDIR)\m_image.obj &
+       $(OUTPUTDIR)\m_layout.obj &
+       $(OUTPUTDIR)\m_links.obj &
+       $(OUTPUTDIR)\m_list.obj &
+       $(OUTPUTDIR)\m_pre.obj &
+       $(OUTPUTDIR)\m_style.obj &
+       $(OUTPUTDIR)\m_tables.obj &
+       $(OUTPUTDIR)\winpars.obj
 
 # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
 
-ARCHINCDIR=$(WXDIR)\lib\msw
 SETUP_H=$(ARCHINCDIR)\wx\setup.h
 
-all:        $(SETUP_H) $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
+all: $(SETUP_H) $(OUTPUTDIR) $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
 
 $(ARCHINCDIR)\wx:
-    mkdir $(ARCHINCDIR)
-    mkdir $(ARCHINCDIR)\wx
+       mkdir $(ARCHINCDIR)
+       mkdir $(ARCHINCDIR)\wx
+
+$(OUTPUTDIR):
+       @if not exist $^@ mkdir $^@
 
 $(SETUP_H): $(WXDIR)\include\wx\msw\setup.h $(ARCHINCDIR)\wx
-    copy $(WXDIR)\include\wx\msw\setup.h $@
+       copy $(WXDIR)\include\wx\msw\setup.h $@
 
+LBCFILE=wx$(TOOLKIT).lbc
 $(LIBTARGET) : $(OBJECTS)
-    %create tmp.lbc
-    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-    wlib /b /c /n /p=512 $^@ @tmp.lbc
-
-#test : $(OBJECTS)
-#    %create tmp.lbc
-#    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-#    wlib /b /c /n /p=512 $^@ @tmp.lbc
+    %create $(LBCFILE)
+    @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+    wlib /b /c /n /p=512 $^@ @$(LBCFILE)
 
 
 clean:   .SYMBOLIC $(EXTRATARGETSCLEAN)
@@ -399,749 +378,738 @@ clean:   .SYMBOLIC $(EXTRATARGETSCLEAN)
 
 cleanall:   clean
 
-accel.obj:     $(MSWDIR)\accel.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
-
-app.obj:     $(MSWDIR)\app.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
-
-automtn.obj:     $(OLEDIR)\automtn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\accel.obj:     $(MSWDIR)\accel.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-bitmap.obj:     $(MSWDIR)\bitmap.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\app.obj:     $(MSWDIR)\app.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-bmpbuttn.obj:     $(MSWDIR)\bmpbuttn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\automtn.obj:     $(OLEDIR)\automtn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-brush.obj:     $(MSWDIR)\brush.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\bitmap.obj:     $(MSWDIR)\bitmap.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-button.obj:     $(MSWDIR)\button.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\bmpbuttn.obj:     $(MSWDIR)\bmpbuttn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-caret.obj:     $(MSWDIR)\caret.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\brush.obj:     $(MSWDIR)\brush.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-checkbox.obj:     $(MSWDIR)\checkbox.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\button.obj:     $(MSWDIR)\button.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-checklst.obj:     $(MSWDIR)\checklst.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\caret.obj:     $(MSWDIR)\caret.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-choice.obj:     $(MSWDIR)\choice.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\checkbox.obj:     $(MSWDIR)\checkbox.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-clipbrd.obj:     $(MSWDIR)\clipbrd.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\checklst.obj:     $(MSWDIR)\checklst.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-colordlg.obj:     $(MSWDIR)\colordlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\choice.obj:     $(MSWDIR)\choice.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-colour.obj:     $(MSWDIR)\colour.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\clipbrd.obj:     $(MSWDIR)\clipbrd.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-combobox.obj:     $(MSWDIR)\combobox.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\colordlg.obj:     $(MSWDIR)\colordlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-control.obj:     $(MSWDIR)\control.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\colour.obj:     $(MSWDIR)\colour.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-curico.obj:     $(MSWDIR)\curico.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\combobox.obj:     $(MSWDIR)\combobox.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-cursor.obj:     $(MSWDIR)\cursor.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\control.obj:     $(MSWDIR)\control.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-data.obj:     $(MSWDIR)\data.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\curico.obj:     $(MSWDIR)\curico.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dataobj.obj:     $(OLEDIR)\dataobj.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\cursor.obj:     $(MSWDIR)\cursor.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dc.obj:     $(MSWDIR)\dc.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\data.obj:     $(MSWDIR)\data.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dcclient.obj:     $(MSWDIR)\dcclient.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dataobj.obj:     $(OLEDIR)\dataobj.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dcmemory.obj:     $(MSWDIR)\dcmemory.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dc.obj:     $(MSWDIR)\dc.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dcprint.obj:     $(MSWDIR)\dcprint.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dcclient.obj:     $(MSWDIR)\dcclient.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dcscreen.obj:     $(MSWDIR)\dcscreen.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dcmemory.obj:     $(MSWDIR)\dcmemory.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dde.obj:     $(MSWDIR)\dde.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dcprint.obj:     $(MSWDIR)\dcprint.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dialog.obj:     $(MSWDIR)\dialog.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dcscreen.obj:     $(MSWDIR)\dcscreen.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dialup.obj:     $(MSWDIR)\dialup.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dde.obj:     $(MSWDIR)\dde.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dib.obj:     $(MSWDIR)\dib.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dialog.obj:     $(MSWDIR)\dialog.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dibutils.obj:     $(MSWDIR)\dibutils.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dialup.obj:     $(MSWDIR)\dialup.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dir.obj:     $(MSWDIR)\dir.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dib.obj:     $(MSWDIR)\dib.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dirdlg.obj:     $(MSWDIR)\dirdlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dibutils.obj:     $(MSWDIR)\dibutils.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dragimag.obj:     $(MSWDIR)\dragimag.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dir.obj:     $(MSWDIR)\dir.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dropsrc.obj:     $(OLEDIR)\dropsrc.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dirdlg.obj:     $(MSWDIR)\dirdlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-droptgt.obj:     $(OLEDIR)\droptgt.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dragimag.obj:     $(MSWDIR)\dragimag.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-enhmeta.obj:     $(MSWDIR)\enhmeta.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dropsrc.obj:     $(OLEDIR)\dropsrc.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-evtloop.obj:     $(MSWDIR)\evtloop.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\droptgt.obj:     $(OLEDIR)\droptgt.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fdrepdlg.obj:     $(MSWDIR)\fdrepdlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\enhmeta.obj:     $(MSWDIR)\enhmeta.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-filedlg.obj:     $(MSWDIR)\filedlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\evtloop.obj:     $(MSWDIR)\evtloop.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-font.obj:     $(MSWDIR)\font.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fdrepdlg.obj:     $(MSWDIR)\fdrepdlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fontdlg.obj:     $(MSWDIR)\fontdlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\filedlg.obj:     $(MSWDIR)\filedlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fontenum.obj:     $(MSWDIR)\fontenum.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\font.obj:     $(MSWDIR)\font.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fontutil.obj:     $(MSWDIR)\fontutil.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fontdlg.obj:     $(MSWDIR)\fontdlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-frame.obj:     $(MSWDIR)\frame.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fontenum.obj:     $(MSWDIR)\fontenum.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gauge95.obj:     $(MSWDIR)\gauge95.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fontutil.obj:     $(MSWDIR)\fontutil.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gaugemsw.obj:     $(MSWDIR)\gaugemsw.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\frame.obj:     $(MSWDIR)\frame.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gdiimage.obj:     $(MSWDIR)\gdiimage.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gauge95.obj:     $(MSWDIR)\gauge95.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gdiobj.obj:     $(MSWDIR)\gdiobj.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gdiimage.obj:     $(MSWDIR)\gdiimage.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-glcanvas.obj:     $(MSWDIR)\glcanvas.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gdiobj.obj:     $(MSWDIR)\gdiobj.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gsocket.obj:     $(MSWDIR)\gsocket.c
-  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\glcanvas.obj:     $(MSWDIR)\glcanvas.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gsockmsw.obj:     $(MSWDIR)\gsockmsw.c
-  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gsocket.obj:     $(MSWDIR)\gsocket.c
+  *$(CC) $(CFLAGS) $<
 
-helpbest.obj:     $(MSWDIR)\helpbest.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gsockmsw.obj:     $(MSWDIR)\gsockmsw.c
+  *$(CC) $(CFLAGS) $<
 
-helpchm.obj:     $(MSWDIR)\helpchm.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\helpbest.obj:     $(MSWDIR)\helpbest.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-helpwin.obj:     $(MSWDIR)\helpwin.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\helpchm.obj:     $(MSWDIR)\helpchm.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-icon.obj:     $(MSWDIR)\icon.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\helpwin.obj:     $(MSWDIR)\helpwin.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imaglist.obj:     $(MSWDIR)\imaglist.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\icon.obj:     $(MSWDIR)\icon.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-iniconf.obj:     $(MSWDIR)\iniconf.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imaglist.obj:     $(MSWDIR)\imaglist.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-joystick.obj:     $(MSWDIR)\joystick.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\iniconf.obj:     $(MSWDIR)\iniconf.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-listbox.obj:     $(MSWDIR)\listbox.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\joystick.obj:     $(MSWDIR)\joystick.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-listctrl.obj:     $(MSWDIR)\listctrl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\listbox.obj:     $(MSWDIR)\listbox.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-main.obj:     $(MSWDIR)\main.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\listctrl.obj:     $(MSWDIR)\listctrl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-mdi.obj:     $(MSWDIR)\mdi.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\main.obj:     $(MSWDIR)\main.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-menu.obj:     $(MSWDIR)\menu.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\mdi.obj:     $(MSWDIR)\mdi.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-menuitem.obj:     $(MSWDIR)\menuitem.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\menu.obj:     $(MSWDIR)\menu.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-metafile.obj:     $(MSWDIR)\metafile.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\menuitem.obj:     $(MSWDIR)\menuitem.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-mimetype.obj:     $(MSWDIR)\mimetype.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\metafile.obj:     $(MSWDIR)\metafile.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-minifram.obj:     $(MSWDIR)\minifram.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\mimetype.obj:     $(MSWDIR)\mimetype.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-msgdlg.obj:     $(MSWDIR)\msgdlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\minifram.obj:     $(MSWDIR)\minifram.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-mslu.obj:     $(MSWDIR)\mslu.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\msgdlg.obj:     $(MSWDIR)\msgdlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-nativdlg.obj:     $(MSWDIR)\nativdlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\mslu.obj:     $(MSWDIR)\mslu.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-notebook.obj:     $(MSWDIR)\notebook.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\nativdlg.obj:     $(MSWDIR)\nativdlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-oleutils.obj:     $(OLEDIR)\oleutils.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\notebook.obj:     $(MSWDIR)\notebook.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-ownerdrw.obj:     $(MSWDIR)\ownerdrw.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\oleutils.obj:     $(OLEDIR)\oleutils.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-palette.obj:     $(MSWDIR)\palette.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\ownerdrw.obj:     $(MSWDIR)\ownerdrw.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-pen.obj:     $(MSWDIR)\pen.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\palette.obj:     $(MSWDIR)\palette.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-penwin.obj:     $(MSWDIR)\penwin.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\pen.obj:     $(MSWDIR)\pen.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-popupwin.obj:     $(MSWDIR)\popupwin.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\penwin.obj:     $(MSWDIR)\penwin.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-printdlg.obj:     $(MSWDIR)\printdlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\popupwin.obj:     $(MSWDIR)\popupwin.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-printwin.obj:     $(MSWDIR)\printwin.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\printdlg.obj:     $(MSWDIR)\printdlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-radiobox.obj:     $(MSWDIR)\radiobox.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\printwin.obj:     $(MSWDIR)\printwin.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-radiobut.obj:     $(MSWDIR)\radiobut.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\radiobox.obj:     $(MSWDIR)\radiobox.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-regconf.obj:     $(MSWDIR)\regconf.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\radiobut.obj:     $(MSWDIR)\radiobut.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-region.obj:     $(MSWDIR)\region.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\regconf.obj:     $(MSWDIR)\regconf.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-registry.obj:     $(MSWDIR)\registry.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\region.obj:     $(MSWDIR)\region.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-scrolbar.obj:     $(MSWDIR)\scrolbar.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\registry.obj:     $(MSWDIR)\registry.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-settings.obj:     $(MSWDIR)\settings.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\scrolbar.obj:     $(MSWDIR)\scrolbar.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-slider95.obj:     $(MSWDIR)\slider95.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\settings.obj:     $(MSWDIR)\settings.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-slidrmsw.obj:     $(MSWDIR)\slidrmsw.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\slider95.obj:     $(MSWDIR)\slider95.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-snglinst.obj:     $(MSWDIR)\snglinst.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\snglinst.obj:     $(MSWDIR)\snglinst.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-spinbutt.obj:     $(MSWDIR)\spinbutt.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\spinbutt.obj:     $(MSWDIR)\spinbutt.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-spinctrl.obj:     $(MSWDIR)\spinctrl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\spinctrl.obj:     $(MSWDIR)\spinctrl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-statbmp.obj:     $(MSWDIR)\statbmp.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\statbmp.obj:     $(MSWDIR)\statbmp.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-statbox.obj:     $(MSWDIR)\statbox.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\statbox.obj:     $(MSWDIR)\statbox.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-statbr95.obj:     $(MSWDIR)\statbr95.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\statbr95.obj:     $(MSWDIR)\statbr95.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-statline.obj:     $(MSWDIR)\statline.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\statline.obj:     $(MSWDIR)\statline.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-stattext.obj:     $(MSWDIR)\stattext.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\stattext.obj:     $(MSWDIR)\stattext.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tabctrl.obj:     $(MSWDIR)\tabctrl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\tabctrl.obj:     $(MSWDIR)\tabctrl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-taskbar.obj:     $(MSWDIR)\taskbar.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\taskbar.obj:     $(MSWDIR)\taskbar.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tbar95.obj:     $(MSWDIR)\tbar95.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\tbar95.obj:     $(MSWDIR)\tbar95.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tbarmsw.obj:     $(MSWDIR)\tbarmsw.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\textctrl.obj:     $(MSWDIR)\textctrl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-textctrl.obj:     $(MSWDIR)\textctrl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\tglbtn.obj:     $(MSWDIR)\tglbtn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tglbtn.obj:     $(MSWDIR)\tglbtn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\thread.obj:     $(MSWDIR)\thread.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-thread.obj:     $(MSWDIR)\thread.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\timer.obj:     $(MSWDIR)\timer.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-timer.obj:     $(MSWDIR)\timer.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\tooltip.obj:     $(MSWDIR)\tooltip.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tooltip.obj:     $(MSWDIR)\tooltip.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\toplevel.obj:     $(MSWDIR)\toplevel.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-toplevel.obj:     $(MSWDIR)\toplevel.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\treectrl.obj:     $(MSWDIR)\treectrl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-treectrl.obj:     $(MSWDIR)\treectrl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\utils.obj:     $(MSWDIR)\utils.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-utils.obj:     $(MSWDIR)\utils.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\utilsexc.obj:     $(MSWDIR)\utilsexc.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-utilsexc.obj:     $(MSWDIR)\utilsexc.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\uuid.obj:     $(OLEDIR)\uuid.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-uuid.obj:     $(OLEDIR)\uuid.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\volume.obj:     $(MSWDIR)\volume.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-volume.obj:     $(MSWDIR)\volume.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\wave.obj:     $(MSWDIR)\wave.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-wave.obj:     $(MSWDIR)\wave.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
-
-window.obj:     $(MSWDIR)\window.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\window.obj:     $(MSWDIR)\window.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
 
 
 ########################################################
 # Common objects (always compiled)
 
-appcmn.obj:     $(COMMDIR)\appcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
-
-artprov.obj:     $(COMMDIR)\artprov.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\appcmn.obj:     $(COMMDIR)\appcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-artstd.obj:     $(COMMDIR)\artstd.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\artprov.obj:     $(COMMDIR)\artprov.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-choiccmn.obj:     $(COMMDIR)\choiccmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\artstd.obj:     $(COMMDIR)\artstd.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-clipcmn.obj:     $(COMMDIR)\clipcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\choiccmn.obj:     $(COMMDIR)\choiccmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-clntdata.obj:     $(COMMDIR)\clntdata.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\clipcmn.obj:     $(COMMDIR)\clipcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-cmdline.obj:     $(COMMDIR)\cmdline.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\clntdata.obj:     $(COMMDIR)\clntdata.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-cmdproc.obj:     $(COMMDIR)\cmdproc.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\cmdline.obj:     $(COMMDIR)\cmdline.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-cmndata.obj:     $(COMMDIR)\cmndata.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\cmdproc.obj:     $(COMMDIR)\cmdproc.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-config.obj:     $(COMMDIR)\config.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\cmndata.obj:     $(COMMDIR)\cmndata.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-containr.obj:     $(COMMDIR)\containr.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\config.obj:     $(COMMDIR)\config.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-cshelp.obj:     $(COMMDIR)\cshelp.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\containr.obj:     $(COMMDIR)\containr.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-ctrlcmn.obj:     $(COMMDIR)\ctrlcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\cshelp.obj:     $(COMMDIR)\cshelp.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-ctrlsub.obj:     $(COMMDIR)\ctrlsub.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\ctrlcmn.obj:     $(COMMDIR)\ctrlcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-datetime.obj:     $(COMMDIR)\datetime.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\ctrlsub.obj:     $(COMMDIR)\ctrlsub.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-datstrm.obj:     $(COMMDIR)\datstrm.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\datetime.obj:     $(COMMDIR)\datetime.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-db.obj:     $(COMMDIR)\db.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\datstrm.obj:     $(COMMDIR)\datstrm.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dbgrid.obj:     $(COMMDIR)\dbgrid.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\db.obj:     $(COMMDIR)\db.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dbtable.obj:     $(COMMDIR)\dbtable.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dbgrid.obj:     $(COMMDIR)\dbgrid.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dcbase.obj:     $(COMMDIR)\dcbase.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dbtable.obj:     $(COMMDIR)\dbtable.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dircmn.obj:     $(COMMDIR)\dircmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dcbase.obj:     $(COMMDIR)\dcbase.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dlgcmn.obj:     $(COMMDIR)\dlgcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dircmn.obj:     $(COMMDIR)\dircmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dndcmn.obj:     $(COMMDIR)\dndcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dlgcmn.obj:     $(COMMDIR)\dlgcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dobjcmn.obj:     $(COMMDIR)\dobjcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dndcmn.obj:     $(COMMDIR)\dndcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-docmdi.obj:     $(COMMDIR)\docmdi.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dobjcmn.obj:     $(COMMDIR)\dobjcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-docview.obj:     $(COMMDIR)\docview.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\docmdi.obj:     $(COMMDIR)\docmdi.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dseldlg.obj:     $(COMMDIR)\dseldlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\docview.obj:     $(COMMDIR)\docview.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dynarray.obj:     $(COMMDIR)\dynarray.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dseldlg.obj:     $(COMMDIR)\dseldlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dynlib.obj:     $(COMMDIR)\dynlib.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dynarray.obj:     $(COMMDIR)\dynarray.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dynload.obj:     $(COMMDIR)\dynload.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dynlib.obj:     $(COMMDIR)\dynlib.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-effects.obj:     $(COMMDIR)\effects.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dynload.obj:     $(COMMDIR)\dynload.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-encconv.obj:     $(COMMDIR)\encconv.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\effects.obj:     $(COMMDIR)\effects.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-event.obj:     $(COMMDIR)\event.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\encconv.obj:     $(COMMDIR)\encconv.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-extended.obj:     $(COMMDIR)\extended.c
-  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\event.obj:     $(COMMDIR)\event.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fddlgcmn.obj:     $(COMMDIR)\fddlgcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\extended.obj:     $(COMMDIR)\extended.c
+  *$(CC) $(CFLAGS) $<
 
-ffile.obj:     $(COMMDIR)\ffile.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fddlgcmn.obj:     $(COMMDIR)\fddlgcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-file.obj:     $(COMMDIR)\file.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\ffile.obj:     $(COMMDIR)\ffile.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fileconf.obj:     $(COMMDIR)\fileconf.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\file.obj:     $(COMMDIR)\file.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-filefn.obj:     $(COMMDIR)\filefn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fileconf.obj:     $(COMMDIR)\fileconf.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-filename.obj:     $(COMMDIR)\filename.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\filefn.obj:     $(COMMDIR)\filefn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-filesys.obj:     $(COMMDIR)\filesys.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\filename.obj:     $(COMMDIR)\filename.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fontcmn.obj:     $(COMMDIR)\fontcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\filesys.obj:     $(COMMDIR)\filesys.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fontmap.obj:     $(COMMDIR)\fontmap.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fontcmn.obj:     $(COMMDIR)\fontcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-framecmn.obj:     $(COMMDIR)\framecmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fontmap.obj:     $(COMMDIR)\fontmap.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fs_inet.obj:     $(COMMDIR)\fs_inet.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\framecmn.obj:     $(COMMDIR)\framecmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fs_mem.obj:     $(COMMDIR)\fs_mem.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fs_inet.obj:     $(COMMDIR)\fs_inet.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-fs_zip.obj:     $(COMMDIR)\fs_zip.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fs_mem.obj:     $(COMMDIR)\fs_mem.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-ftp.obj:     $(COMMDIR)\ftp.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\fs_zip.obj:     $(COMMDIR)\fs_zip.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gaugecmn.obj:     $(COMMDIR)\gaugecmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\ftp.obj:     $(COMMDIR)\ftp.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gdicmn.obj:     $(COMMDIR)\gdicmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gaugecmn.obj:     $(COMMDIR)\gaugecmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-geometry.obj:     $(COMMDIR)\geometry.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gdicmn.obj:     $(COMMDIR)\gdicmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gifdecod.obj:     $(COMMDIR)\gifdecod.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\geometry.obj:     $(COMMDIR)\geometry.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-hash.obj:     $(COMMDIR)\hash.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gifdecod.obj:     $(COMMDIR)\gifdecod.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-hashmap.obj:     $(COMMDIR)\hashmap.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\hash.obj:     $(COMMDIR)\hash.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-helpbase.obj:     $(COMMDIR)\helpbase.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\hashmap.obj:     $(COMMDIR)\hashmap.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-http.obj:     $(COMMDIR)\http.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\helpbase.obj:     $(COMMDIR)\helpbase.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-iconbndl.obj:     $(COMMDIR)\iconbndl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\http.obj:     $(COMMDIR)\http.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagall.obj:     $(COMMDIR)\imagall.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\iconbndl.obj:     $(COMMDIR)\iconbndl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagbmp.obj:     $(COMMDIR)\imagbmp.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagall.obj:     $(COMMDIR)\imagall.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-image.obj:     $(COMMDIR)\image.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagbmp.obj:     $(COMMDIR)\imagbmp.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagfill.obj:     $(COMMDIR)\imagfill.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\image.obj:     $(COMMDIR)\image.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imaggif.obj:     $(COMMDIR)\imaggif.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagfill.obj:     $(COMMDIR)\imagfill.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagiff.obj:     $(COMMDIR)\imagiff.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imaggif.obj:     $(COMMDIR)\imaggif.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagjpeg.obj:     $(COMMDIR)\imagjpeg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagiff.obj:     $(COMMDIR)\imagiff.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagpcx.obj:     $(COMMDIR)\imagpcx.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagjpeg.obj:     $(COMMDIR)\imagjpeg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagpng.obj:     $(COMMDIR)\imagpng.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagpcx.obj:     $(COMMDIR)\imagpcx.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagpnm.obj:     $(COMMDIR)\imagpnm.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagpng.obj:     $(COMMDIR)\imagpng.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagtiff.obj:     $(COMMDIR)\imagtiff.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagpnm.obj:     $(COMMDIR)\imagpnm.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-imagxpm.obj:     $(COMMDIR)\imagxpm.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagtiff.obj:     $(COMMDIR)\imagtiff.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-intl.obj:     $(COMMDIR)\intl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\imagxpm.obj:     $(COMMDIR)\imagxpm.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-ipcbase.obj:     $(COMMDIR)\ipcbase.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\intl.obj:     $(COMMDIR)\intl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-layout.obj:     $(COMMDIR)\layout.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\ipcbase.obj:     $(COMMDIR)\ipcbase.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-lboxcmn.obj:     $(COMMDIR)\lboxcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\layout.obj:     $(COMMDIR)\layout.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-list.obj:     $(COMMDIR)\list.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\lboxcmn.obj:     $(COMMDIR)\lboxcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-log.obj:     $(COMMDIR)\log.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\list.obj:     $(COMMDIR)\list.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-longlong.obj:     $(COMMDIR)\longlong.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\log.obj:     $(COMMDIR)\log.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-matrix.obj:     $(COMMDIR)\matrix.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\longlong.obj:     $(COMMDIR)\longlong.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-memory.obj:     $(COMMDIR)\memory.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\matrix.obj:     $(COMMDIR)\matrix.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-menucmn.obj:     $(COMMDIR)\menucmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\memory.obj:     $(COMMDIR)\memory.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-mimecmn.obj:     $(COMMDIR)\mimecmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\menucmn.obj:     $(COMMDIR)\menucmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-module.obj:     $(COMMDIR)\module.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\mimecmn.obj:     $(COMMDIR)\mimecmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-msgout.obj:     $(COMMDIR)\msgout.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\module.obj:     $(COMMDIR)\module.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-mstream.obj:     $(COMMDIR)\mstream.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\msgout.obj:     $(COMMDIR)\msgout.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-nbkbase.obj:     $(COMMDIR)\nbkbase.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\mstream.obj:     $(COMMDIR)\mstream.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-object.obj:     $(COMMDIR)\object.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\nbkbase.obj:     $(COMMDIR)\nbkbase.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-odbc.obj:     $(COMMDIR)\odbc.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\object.obj:     $(COMMDIR)\object.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-paper.obj:     $(COMMDIR)\paper.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\odbc.obj:     $(COMMDIR)\odbc.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-popupcmn.obj:     $(COMMDIR)\popupcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\paper.obj:     $(COMMDIR)\paper.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-prntbase.obj:     $(COMMDIR)\prntbase.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\popupcmn.obj:     $(COMMDIR)\popupcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-process.obj:     $(COMMDIR)\process.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\prntbase.obj:     $(COMMDIR)\prntbase.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-protocol.obj:     $(COMMDIR)\protocol.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\process.obj:     $(COMMDIR)\process.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-quantize.obj:     $(COMMDIR)\quantize.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\protocol.obj:     $(COMMDIR)\protocol.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-radiocmn.obj:     $(COMMDIR)\radiocmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\quantize.obj:     $(COMMDIR)\quantize.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-regex.obj:     $(COMMDIR)\regex.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\radiocmn.obj:     $(COMMDIR)\radiocmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-resource.obj:     $(COMMDIR)\resource.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\regex.obj:     $(COMMDIR)\regex.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-sckaddr.obj:     $(COMMDIR)\sckaddr.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\resource.obj:     $(COMMDIR)\resource.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-sckfile.obj:     $(COMMDIR)\sckfile.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\sckaddr.obj:     $(COMMDIR)\sckaddr.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-sckipc.obj:     $(COMMDIR)\sckipc.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\sckfile.obj:     $(COMMDIR)\sckfile.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-sckstrm.obj:     $(COMMDIR)\sckstrm.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\sckipc.obj:     $(COMMDIR)\sckipc.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-settcmn.obj:     $(COMMDIR)\settcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\sckstrm.obj:     $(COMMDIR)\sckstrm.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-sizer.obj:     $(COMMDIR)\sizer.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\settcmn.obj:     $(COMMDIR)\settcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-socket.obj:     $(COMMDIR)\socket.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\sizer.obj:     $(COMMDIR)\sizer.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-statbar.obj:     $(COMMDIR)\statbar.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\socket.obj:     $(COMMDIR)\socket.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-strconv.obj:     $(COMMDIR)\strconv.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\statbar.obj:     $(COMMDIR)\statbar.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-stream.obj:     $(COMMDIR)\stream.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\strconv.obj:     $(COMMDIR)\strconv.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-string.obj:     $(COMMDIR)\string.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\stream.obj:     $(COMMDIR)\stream.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-sysopt.obj:     $(COMMDIR)\sysopt.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\string.obj:     $(COMMDIR)\string.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tbarbase.obj:     $(COMMDIR)\tbarbase.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\sysopt.obj:     $(COMMDIR)\sysopt.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-textbuf.obj:     $(COMMDIR)\textbuf.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\tbarbase.obj:     $(COMMDIR)\tbarbase.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-textcmn.obj:     $(COMMDIR)\textcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\textbuf.obj:     $(COMMDIR)\textbuf.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-textfile.obj:     $(COMMDIR)\textfile.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\textcmn.obj:     $(COMMDIR)\textcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-timercmn.obj:     $(COMMDIR)\timercmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\textfile.obj:     $(COMMDIR)\textfile.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tokenzr.obj:     $(COMMDIR)\tokenzr.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\timercmn.obj:     $(COMMDIR)\timercmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-toplvcmn.obj:     $(COMMDIR)\toplvcmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\tokenzr.obj:     $(COMMDIR)\tokenzr.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-treebase.obj:     $(COMMDIR)\treebase.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\toplvcmn.obj:     $(COMMDIR)\toplvcmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-txtstrm.obj:     $(COMMDIR)\txtstrm.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\treebase.obj:     $(COMMDIR)\treebase.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-unzip.obj:     $(COMMDIR)\unzip.c
-  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\txtstrm.obj:     $(COMMDIR)\txtstrm.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-url.obj:     $(COMMDIR)\url.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\unzip.obj:     $(COMMDIR)\unzip.c
+  *$(CC) $(CFLAGS) $<
 
-utilscmn.obj:     $(COMMDIR)\utilscmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\url.obj:     $(COMMDIR)\url.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-valgen.obj:     $(COMMDIR)\valgen.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\utilscmn.obj:     $(COMMDIR)\utilscmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-validate.obj:     $(COMMDIR)\validate.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\valgen.obj:     $(COMMDIR)\valgen.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-valtext.obj:     $(COMMDIR)\valtext.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\validate.obj:     $(COMMDIR)\validate.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-variant.obj:     $(COMMDIR)\variant.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\valtext.obj:     $(COMMDIR)\valtext.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-wfstream.obj:     $(COMMDIR)\wfstream.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\variant.obj:     $(COMMDIR)\variant.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-wincmn.obj:     $(COMMDIR)\wincmn.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\wfstream.obj:     $(COMMDIR)\wfstream.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-wxchar.obj:     $(COMMDIR)\wxchar.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\wincmn.obj:     $(COMMDIR)\wincmn.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-wxexpr.obj:     $(COMMDIR)\wxexpr.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\wxchar.obj:     $(COMMDIR)\wxchar.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-xpmdecod.obj:     $(COMMDIR)\xpmdecod.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\wxexpr.obj:     $(COMMDIR)\wxexpr.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-zipstrm.obj:     $(COMMDIR)\zipstrm.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\xpmdecod.obj:     $(COMMDIR)\xpmdecod.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-zstream.obj:     $(COMMDIR)\zstream.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\zipstrm.obj:     $(COMMDIR)\zipstrm.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
+$(OUTPUTDIR)\zstream.obj:     $(COMMDIR)\zstream.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
 
-y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
-  *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
 
-#  *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c
+$(OUTPUTDIR)\y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
+  *$(CC) $(CFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
 
 $(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.c
-        copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
+    copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
 
 $(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
     copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
@@ -1150,98 +1118,98 @@ $(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
 # Generic objects (not always compiled, depending on
 # whether platforms have native implementations)
 
-busyinfo.obj:     $(GENDIR)\busyinfo.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\busyinfo.obj:     $(GENDIR)\busyinfo.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-calctrl.obj:     $(GENDIR)\calctrl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\calctrl.obj:     $(GENDIR)\calctrl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-choicdgg.obj:     $(GENDIR)\choicdgg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\choicdgg.obj:     $(GENDIR)\choicdgg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dcbuffer.obj:     $(GENDIR)\dcbuffer.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dcbuffer.obj:     $(GENDIR)\dcbuffer.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dcpsg.obj:     $(GENDIR)\dcpsg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dcpsg.obj:     $(GENDIR)\dcpsg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dirctrlg.obj:     $(GENDIR)\dirctrlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dirctrlg.obj:     $(GENDIR)\dirctrlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-dragimgg.obj:     $(GENDIR)\dragimgg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\dragimgg.obj:     $(GENDIR)\dragimgg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-grid.obj:     $(GENDIR)\grid.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\grid.obj:     $(GENDIR)\grid.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gridctrl.obj:     $(GENDIR)\gridctrl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gridctrl.obj:     $(GENDIR)\gridctrl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-gridsel.obj:     $(GENDIR)\gridsel.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\gridsel.obj:     $(GENDIR)\gridsel.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-laywin.obj:     $(GENDIR)\laywin.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\laywin.obj:     $(GENDIR)\laywin.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-logg.obj:     $(GENDIR)\logg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\logg.obj:     $(GENDIR)\logg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-numdlgg.obj:     $(GENDIR)\numdlgg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\numdlgg.obj:     $(GENDIR)\numdlgg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-panelg.obj:     $(GENDIR)\panelg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\panelg.obj:     $(GENDIR)\panelg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-progdlgg.obj:     $(GENDIR)\progdlgg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\progdlgg.obj:     $(GENDIR)\progdlgg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-prop.obj:     $(GENDIR)\prop.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\prop.obj:     $(GENDIR)\prop.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-propform.obj:     $(GENDIR)\propform.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\propform.obj:     $(GENDIR)\propform.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-proplist.obj:     $(GENDIR)\proplist.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\proplist.obj:     $(GENDIR)\proplist.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-sashwin.obj:     $(GENDIR)\sashwin.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\sashwin.obj:     $(GENDIR)\sashwin.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-scrlwing.obj:     $(GENDIR)\scrlwing.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\scrlwing.obj:     $(GENDIR)\scrlwing.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-spinctlg.obj:     $(GENDIR)\spinctlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\spinctlg.obj:     $(GENDIR)\spinctlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-splash.obj:     $(GENDIR)\splash.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\splash.obj:     $(GENDIR)\splash.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-splitter.obj:     $(GENDIR)\splitter.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\splitter.obj:     $(GENDIR)\splitter.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-statusbr.obj:     $(GENDIR)\statusbr.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\statusbr.obj:     $(GENDIR)\statusbr.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tbarsmpl.obj:     $(GENDIR)\tbarsmpl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\tbarsmpl.obj:     $(GENDIR)\tbarsmpl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-textdlgg.obj:     $(GENDIR)\textdlgg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\textdlgg.obj:     $(GENDIR)\textdlgg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tipdlg.obj:     $(GENDIR)\tipdlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\tipdlg.obj:     $(GENDIR)\tipdlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-tipwin.obj:     $(GENDIR)\tipwin.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\tipwin.obj:     $(GENDIR)\tipwin.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-treectlg.obj:     $(GENDIR)\treectlg.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\treectlg.obj:     $(GENDIR)\treectlg.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-treelay.obj:     $(GENDIR)\treelay.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\treelay.obj:     $(GENDIR)\treelay.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-wizard.obj:     $(GENDIR)\wizard.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\wizard.obj:     $(GENDIR)\wizard.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
 
 
@@ -1249,65 +1217,65 @@ wizard.obj:     $(GENDIR)\wizard.cpp
 ########################################################
 # HTML objects (always compiled)
 
-helpctrl.obj:     $(HTMLDIR)\helpctrl.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\helpctrl.obj:     $(HTMLDIR)\helpctrl.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-helpdata.obj:     $(HTMLDIR)\helpdata.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\helpdata.obj:     $(HTMLDIR)\helpdata.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-helpfrm.obj:     $(HTMLDIR)\helpfrm.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\helpfrm.obj:     $(HTMLDIR)\helpfrm.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-htmlcell.obj:     $(HTMLDIR)\htmlcell.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\htmlcell.obj:     $(HTMLDIR)\htmlcell.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-htmlfilt.obj:     $(HTMLDIR)\htmlfilt.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\htmlfilt.obj:     $(HTMLDIR)\htmlfilt.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-htmlpars.obj:     $(HTMLDIR)\htmlpars.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\htmlpars.obj:     $(HTMLDIR)\htmlpars.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-htmltag.obj:     $(HTMLDIR)\htmltag.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\htmltag.obj:     $(HTMLDIR)\htmltag.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-htmlwin.obj:     $(HTMLDIR)\htmlwin.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\htmlwin.obj:     $(HTMLDIR)\htmlwin.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-htmprint.obj:     $(HTMLDIR)\htmprint.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\htmprint.obj:     $(HTMLDIR)\htmprint.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_dflist.obj:     $(HTMLDIR)\m_dflist.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_dflist.obj:     $(HTMLDIR)\m_dflist.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_fonts.obj:     $(HTMLDIR)\m_fonts.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_fonts.obj:     $(HTMLDIR)\m_fonts.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_hline.obj:     $(HTMLDIR)\m_hline.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_hline.obj:     $(HTMLDIR)\m_hline.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_image.obj:     $(HTMLDIR)\m_image.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_image.obj:     $(HTMLDIR)\m_image.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_layout.obj:     $(HTMLDIR)\m_layout.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_layout.obj:     $(HTMLDIR)\m_layout.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_links.obj:     $(HTMLDIR)\m_links.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_links.obj:     $(HTMLDIR)\m_links.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_list.obj:     $(HTMLDIR)\m_list.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_list.obj:     $(HTMLDIR)\m_list.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_pre.obj:     $(HTMLDIR)\m_pre.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_pre.obj:     $(HTMLDIR)\m_pre.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_style.obj:     $(HTMLDIR)\m_style.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_style.obj:     $(HTMLDIR)\m_style.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-m_tables.obj:     $(HTMLDIR)\m_tables.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\m_tables.obj:     $(HTMLDIR)\m_tables.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
-winpars.obj:     $(HTMLDIR)\winpars.cpp
-  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+$(OUTPUTDIR)\winpars.obj:     $(HTMLDIR)\winpars.cpp
+  *$(CXX) $(CXXFLAGS) $<
 
 
 
index c6c6c8ae483126cf0b23fb29190387d869aa05ef..643134fbfd217717cfd99a46f889e9ebe5e443bd 100644 (file)
@@ -8,30 +8,48 @@
 
 WXDIR = ..\..
 EXTRACPPFLAGS=-i=..\zlib
+OUTPUTDIR=Watcom\
 
 !include $(WXDIR)\src\makewat.env
 
 WXLIB = $(WXDIR)\lib
 
-LIBTARGET   = $(WXLIB)\png.lib
-
-OBJECTS = png.obj pngread.obj pngrtran.obj pngrutil.obj &
- pngpread.obj pngtrans.obj pngwrite.obj pngwtran.obj pngwutil.obj &
- pngerror.obj pngmem.obj pngwio.obj pngrio.obj pngget.obj pngset.obj
-
-all:        $(OBJECTS) $(LIBTARGET)
-
+LIBTARGET = $(WXLIB)\png$(WATCOM_SUFFIX).lib
+
+OBJECTS = &
+    $(OUTPUTDIR)png.obj &
+    $(OUTPUTDIR)pngread.obj &
+    $(OUTPUTDIR)pngrtran.obj &
+    $(OUTPUTDIR)pngrutil.obj &
+    $(OUTPUTDIR)pngpread.obj &
+    $(OUTPUTDIR)pngtrans.obj &
+    $(OUTPUTDIR)pngwrite.obj &
+    $(OUTPUTDIR)pngwtran.obj &
+    $(OUTPUTDIR)pngwutil.obj &
+    $(OUTPUTDIR)pngerror.obj &
+    $(OUTPUTDIR)pngmem.obj &
+    $(OUTPUTDIR)pngwio.obj &
+    $(OUTPUTDIR)pngrio.obj &
+    $(OUTPUTDIR)pngget.obj &
+    $(OUTPUTDIR)pngset.obj
+
+all: $(OUTPUTDIR) $(LIBTARGET) .SYMBOLIC
+
+$(OUTPUTDIR):
+       @if not exist $^@ mkdir $^@
+
+LBCFILE=$(OUTPUTDIR)png.lbc
 $(LIBTARGET) : $(OBJECTS)
-    %create tmp.lbc
-    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-    wlib /b /c /n /p=512 $^@ @tmp.lbc
+    %create $(LBCFILE)
+    @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+    wlib /q /b /c /n /p=512 $^@ @$(LBCFILE)
 
 clean:   .SYMBOLIC
-    -erase *.obj
+    -erase $(OUTPUTDIR)*.obj
     -erase $(LIBTARGET)
-    -erase *.pch
-    -erase *.err
-    -erase *.lbc
+    -erase $(OUTPUTDIR)*.pch
+    -erase $(OUTPUTDIR)*.err
+    -erase $(OUTPUTDIR)*.lbc
 
 cleanall:   clean
 
index b73464c60c7ccaba0d728f7463fce51bdaef5d69..3e9eb10cb0004b247a097982201ca58b1775c21b 100644 (file)
@@ -9,24 +9,30 @@
 WXDIR = ..\..
 EXTRACPPFLAGS=-DPOSIX_MISTAKE
 
+OUTPUTDIR=watcom\
+
 !include $(WXDIR)\src\makewat.env
 
 WXLIB = $(WXDIR)\lib
 
-LIBTARGET   = $(WXLIB)\regex.lib
+LIBTARGET = $(WXLIB)\regex$(WATCOM_SUFFIX).lib
+
+OBJECTS = &
+               $(OUTPUTDIR)regcomp.obj &
+               $(OUTPUTDIR)regexec.obj &
+               $(OUTPUTDIR)regerror.obj &
+               $(OUTPUTDIR)regfree.obj
 
-OBJECTS= &
-               regcomp.obj &
-               regexec.obj &
-               regerror.obj &
-               regfree.obj
+all:        $(OUTPUTDIR) $(LIBTARGET) .SYMBOLIC
 
-all:        $(OBJECTS) $(LIBTARGET)
+$(OUTPUTDIR):
+       @if not exist $^@ mkdir $^@
 
+LBCFILE=$(OUTPUTDIR)regex.lbc
 $(LIBTARGET) : $(OBJECTS)
-    %create tmp.lbc
-    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-    wlib /b /c /n /p=512 $^@ @tmp.lbc
+    %create $(LBCFILE)
+    @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+    wlib /q /b /c /n /p=512 $^@ @$(LBCFILE)
 
 clean:   .SYMBOLIC
     -erase *.obj
index 3ea09da5555405ad48e823c1df76ecace527460d..81b815ef89e415d3e885bfc3727bcf6e2b5e8c55 100644 (file)
-# Makefile for zlib
-# Watcom 10a
+##############################################################################
+# Name:                        src/zlib/makefile.wat
+# Purpose:             build zlib using Watcom 11.0+ compiler
+# Author:              Vadim Zeitlin
+# Created:             21.01.03
+# RCS-ID:              $Id$
+# Copyright:   (c) 2003 Vadim Zeitlin
+# Licence:             wxWindows licence
+##############################################################################
 
-# This version of the zlib makefile was adapted by Chris Young for use
-# with Watcom 10a 32-bit protected mode flat memory model.  It was created 
-# for use with POV-Ray ray tracer and you may choose to edit the CFLAGS to 
-# suit your needs but the -DMSDOS is required.
-# -- Chris Young 76702.1655@compuserve.com
+WXDIR = ..\..
+OUTPUTDIR=watcom\
 
-# To use, do "wmake -f makefile.wat"
+!include $(WXDIR)\src\makewat.env
 
-# See zconf.h for details about the memory requirements.
-
-# ------------- Watcom 10a -------------
-MODEL=-mf 
-CFLAGS= $(MODEL) -fpi87 -fp5 -zp4 -5r -w5 -oneatx -DWIN32
-CC=wcc386
-LD=wcl386
-LIB=wlib -b -c 
-LDFLAGS= 
-O=.obj
-LIBTARGET=..\..\lib\zlib.lib
+LIBTARGET=$(WXDIR)\lib\zlib$(WATCOM_SUFFIX).lib
 
 # variables
-OBJECTS=adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) &
-        trees$(O) zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) &
-        infutil$(O) inffast$(O)
+OBJECTS = &
+       $(OUTPUTDIR)adler32.obj &
+       $(OUTPUTDIR)compress.obj &
+       $(OUTPUTDIR)crc32.obj &
+       $(OUTPUTDIR)gzio.obj &
+       $(OUTPUTDIR)uncompr.obj &
+       $(OUTPUTDIR)deflate.obj &
+       $(OUTPUTDIR)trees.obj &
+       $(OUTPUTDIR)zutil.obj &
+       $(OUTPUTDIR)inflate.obj &
+       $(OUTPUTDIR)infblock.obj &
+       $(OUTPUTDIR)inftrees.obj &
+       $(OUTPUTDIR)infcodes.obj &
+       $(OUTPUTDIR)infutil.obj &
+       $(OUTPUTDIR)inffast.obj
 
 # all: test
 
-all: $(LIBTARGET)
-
-adler32.obj: adler32.c zutil.h zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zutil.h zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h &
-  infcodes.h infutil.h
-       $(CC) $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h &
-  infcodes.h inffast.h
-       $(CC) $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
-       $(CC) $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
-       $(CC) $(CFLAGS) $*.c
+all: $(OUTPUTDIR) $(LIBTARGET) .SYMBOLIC
 
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
-       $(CC) $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
-       $(CC) $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
-       $(CC) $(CFLAGS) $*.c
+$(OUTPUTDIR):
+       @if not exist $^@ mkdir $^@
 
+LBCFILE=$(OUTPUTDIR)zlib.lbc
 $(LIBTARGET) : $(OBJECTS)
-       %create tmp.lbc
-       @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-       wlib /b /c /n /p=512 $^@ @tmp.lbc
-
-
-example.exe: example.obj $(LIBTARGET)
-       $(LD) $(LDFLAGS) example.obj $(LIBTARGET)
-
-minigzip.exe: minigzip.obj $(LIBTARGET)
-       $(LD) $(LDFLAGS) minigzip.obj $(LIBTARGET)
-
-test: minigzip.exe example.exe
-       example
-       echo hello world | minigzip | minigzip -d >test
-       type test
+       %create $(LBCFILE)
+       @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+       wlib /q /b /c /n /p=512 $^@ @$(LBCFILE)
 
 clean: .SYMBOLIC
        -erase *.obj
        -erase *.exe
-        -erase $(LIBTARGET)
+       -erase $(LIBTARGET)