]> git.saurik.com Git - wxWidgets.git/commitdiff
the template files for generating all MSW makefiles with tmake and the
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 14 Jul 1999 22:46:12 +0000 (22:46 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 14 Jul 1999 22:46:12 +0000 (22:46 +0000)
(one and only one) file containing the list of all wxWindows sources.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

distrib/msw/tmake/b32.t [new file with mode: 0644]
distrib/msw/tmake/bcc.t [new file with mode: 0644]
distrib/msw/tmake/dos.t [new file with mode: 0644]
distrib/msw/tmake/filelist.t [new file with mode: 0644]
distrib/msw/tmake/filelist.txt [new file with mode: 0644]
distrib/msw/tmake/g95.t [new file with mode: 0644]
distrib/msw/tmake/makeall.bat [new file with mode: 0755]
distrib/msw/tmake/sc.t [new file with mode: 0644]
distrib/msw/tmake/vc.t [new file with mode: 0644]
distrib/msw/tmake/vc6.t [new file with mode: 0644]
distrib/msw/tmake/wat.t [new file with mode: 0644]

diff --git a/distrib/msw/tmake/b32.t b/distrib/msw/tmake/b32.t
new file mode 100644 (file)
index 0000000..d637839
--- /dev/null
@@ -0,0 +1,324 @@
+#!#############################################################################
+#! File:    b32.t
+#! Purpose: tmake template file from which makefile.b32 is generated by running
+#!          tmake -t b32 wxwin.pro
+#! 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 %wxGeneric) {
+        my $tag = "";
+        if ( $wxGeneric{$file} =~ /\b(G|16|U)\b/ ) {
+            next;
+        }
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXGENERICOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+    }
+
+    foreach $file (sort keys %wxCommon) {
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXCOMMONOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+    }
+
+    foreach $file (sort keys %wxMSW) {
+        next if $wxMSW{$file} =~ /\b16\b/;
+
+        if ( file =~ /automtn/ ) {
+            #! comment in old makefile.b32 seems to imply that this file can't
+            #! be compiled with Borland (leads to crash in oleauto sample)
+            next;
+        }
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+    }
+#$}
+
+# This file was automatically generated by tmake at #$ Now()
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
+
+#
+# File:     makefile.b32
+# Author:   Julian Smart
+# Created:  1998
+# Updated:
+# Copyright:
+#
+# "%W% %G%"
+#
+# Makefile : Builds wxWindows library wx.lib for MS Windows,
+# and Borland C++ (32-bit).
+
+!if "$(BCCDIR)" == ""
+!error You must define the BCCDIR variable in autoexec.bat, e.g. BCCDIR=d:\bc4
+!endif
+
+!if "$(WXWIN)" == ""
+!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
+!endif
+
+WXDIR = $(WXWIN)
+
+# Set all these to 1 if you want to build a dynamic library
+!if "$(DLL)" == "1"
+WXMAKINGDLL=1
+WXBUILDDLL=1
+!endif
+
+!include $(WXDIR)\src\makeb32.env
+
+# Please set these according to the settings in wx_setup.h, so we can include
+# the appropriate libraries in wx.lib
+USE_CTL3D=0
+USE_XPM_IN_MSW=0
+
+PERIPH_LIBS=
+PERIPH_TARGET=
+PERIPH_CLEAN_TARGET=
+
+!if "$(USE_CTL3D)" == "1"
+#Use WIN32S/WIN95 32 bit version ctl3d32.dll under win95 (Andre Beltman)
+PERIPH_LIBS=$(WXDIR)\lib\ctl3d32.lib $(PERIPH_LIBS)
+PERIPH_TARGET=ctl3d $(PERIPH_TARGET)
+PERIPH_CLEAN_TARGET=clean_ctl3d $(PERIPH_CLEAN_TARGET)
+!endif
+
+!if "$(USE_XPM_IN_MSW)" == "1"
+PERIPH_LIBS=$(WXLIB)\xpm.lib $(PERIPH_LIBS)
+PERIPH_TARGET=xpm $(PERIPH_TARGET)
+PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
+!endif
+
+#PERIPH_LIBS=$(WXDIR)\lib\zlib.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\jpeg.lib $(PERIPH_LIBS)
+PERIPH_LIBS=
+PERIPH_TARGET=zlib png jpeg $(PERIPH_TARGET)
+PERIPH_CLEAN_TARGET=clean_zlib clean_png clean_jpeg $(PERIPH_CLEAN_TARGET)
+
+!if "$(DLL)" == "0"
+DUMMY=dummy
+!else
+DUMMY=dummydll
+LIBS= cw32 import32 ole2w32
+!endif
+
+LIBTARGET=$(WXLIB)
+
+GENDIR=..\generic
+COMMDIR=..\common
+OLEDIR=.\ole
+MSWDIR=.
+
+DOCDIR = $(WXDIR)\docs
+
+GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
+
+# Not needed:
+#  $(MSWDIR)\colrdlgg.obj \
+#  $(MSWDIR)\fontdlgg.obj \
+#  $(MSWDIR)\helpxlp.obj \
+#  $(MSWDIR)\msgdlgg.obj \
+#  $(MSWDIR)\printps.obj \
+#  $(MSWDIR)\prntdlgg.obj \
+#  $(MSWDIR)\listctrl.obj \
+#  $(MSWDIR)\notebook.obj \
+#  $(MSWDIR)\treectrl.obj
+
+COMMONOBJS = \
+               $(MSWDIR)\y_tab.obj \
+               #$ ExpandList("WXCOMMONOBJS");
+
+MSWOBJS = #$ ExpandList("WXMSWOBJS");
+
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
+
+default:       wx
+
+wx:    $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
+
+all:   all_libs all_execs
+
+!if "$(DLL)" == "0"
+
+$(LIBTARGET): $(DUMMY).obj $(OBJECTS)
+        -erase $(LIBTARGET)
+       tlib $(LIBTARGET) /P512 @&&!
++$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
+!
+
+!else
+
+$(LIBTARGET): $(DUMMY).obj $(OBJECTS)
+       -erase $(LIBTARGET)
+       -erase $(WXLIBDIR)\wx.dll
+        tlink32 $(LINK_FLAGS) /v @&&!
+c0d32.obj $(OBJECTS)
+$(WXLIBDIR)\wx
+nul
+$(PERIPH_LIBS) $(LIBS)
+wxb32
+!
+        implib -c $(LIBTARGET) $(WXLIBDIR)\wx.dll
+
+!endif
+
+dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
+dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
+
+$(MSWDIR)\y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
+
+#        cl @<<
+# $(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
+# <<
+
+$(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.c
+        copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
+
+$(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
+    copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
+
+# $(OBJECTS):  $(WXDIR)\include\wx\setup.h
+
+#${
+    $_ = $project{"WXMSWOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";
+        s/obj$/\$(SRCSUFF)/;
+        $text .= $_ . "\n\n";
+    }
+#$}
+
+########################################################
+# Common objects (always compiled)
+
+#${
+    $_ = $project{"WXCOMMONOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";
+        s/MSWDIR/COMMDIR/;
+        s/obj$/\$(SRCSUFF)/;
+        $text .= $_ . "\n\n";
+    }
+#$}
+
+########################################################
+# Generic objects (not always compiled, depending on
+# whether platforms have native implementations)
+
+#${
+    $_ = $project{"WXGENERICOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";
+        s/MSWDIR/GENDIR/;
+        s/obj$/\$(SRCSUFF)/;
+        $text .= $_ . "\n\n";
+    }
+#$}
+
+
+all_utils:
+    cd $(WXDIR)\utils
+    make -f makefile.b32
+    cd $(WXDIR)\src\msw
+
+all_samples:
+    cd $(WXDIR)\samples
+    make -f makefile.b32
+    cd $(WXDIR)\src\msw
+
+all_execs:
+    cd $(WXDIR)\utils
+    make -f makefile.b32 all_execs
+    cd $(WXDIR)\src\msw
+
+wxxpm: $(CFG)
+       cd $(WXDIR)\src\xpm
+       make -f makefile.b32 -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
+       cd $(WXDIR)\src\msw
+
+clean_wxxpm:   $(CFG)
+       cd $(WXDIR)\src\xpm
+       make -f makefile.b32 clean
+       cd $(WXDIR)\src\msw
+
+png:    $(CFG)
+        cd $(WXDIR)\src\png
+        make -f makefile.b32 
+        cd $(WXDIR)\src\msw
+
+clean_png:
+        cd $(WXDIR)\src\png
+        make -f makefile.b32 clean
+        cd $(WXDIR)\src\msw
+
+zlib:   $(CFG)
+        cd $(WXDIR)\src\zlib
+        make -f makefile.b32 lib
+        cd $(WXDIR)\src\msw
+
+clean_zlib:
+        cd $(WXDIR)\src\zlib
+        make -f makefile.b32 clean
+        cd $(WXDIR)\src\msw
+
+jpeg:    $(CFG)
+        cd $(WXDIR)\src\jpeg
+        make -f makefile.b32 
+        cd $(WXDIR)\src\msw
+
+clean_jpeg:
+        cd $(WXDIR)\src\jpeg
+        make -f makefile.b32 clean
+        cd $(WXDIR)\src\msw
+
+$(CFG): makefile.b32
+       copy &&!
+-H=$(WXDIR)\src\msw\wx32.csm
+-3
+-d
+-R-
+-X
+-w-par
+-w-aus
+-w-hid # virtual function A hides virtual function B
+-WE
+-tWM
+
+-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/png;$(WXDIR)/src/jpeg;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
+-I$(WXDIR)\include\wx\msw\gnuwin32
+
+-L$(BCCDIR)\lib
+-D__WXWIN__
+-D__WXMSW__
+-D__WINDOWS__
+-DWIN32
+$(OPT)
+$(DEBUG_FLAGS)
+$(WIN95FLAG)
+! $(CFG)
+
+#-I$(WXDIR)\src\common\wxxpm\libxpm.34b\lib
+# -Oxt
+
+clean: $(PERIPH_CLEAN_TARGET)
+    -erase $(LIBTARGET)
+    -erase *.obj
+    -erase *.pch
+    -erase *.csm
+    -erase *.cfg
+    -erase ..\common\y_tab.c
+    -erase ..\common\lex_yy.c
+
+cleanall: clean
+
+
diff --git a/distrib/msw/tmake/bcc.t b/distrib/msw/tmake/bcc.t
new file mode 100644 (file)
index 0000000..b3c3ffe
--- /dev/null
@@ -0,0 +1,299 @@
+#!#############################################################################
+#! File:    bcc.t
+#! Purpose: tmake template file from which makefile.bcc is generated by running
+#!          tmake -t bcc wxwin.pro -o makefile.bcc
+#! 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 %wxGeneric) {
+        my $tag = "";
+        next if $wxGeneric{$file} =~ /\b(PS|G|U)\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXGENERICOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+    }
+
+    foreach $file (sort keys %wxCommon) {
+        #! socket files don't compile under Win16 currently
+        next if $wxCommon{$file} =~ /\b(32|S)\b/;
+
+        #! needs extra files (sql*.h) so not compiled by default.
+        next if $file =~ /^odbc\./;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXCOMMONOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+    }
+
+    #! special hack for Borland in 16 bits needs this file
+    $project{"WXCOMMONOBJS"} .= '${MSWDIR}\resourc2.cpp';
+
+    foreach $file (sort keys %wxMSW) {
+        #! don't take files not appropriate for 16-bit Windows
+        next if $wxMSW{$file} =~ /\b(32|O)\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+    }
+#$}
+
+# This file was automatically generated by tmake at #$ Now()
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BCC.T!
+
+#
+# File:     makefile.bcc
+# Author:   Julian Smart
+# Created:  1993
+# Updated:
+# Copyright:(c) 1993, AIAI, University of Edinburgh
+#
+# "%W% %G%"
+#
+# Makefile : Builds wxWindows library wx.lib for Windows 3.1
+# and Borland C++ 3.1
+
+!if "$(BCCDIR)" == ""
+!error You must define the BCCDIR variable in autoexec.bat, e.g. BCCDIR=d:\bc4
+!endif
+
+!if "$(WXWIN)" == ""
+!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
+!endif
+
+!if "$(CFG)" == ""
+# !error You must start compiling from wx\src, not wx\src\msw.
+!endif
+
+!ifndef DEBUG
+DEBUG=0
+!endif
+
+WXDIR = $(WXWIN)
+
+!include $(WXDIR)\src\makebcc.env
+
+THISDIR = $(WXDIR)\src\msw
+
+# Please set these according to the settings in wx_setup.h, so we can include
+# the appropriate libraries in wx.lib
+USE_CTL3D=1
+USE_XPM_IN_MSW=0
+
+PERIPH_LIBS=
+PERIPH_TARGET=
+PERIPH_CLEAN_TARGET=
+
+!if "$(USE_CTL3D)" == "1"
+PERIPH_LIBS=$(BCCDIR)\lib\ctl3dv2.lib $(PERIPH_LIBS)
+!endif
+
+!if "$(USE_XPM_IN_MSW)" == "1"
+PERIPH_LIBS=$(WXDIR)\xpm.lib $(PERIPH_LIBS)
+PERIPH_TARGET=xpm $(PERIPH_TARGET)
+PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
+!endif
+
+# TODO: add these libraries
+# PERIPH_LIBS=$(WXDIR)\lib\zlib.lib $(WXDIR)\lib\winpng.lib $(PERIPH_LIBS)
+PERIPH_TARGET=zlib png $(PERIPH_TARGET)
+PERIPH_CLEAN_TARGET=clean_zlib clean_png $(PERIPH_CLEAN_TARGET)
+
+CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
+
+LIBTARGET= $(WXLIBDIR)\wx.lib
+DUMMY=dummy
+
+GENDIR=..\generic
+COMMDIR=..\common
+OLEDIR=.\ole
+MSWDIR=.
+
+DOCDIR = $(WXDIR)\docs
+
+GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
+
+COMMONOBJS = \
+               $(MSWDIR)\y_tab.obj \
+               #$ ExpandList("WXCOMMONOBJS");
+
+MSWOBJS = #$ ExpandList("WXMSWOBJS");
+
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
+
+default:       wx
+
+wx:    $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
+
+$(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(PERIPH_LIBS)
+       erase $(LIBTARGET)
+       tlib $(LIBTARGET) /P1024 @&&!
++$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
+!
+
+dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
+dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
+
+$(MSWDIR)\y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
+
+#        cl @<<
+# $(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
+# <<
+
+$(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.c
+        copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
+
+$(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
+    copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
+
+# $(OBJECTS):  $(WXDIR)\include\wx\setup.h
+
+#${
+    $_ = $project{"WXMSWOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";
+        s/obj/\$(SRCSUFF)/;
+        $text .= $_ . "\n\n";
+    }
+#$}
+
+########################################################
+# Common objects (always compiled)
+
+#${
+    $_ = $project{"WXCOMMONOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";
+        s/MSWDIR/COMMDIR/;
+        s/obj/\$(SRCSUFF)/;
+        $text .= $_ . "\n\n";
+    }
+#$}
+
+########################################################
+# Generic objects (not always compiled, depending on
+# whether platforms have native implementations)
+
+#${
+    $_ = $project{"WXGENERICOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ": ";
+        s/MSWDIR/GENDIR/;
+        s/obj/\$(SRCSUFF)/;
+        $text .= $_ . "\n\n";
+    }
+#$}
+
+all_utils:
+    cd $(WXDIR)\utils
+    make -f makefile.bcc
+    cd $(WXDIR)\src\msw
+
+all_samples:
+    cd $(WXDIR)\samples
+    make -f makefile.bcc
+    cd $(WXDIR)\src\msw
+
+all_execs:
+    cd $(WXDIR)\utils
+    make -f makefile.bcc all_execs
+    cd $(WXDIR)\src\msw
+
+all_libs:
+    cd $(WXDIR)\src\msw
+    make -f makefile.bcc ctl3d dib fafa gauge hytext itsy prologio rcparser wx wxgraph\
+          wxstring wxtree mfutils # wxxpm
+
+all_contribs:
+    cd $(WXDIR)\src\msw
+    make -f makefile.bcc ctl3d fafa wxstring itsy gauge # wxxpm
+
+# CONTRIB
+ctl3d:  $(CFG)
+        cd $(WXDIR)\src\msw\ctl3d\borland
+        make -f makefile.bcc -DCFG=$(CFG)
+        cd $(WXDIR)\src\msw
+
+wxxpm: $(CFG)
+       cd $(WXDIR)\src\xpm
+       make -f makefile.bcc -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
+       cd $(WXDIR)\src\msw
+
+png:    $(CFG)
+        cd $(WXDIR)\src\png
+        make -f makefile.bcc 
+        cd $(WXDIR)\src\msw
+
+clean_png:
+        cd $(WXDIR)\src\png
+        make -f makefile.bcc clean
+        cd $(WXDIR)\src\msw
+
+zlib:   $(CFG)
+        cd $(WXDIR)\src\zlib
+        make -f makefile.bcc
+        cd $(WXDIR)\src\msw
+
+clean_zlib:
+        cd $(WXDIR)\src\zlib
+        make -f makefile.bcc clean
+        cd $(WXDIR)\src\msw
+
+$(CFG): makefile.bcc
+       copy &&!
+-H=$(WXDIR)\src\msw\borland.pch
+-2
+-P
+-d
+-w-hid
+-w-par
+-w-pia
+-w-aus
+-w-rch
+-ml
+-Od
+-WE
+-Fs-
+-Vf
+-Ff=4
+-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/png;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
+-I$(WXDIR)\include\wx\msw\gnuwin32
+-L$(BCCDIR)\lib
+-D__WXWIN__
+-D__WXMSW__
+-D__WINDOWS__
+-D__WIN16__
+! $(CFG)
+!if "$(BOR_VER)" == "3.1"
+       echo -Ff=4 >>$(CFG)
+!elif "$(BOR_VER)" == "4"
+       echo -Ff=512 >>$(CFG)
+       echo -dc >>$(CFG)
+!else
+       echo -Ff=512 >>$(CFG)
+       echo -dc >>$(CFG)
+!endif
+
+# -O was: -Oxt
+
+clean: $(PERIPH_CLEAN_TARGET)
+    erase $(LIBTARGET)
+    erase *.obj
+    erase *.pch
+    erase *.csm
+    erase *.cfg
+       erase ..\common\y_tab.c
+    erase ..\common\lex_yy.c
+
+cleanall: clean
+
+
diff --git a/distrib/msw/tmake/dos.t b/distrib/msw/tmake/dos.t
new file mode 100644 (file)
index 0000000..0b92a43
--- /dev/null
@@ -0,0 +1,255 @@
+#!#############################################################################
+#! File:    dos.t
+#! Purpose: tmake template file from which makefile.dos is generated by running
+#!          tmake -t dos wxwin.pro -o makefile.dos
+#! 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 %wxGeneric) {
+        if ( $wxGeneric{$file} =~ /\b(PS|G|U)\b/ ) {
+            #! this file for some reason was compiled for VC++ 1.52
+            next unless $file =~ /^prntdlgg\./;
+        }
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXGENERICOBJS"} .= "\$(GENDIR)\\" . $file . " "
+    }
+
+    foreach $file (sort keys %wxCommon) {
+        #! socket files don't compile under Win16 currently
+        next if $wxCommon{$file} =~ /\b(32|S)\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXCOMMONOBJS"} .= "\$(COMMDIR)\\" . $file . " "
+    }
+
+    foreach $file (sort keys %wxMSW) {
+        #! don't take files not appropriate for 16-bit Windows
+        next if $wxMSW{$file} =~ /\b(32|O)\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+    }
+#$}
+
+# This file was automatically generated by tmake at #$ Now()
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
+
+#
+# File:     makefile.dos
+# Author:   Julian Smart
+# Created:  1997
+# Updated:
+# Copyright:(c) 1997, Julian Smart
+#
+# "%W% %G%"
+#
+# Makefile : Builds wxWindows library wx.lib for VC++ (16-bit)
+# Arguments:
+#
+# FINAL=1 argument to nmake to build version with no debugging info.
+#
+!include <..\makemsc.env>
+
+LIBTARGET=$(WXLIB)
+DUMMYOBJ=dummy.obj
+
+# Please set these according to the settings in wx_setup.h, so we can include
+# the appropriate libraries in wx.lib
+
+# This one overrides the others, to be consistent with the settings in wx_setup.h
+MINIMAL_WXWINDOWS_SETUP=0
+
+USE_XPM_IN_MSW=0
+USE_CTL3D=1
+
+!if "$(MINIMAL_WXWINDOWS_SETUP)" == "1"
+USE_CTL3D=0
+USE_XPM_IN_MSW=0
+!endif
+
+PERIPH_LIBS=
+PERIPH_TARGET=
+PERIPH_CLEAN_TARGET=
+
+# !if "$(USE_CTL3D)" == "1"
+# PERIPH_LIBS=d:\msdev\lib\ctl3d32.lib $(PERIPH_LIBS)
+# !endif
+
+!if "$(USE_XPM_IN_MSW)" == "1"
+PERIPH_LIBS=$(WXDIR)\contrib\wxxpm\xpm.lib $(PERIPH_LIBS)
+PERIPH_TARGET=xpm $(PERIPH_TARGET)
+PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
+!endif
+
+# PNG and Zlib
+PERIPH_TARGET=png zlib $(PERIPH_TARGET)
+PERIPH_CLEAN_TARGET=clean_png clean_zlib $(PERIPH_CLEAN_TARGET)
+
+GENDIR=..\generic
+COMMDIR=..\common
+OLEDIR=.\ole
+MSWDIR=.
+
+GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
+
+COMMONOBJS = \
+               $(COMMDIR)\y_tab.obj \
+               #$ ExpandList("WXCOMMONOBJS");
+
+MSWOBJS = #$ ExpandList("WXMSWOBJS");
+
+# TODO: Implement XPM and PNG targets in this makefile!
+#  $(OLEDIR)\xpmhand \
+#  $(OLEDIR)\pnghand \
+
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
+
+# Normal, static library
+all:    $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib
+
+
+# $(WXDIR)\lib\wx.lib:      dummy.obj $(OBJECTS) $(PERIPH_LIBS)
+#      -erase $(LIBTARGET)
+#      lib /PAGESIZE:128 @<<
+# $(LIBTARGET)
+# y
+# $(OBJECTS) $(PERIPH_LIBS)
+# nul
+# ;
+# <<
+
+$(WXDIR)\lib\wx1.lib:      $(COMMONOBJS) $(PERIPH_LIBS)
+       -erase $(WXDIR)\lib\wx1.lib
+       lib /PAGESIZE:128 @<<
+$(WXDIR)\lib\wx1.lib
+y
+$(COMMONOBJS) $(PERIPH_LIBS)
+nul
+;
+<<
+
+$(WXDIR)\lib\wx2.lib:      $(GENERICOBJS)
+       -erase $(WXDIR)\lib\wx2.lib
+       lib /PAGESIZE:128 @<<
+$(WXDIR)\lib\wx2.lib
+y
+$(GENERICOBJS)
+nul
+;
+<<
+
+$(WXDIR)\lib\wx3.lib:      $(MSWOBJS)
+       -erase $(WXDIR)\lib\wx3.lib
+       lib /PAGESIZE:128 @<<
+$(WXDIR)\lib\wx3.lib
+y
+$(MSWOBJS)
+nul
+;
+<<
+
+########################################################
+# Windows-specific objects
+
+dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
+        cl @<<
+        cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
+<<
+
+#dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
+#        cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
+
+dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
+        cl @<<
+$(CPPFLAGS) /YcWX/WXPREC.H /c /Tp $*.$(SRCSUFF)
+<<
+
+#${
+    $_ = $project{"WXMSWOBJS"} . $project{"WXCOMMONOBJS"} . $project{"WXGENERICOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        s:\\:/:;
+        $text .= $_ . ':     $*.$(SRCSUFF)' . "\n" .
+                 '        cl @<<' . "\n" .
+                 '$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
+                 "<<\n\n";
+    }
+#$}
+
+$(COMMDIR)/y_tab.obj:     $*.c $(COMMDIR)/lex_yy.c
+        cl @<<
+$(CPPFLAGS2) -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@ /I ..\common /c $*.c
+<<
+
+$(COMMDIR)/y_tab.c:     $(COMMDIR)/dosyacc.c
+        copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
+
+$(COMMDIR)/lex_yy.c:    $(COMMDIR)/doslex.c
+    copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
+
+$(OBJECTS):    $(WXDIR)/include/wx/setup.h
+
+# Peripheral components
+
+xpm:
+    cd $(WXDIR)\src\xpm
+    nmake -f makefile.dos FINAL=$(FINAL)
+    cd $(WXDIR)\src\msw
+
+clean_xpm:
+    cd $(WXDIR)\src\xpm
+    nmake -f makefile.dos clean
+    cd $(WXDIR)\src\msw
+
+zlib:
+    cd $(WXDIR)\src\zlib
+    nmake -f makefile.dos FINAL=$(FINAL)
+    cd $(WXDIR)\src\msw
+
+clean_zlib:
+    cd $(WXDIR)\src\zlib
+    nmake -f makefile.dos clean
+    cd $(WXDIR)\src\msw
+
+png:
+    cd $(WXDIR)\src\png
+    nmake -f makefile.dos FINAL=$(FINAL)
+    cd $(WXDIR)\src\msw
+
+clean_png:
+    cd $(WXDIR)\src\png
+    nmake -f makefile.dos clean
+    cd $(WXDIR)\src\msw
+
+clean: $(PERIPH_CLEAN_TARGET)
+        -erase *.obj
+        -erase ..\lib\*.lib
+        -erase *.pdb
+        -erase *.sbr
+        -erase *.pch
+        cd $(WXDIR)\src\generic
+        -erase *.pdb
+        -erase *.sbr
+        -erase *.obj
+        cd $(WXDIR)\src\common
+        -erase *.pdb
+        -erase *.sbr
+        -erase *.obj
+        cd $(WXDIR)\src\msw\ole
+        -erase *.pdb
+        -erase *.sbr
+        -erase *.obj
+        cd $(WXDIR)\src\msw
+
+cleanall: clean
+
+
diff --git a/distrib/msw/tmake/filelist.t b/distrib/msw/tmake/filelist.t
new file mode 100644 (file)
index 0000000..07d041c
--- /dev/null
@@ -0,0 +1,52 @@
+#!#############################################################################
+#! File:    filelist.t
+#! Purpose: tmake template file containig Perl code to parse the filelist.txt
+#!          file - this is used by all other templates.
+#! Author:  Vadim Zeitlin
+#! Created: 14.07.99
+#! Version: $Id$
+#!#############################################################################
+#${
+    open(FILELIST, "filelist.txt") or die "Can't open filelist file: $!\n";
+
+    my %wxfiles;
+
+    line: while ( defined($_ = <FILELIST>) ) {
+        chomp;
+
+        #! comment or blank line, skip
+        next line if ( $_ eq "" or /^#/ );
+
+        #! if ( $verbose ) {
+        #!     print STDERR "Processing line: '$_'\n";
+        #! }
+
+        my @fields = split "\t";
+        if ( $#fields > 2 ) {
+            warn "Ignoring malformed line $_ in the filelist file.\n";
+            next line;
+        } elsif ( $#fields == 1 ) {
+            #! add an empty flags string
+            $fields[2] = "";
+        }
+
+        if ( $verbose ) {
+            print STDERR "File $fields[0]: type '$fields[1]', flags '$fields[2]'\n";
+        }
+
+        #! first column is filename, second is type, third is flags
+        if ( $fields[1] eq "C" ) {
+            $wxCommon{$fields[0]} = $fields[2];
+        } elsif ( $fields[1] eq "G" ) {
+            $wxGeneric{$fields[0]} = $fields[2];
+        } elsif ( $fields[1] eq "M" ) {
+            $wxMSW{$fields[0]} = $fields[2];
+        } else {
+            warn "Unknown file type $fields[1] for $fields[0], ignoring.\n";
+            next line;
+        }
+    }
+
+    close(FILELIST);
+#$}
+#! vim:sw=4:ts=4:list:et
diff --git a/distrib/msw/tmake/filelist.txt b/distrib/msw/tmake/filelist.txt
new file mode 100644 (file)
index 0000000..c6a45ae
--- /dev/null
@@ -0,0 +1,228 @@
+###############################################################################
+# File:    src/msw/filelist.cpp
+# Purpose: The list of source files for MSW version of wxWindows.
+# Author:  Vadim Zeitlin
+# Created: 14.07.99
+# Version: $Id$
+#
+# Format of this file: TAB separated columns. The first column contains the
+# filename, the second 'G', 'C' or 'M' for generic/common/msw files. Flags
+# column may be empty or contain some additional info about this file (only
+# compile it in 16bit mode, don't compile it with this or that compiler, &c)
+#
+# Known flags:
+#  16  a generic file implementing Win32 control for Win16
+#  32  only can be compiled under Win32
+#  PS  PostScript related file, normally not compiled under Windows
+#  G   generic code which might be used instead of native one
+#  U   Unix-ish file, normally not compiled under Windows
+#  O   OLE file (needs Win32 and a decent compiler)
+#  S   Socket file (currently doesn't compile under Win16 nor with GNU)
+###############################################################################
+
+# File name    Type    Flags
+
+busyinfo.cpp   G
+choicdgg.cpp   G
+colrdlgg.cpp   G       G
+dirdlgg.cpp    G       16
+extdlgg.cpp    G
+fontdlgg.cpp   G       G
+gridg.cpp      G
+helpxlp.cpp    G       G
+imaglist.cpp   G       16
+laywin.cpp     G
+listctrl.cpp   G       16
+msgdlgg.cpp    G       G
+notebook.cpp   G       16
+panelg.cpp     G
+printps.cpp    G       PS
+prntdlgg.cpp   G       PS,U
+progdlgg.cpp   G
+prop.cpp       G
+propform.cpp   G
+proplist.cpp   G
+sashwin.cpp    G
+scrolwin.cpp   G
+splitter.cpp   G
+statusbr.cpp   G
+tabg.cpp       G
+textdlgg.cpp   G
+tipdlg.cpp     G
+treectrl.cpp   G       16
+
+cmndata.cpp    C
+config.cpp     C
+date.cpp       C
+datstrm.cpp    C
+db.cpp C
+dbtable.cpp    C
+dcbase.cpp     C
+dlgcmn.cpp     C
+docmdi.cpp     C
+docview.cpp    C
+dynarray.cpp   C
+dynlib.cpp     C
+event.cpp      C
+extended.c     C
+ffile.cpp      C
+file.cpp       C
+fileconf.cpp   C
+filefn.cpp     C
+filesys.cpp    C
+framecmn.cpp   C
+fs_inet.cpp    C
+fs_zip.cpp     C
+ftp.cpp        C       S
+gdicmn.cpp     C
+hash.cpp       C
+helpbase.cpp   C
+http.cpp       C       S
+imagbmp.cpp    C
+image.cpp      C
+imaggif.cpp    C
+imagjpeg.cpp   C
+imagpng.cpp    C
+intl.cpp       C
+ipcbase.cpp    C
+layout.cpp     C
+list.cpp       C
+log.cpp        C
+memory.cpp     C
+mimetype.cpp   C       32
+module.cpp     C
+mstream.cpp    C
+object.cpp     C
+objstrm.cpp    C
+odbc.cpp       C
+paper.cpp      C
+prntbase.cpp   C
+process.cpp    C       32
+protocol.cpp   C       S
+resource.cpp   C
+sckaddr.cpp    C       S
+sckfile.cpp    C       S
+sckint.cpp     C       S
+sckipc.cpp     C       S
+sckstrm.cpp    C       S
+socket.cpp     C       S
+stream.cpp     C
+string.cpp     C
+tbarbase.cpp   C
+tbarsmpl.cpp   C       16
+textcmn.cpp    C
+textfile.cpp   C
+time.cpp       C
+timercmn.cpp   C
+tokenzr.cpp    C
+txtstrm.cpp    C
+unzip.c        C
+url.cpp        C       S
+utilscmn.cpp   C
+valgen.cpp     C
+validate.cpp   C
+valtext.cpp    C
+variant.cpp    C
+wfstream.cpp   C
+wincmn.cpp     C
+wxchar.cpp     C
+wxexpr.cpp     C
+zipstream.cpp  C
+zstream.cpp    C
+
+accel.cpp      M
+app.cpp        M
+automtn.cpp    M       O
+bitmap.cpp     M
+bmpbuttn.cpp   M
+brush.cpp      M
+button.cpp     M
+caret.cpp      M
+checkbox.cpp   M
+checklst.cpp   M
+choice.cpp     M
+clipbrd.cpp    M
+colordlg.cpp   M
+colour.cpp     M
+combobox.cpp   M
+control.cpp    M
+curico.cpp     M
+cursor.cpp     M
+data.cpp       M
+dataobj.cpp    M       O
+dc.cpp M
+dcclient.cpp   M
+dcmemory.cpp   M
+dcprint.cpp    M
+dcscreen.cpp   M
+dde.cpp        M
+dialog.cpp     M
+dib.cpp        M
+dibutils.cpp   M
+dirdlg.cpp     M       32
+dragimag.cpp   M
+dropsrc.cpp    M       O
+droptgt.cpp    M       O
+filedlg.cpp    M
+font.cpp       M
+fontdlg.cpp    M
+frame.cpp      M
+gauge95.cpp    M       32
+gaugemsw.cpp   M       16
+gdiobj.cpp     M
+helpwin.cpp    M
+icon.cpp       M
+imaglist.cpp   M       32
+iniconf.cpp    M
+joystick.cpp   M
+listbox.cpp    M
+listctrl.cpp   M       32
+main.cpp       M
+mdi.cpp        M
+menu.cpp       M
+menuitem.cpp   M
+metafile.cpp   M
+minifram.cpp   M
+msgdlg.cpp     M
+nativdlg.cpp   M
+notebook.cpp   M
+oleutils.cpp   M       O
+ownerdrw.cpp   M
+palette.cpp    M
+pen.cpp        M
+penwin.cpp     M
+pnghand.cpp    M
+printdlg.cpp   M
+printwin.cpp   M
+radiobox.cpp   M
+radiobut.cpp   M
+regconf.cpp    M       32
+region.cpp     M
+registry.cpp   M       32
+scrolbar.cpp   M
+settings.cpp   M
+slider95.cpp   M       32
+slidrmsw.cpp   M       16
+spinbutt.cpp   M
+statbmp.cpp    M
+statbox.cpp    M
+statbr95.cpp   M       32
+statline.cpp   M
+stattext.cpp   M
+tabctrl.cpp    M
+taskbar.cpp    M       32
+tbar95.cpp     M       32
+tbarmsw.cpp    M       16
+textctrl.cpp   M
+thread.cpp     M       32
+timer.cpp      M
+tooltip.cpp    M       32
+treectrl.cpp   M       32
+utils.cpp      M
+utilsexc.cpp   M
+uuid.cpp       M       O
+wave.cpp       M
+window.cpp     M
+xpmhand.cpp    M
+
+# vi: set noet ts=16:
diff --git a/distrib/msw/tmake/g95.t b/distrib/msw/tmake/g95.t
new file mode 100644 (file)
index 0000000..888e742
--- /dev/null
@@ -0,0 +1,187 @@
+#!#############################################################################
+#! File:    g95.t
+#! Purpose: tmake template file from which makefile.g95 is generated by running
+#!          tmake -t g95 wxwin.pro -o makefile.g95
+#! 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 %wxGeneric) {
+        #! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
+        #! so take the generic version
+        if ( $wxGeneric{$file} =~ /\b(PS|G|U)\b/ ) {
+            next unless $file =~ /^dirdlgg\./;
+        }
+
+        $file =~ s/cp?p?$/\$(OBJSUFF)/;
+        $project{"WXGENERICOBJS"} .= '$(GENDIR)\\' . $file . " "
+    }
+
+    foreach $file (sort keys %wxCommon) {
+        #! socket files don't compile under Win16 currently
+        next if $wxCommon{$file} =~ /\b(32|S)\b/;
+
+        #! needs extra files (sql*.h) so not compiled by default.
+        next if $file =~ /^odbc\./;
+
+        $file =~ s/cp?p?$/\$(OBJSUFF)/;
+        $project{"WXCOMMONOBJS"} .= '$(COMMDIR)\\' . $file . " "
+    }
+
+    foreach $file (sort keys %wxMSW) {
+        #! Mingw32 doesn't have the OLE headers and has some troubles with
+        #! socket code
+        next if $wxMSW{$file} =~ /\b(O|S|16)\b/;
+
+        $file =~ s/cp?p?$/\$(OBJSUFF)/;
+        $project{"WXMSWOBJS"} .= $file . " "
+    }
+#$}
+
+# This file was automatically generated by tmake at #$ Now()
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
+
+#
+# File:     makefile.unx
+# Author:   Julian Smart
+# Created:  1993
+# Updated:
+# Copyright:(c) 1993, AIAI, University of Edinburgh
+#
+# "@(#)makefile.unx 1.2 5/9/94"
+#
+# Makefile for libwx.a
+
+# Replace this with your own path if necessary
+WXDIR = ../..
+
+# All common UNIX compiler flags and options are now in
+# this central makefile.
+include $(WXDIR)/src/makeg95.env
+
+# IMPORTANT: if you want to link in subsidiary libraries,
+# required for some optional parts of wxWindows, you must
+# set EXTRATARGETS and EXTRAOBJS to match the settings in wx_setup.h.
+# Having done this, you won't have to worry about linking them
+# into each application.
+#
+# Here's the full list.
+#   prologio: Required if using the wxWindows resource facility
+#               USE_WX_RESOURCES should be 1
+#   xmgauge:  Gauge class (required for Motif only)
+#               USE_GAUGE should be 1
+#   xpm:      XPM pixmap support
+#               USE_XPM_IN_X should be 1
+#   wxstring: string class
+#               USE_GNU_WXSTRING should be 1
+#
+# Unfortunately, 'ar' doesn't like combining objects and libraries,
+# so we must identify all the objects from the subordinate libraries. Yuck!
+XPMSRC=../../contrib/wxxpm/objects$(GUISUFFIX)
+XPMOBJS=$(XPMSRC)/crbuffri.$(OBJSUFF) $(XPMSRC)/crbuffrp.$(OBJSUFF) $(XPMSRC)/crdatfri.$(OBJSUFF) $(XPMSRC)/crdatfrp.$(OBJSUFF)\
+  $(XPMSRC)/create.$(OBJSUFF) $(XPMSRC)/crifrbuf.$(OBJSUFF) $(XPMSRC)/crifrdat.$(OBJSUFF) $(XPMSRC)/crpfrbuf.$(OBJSUFF) $(XPMSRC)/crpfrdat.$(OBJSUFF)\
+  $(XPMSRC)/data.$(OBJSUFF) $(XPMSRC)/hashtab.$(OBJSUFF) $(XPMSRC)/misc.$(OBJSUFF) $(XPMSRC)/parse.$(OBJSUFF) $(XPMSRC)/rdftodat.$(OBJSUFF)\
+  $(XPMSRC)/rdftoi.$(OBJSUFF) $(XPMSRC)/rdftop.$(OBJSUFF) $(XPMSRC)/rgb.$(OBJSUFF) $(XPMSRC)/scan.$(OBJSUFF) $(XPMSRC)/simx.$(OBJSUFF)\
+  $(XPMSRC)/wrffrdat.$(OBJSUFF) $(XPMSRC)/wrffri.$(OBJSUFF) $(XPMSRC)/wrffrp.$(OBJSUFF)
+
+# Subordinate library possibilities
+
+EXTRAOBJS=
+
+GENDIR=../generic
+COMMDIR=../common
+XPMDIR=../xpm
+OLEDIR=ole
+MSWDIR=.
+
+DOCDIR = $(WXDIR)\docs
+
+GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
+
+COMMONOBJS = \
+               $(COMMDIR)/y_tab.$(OBJSUFF) \
+               #$ ExpandList("WXCOMMONOBJS");
+
+MSWOBJS = #$ ExpandList("WXMSWOBJS");
+
+XPMOBJECTS =   $(XPMDIR)/crbuffri.o\
+               $(XPMDIR)/crdatfri.o\
+               $(XPMDIR)/create.o $(XPMDIR)/crifrbuf.o\
+               $(XPMDIR)/crifrdat.o\
+               $(XPMDIR)/data.o\
+               $(XPMDIR)/hashtab.o $(XPMDIR)/misc.o\
+               $(XPMDIR)/parse.o $(XPMDIR)/rdftodat.o\
+               $(XPMDIR)/rdftoi.o\
+               $(XPMDIR)/rgb.o $(XPMDIR)/scan.o\
+               $(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\
+               $(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
+
+OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) # $(XPMOBJECTS)
+
+all:    $(OBJECTS) $(WXLIB)
+
+base:
+       cd $(WXDIR)/src/common; $(MAKE) -f makefile.g95 GUI=$(GUI) GUISUFFIX=$(GUISUFFIX) CC=$(CC)\
+ OPTIONS='$(OPTIONS)' DEBUG='$(DEBUG)' DEBUGFLAGS='$(DEBUGFLAGS)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)'
+
+
+$(WXLIB): $(OBJECTS) $(EXTRAOBJS)
+       ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS)
+       $(RANLIB) $@
+
+$(OBJECTS):    $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h
+
+$(COMMDIR)/y_tab.$(OBJSUFF):    $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c
+       $(CCLEX) -c $(CPPFLAGS) -o $@ $(COMMDIR)/y_tab.c
+
+# Replace lex with flex if you run into compilation
+# problems with lex_yy.c. See also note about LEX_SCANNER
+# above.
+$(COMMDIR)/lex_yy.c:   $(COMMDIR)/lexer.l
+       $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
+
+# Try one of these if the above line doesn't work.
+# Alternative syntax (1)
+#      $(LEX) -t -L $(COMMDIR)/lexer.l > $(COMMDIR)/lex_yy.c
+# Alternative syntax (2)
+#      $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
+
+#      sed -e "s/BUFSIZ/5000/g" < lex.yy.c | \
+#      sed -e "s/yyoutput(c)/void yyoutput(c)/g" | \
+#       sed -e "s/YYLMAX 200/YYLMAX 5000/g" > lex_yy.c
+#      rm -f lex.yy.c
+
+# Replace yacc with bison if you run into compilation
+# problems with y_tab.c.
+
+$(COMMDIR)/y_tab.c:    $(COMMDIR)/parser.y
+       $(YACC) -o $(COMMDIR)/y_tab.c $(COMMDIR)/parser.y
+
+# If you use e.g. gcc on Unix, uncomment these lines
+# and comment out the above.
+
+# $(COMMDIR)/y_tab.c:  $(COMMDIR)/parser.y
+#      $(YACC) $(COMMDIR)/parser.y
+#      mv y.tab.c $(COMMDIR)/y_tab.c
+
+# Extra targets
+rcparser:
+       cd $(WXDIR)/utils/rcparser/src; $(MAKE)  -f makefile.g95
+       cd $(WXDIR)/src/msw
+
+clean_rcp:
+       cd $(WXDIR)/utils/rcparser/src; $(MAKE) -f makefile.g95 clean
+       cd $(WXDIR)/src/msw
+
+clean:
+       rm -f $(OBJECTS) $(EXTRAOBJS) ../common/y_tab.c ../common/lex_yy.c $(WXDIR)/lib/libwx$(GUISUFFIX).a core
+
+cleanall: clean
+
diff --git a/distrib/msw/tmake/makeall.bat b/distrib/msw/tmake/makeall.bat
new file mode 100755 (executable)
index 0000000..6c82dab
--- /dev/null
@@ -0,0 +1,53 @@
+@echo off
+rem File:      makeall.bat
+rem Purpose:   create wxWindows makefiles for all compilers
+rem Author:    Vadim Zeitlin
+rem Created:   14.07.99
+rem Copyright: (c) 1999 Vadim Zeitlin
+rem Version:   $Id$
+rem
+rem Makefile to create the makefiles for all compilers from the templates using
+rem tmake. The environment variable WX or WXWIN should be defined and contain
+rem the root directory of wxWindows installation. TMAKE program should be in
+rem path or, alternatively, TMAKE environment variable should be set.
+
+if "x%WX%" == "x" goto skip
+set WXDIR=%WX%
+goto ok
+
+:skip
+if "x%WXWIN%" == "x" goto no_wx
+set WXDIR=%WXWIN%
+goto ok
+
+:no_wx
+echo "Please set WX environment variable!"
+goto end
+
+:ok
+set TM=tmake
+if "x%TMAKE%" == "x" goto skip2
+set TM=%TMAKE%
+
+:skip2
+
+rem this loop just doesn't want to work under command.com and cmd.exe and
+rem 4nt.exe, so I preferred to unroll it.
+rem for %%c in (b32 bcc dos g95 sc vc wat) %TM% -t %c% wxwin.pro -o %WXDIR%\src\msw\makefile.%c%
+
+echo Generating for Visual C++ 4.0...
+%TM% -t vc wxwin.pro -o makefile.vc
+echo Generating for Borland C++ (32 bits)...
+%TM% -t b32 wxwin.pro -o makefile.b32
+echo Generating for Visual C++ 1.52...
+%TM% -t dos wxwin.pro -o makefile.dos
+echo Generating for Borland C++ (16 bits)...
+%TM% -t bcc wxwin.pro -o makefile.bcc
+echo Generating for Cygwin/Mingw32
+%TM% -t g95 wxwin.pro -o makefile.g95
+echo Generating for Symantec C++...
+%TM% -t sc wxwin.pro -o makefile.sc
+echo Generating for Watcom C++...
+%TM% -t wat wxwin.pro -o makefile.wat
+
+:end
diff --git a/distrib/msw/tmake/sc.t b/distrib/msw/tmake/sc.t
new file mode 100644 (file)
index 0000000..f79733c
--- /dev/null
@@ -0,0 +1,114 @@
+#!#############################################################################
+#! File:    sc.t
+#! Purpose: tmake template file from which makefile.sc is generated by running
+#!          tmake -t sc wxwin.pro -o makefile.sc
+#! 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 %wxGeneric) {
+        my $tag = "";
+        if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
+            $tag = "WXNONESSENTIALOBJS";
+        }
+        else {
+            $tag = "WXGENERICOBJS";
+        }
+
+        $file =~ s/cp?p?$/obj/;
+        $project{$tag} .= '$(GENDIR)\\' . $file . " "
+    }
+
+    foreach $file (sort keys %wxCommon) {
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXCOMMONOBJS"} .= '$(COMMDIR)\\' . $file . " "
+    }
+
+    foreach $file (sort keys %wxMSW) {
+        #! these files don't compile with SC++ 6
+        next if $file =~ /^(joystick|pnghand)\./;
+
+        next if $wxGeneric{$file} =~ /\b16\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXMSWOBJS"} .= '$(MSWDIR)\\' . $file . " "
+    }
+#$}
+
+# This file was automatically generated by tmake at #$ Now()
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T!
+
+# Symantec C++ makefile for the msw objects
+# called from src\makefile.sc
+
+# configuration section (see src\makefile.sc) ###########################
+
+WXDIR = $(WXWIN)
+
+include ..\makesc.env
+
+DEBUG=0
+
+LIBTARGET = $(LIBDIR)\wx.lib
+
+OPTIONS=
+
+# end of configuration section ##########################################
+
+GENDIR=$(WXDIR)\src\generic
+COMMDIR=$(WXDIR)\src\common
+XPMDIR=$(WXDIR)\src\xpm
+OLEDIR=ole
+MSWDIR=$(WXDIR)\src\msw
+
+GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
+
+COMMONOBJS = \
+               $(COMMDIR)\y_tab.obj \
+               #$ ExpandList("WXCOMMONOBJS");
+
+MSWOBJS = #$ ExpandList("WXMSWOBJS");
+
+XPMOBJECTS =   $(XPMDIR)\crbuffri.obj\
+               $(XPMDIR)\crdatfri.obj\
+               $(XPMDIR)\create.obj $(XPMDIR)\crifrbuf.obj\
+               $(XPMDIR)\crifrdat.obj\
+               $(XPMDIR)\data.obj\
+               $(XPMDIR)\hashtab.obj $(XPMDIR)\misc.obj\
+               $(XPMDIR)\parse.obj $(XPMDIR)\rdftodat.obj\
+               $(XPMDIR)\rdftoi.obj\
+               $(XPMDIR)\rgb.obj $(XPMDIR)\scan.obj\
+               $(XPMDIR)\simx.obj $(XPMDIR)\wrffrdat.obj\
+               $(XPMDIR)\wrffrp.obj $(XPMDIR)\wrffri.obj
+
+# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) # $(XPMOBJECTS)
+
+all: $(LIBTARGET)
+
+$(LIBTARGET): $(OBJECTS)
+       -del $(LIBTARGET)
+       *lib /PAGESIZE:512 $(LIBTARGET) y $(OBJECTS), nul;
+
+clean:
+       -del *.obj
+    -del $(LIBTARGET)
+
+$(COMMDIR)\y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
+
+$(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.c
+        copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
+
+$(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
+    copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
+
+# $(COMMDIR)\cmndata.obj:     $(COMMDIR)\cmndata.cpp
+#      *$(CC) -c $(CFLAGS) -I$(INCLUDE) $(OPTIONS) $(COMMDIR)\cmndata.cpp -o$(COMMDIR)\cmndata.obj
+
diff --git a/distrib/msw/tmake/vc.t b/distrib/msw/tmake/vc.t
new file mode 100644 (file)
index 0000000..619ab1f
--- /dev/null
@@ -0,0 +1,625 @@
+#!#############################################################################
+#! File:    vc.t
+#! Purpose: tmake template file from which makefile.vc is generated by running
+#!          tmake -t vc wxwin.pro -o makefile.vc
+#! 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 %wxGeneric) {
+        my $tag = "";
+        if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
+            $tag = "WXNONESSENTIALOBJS";
+        }
+        else {
+            $tag = "WXGENERICOBJS";
+        }
+
+        $file =~ s/cp?p?$/obj/;
+        $project{$tag} .= "..\\generic\\\$D\\" . $file . " "
+    }
+
+    foreach $file (sort keys %wxCommon) {
+        next if $wxCommon{$file} =~ /\b16\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXCOMMONOBJS"} .= "..\\common\\\$D\\" . $file . " "
+    }
+
+    foreach $file (sort keys %wxMSW) {
+        next if $wxMSW{$file} =~ /\b16\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXMSWOBJS"} .= "..\\msw\\\$D\\" . $file . " "
+    }
+#$}
+
+# This file was automatically generated by tmake at #$ Now()
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
+
+# File:     makefile.vc
+# Author:   Julian Smart
+# Created:  1997
+# Updated:
+# Copyright: (c) 1997, Julian Smart
+#
+# "%W% %G%"
+#
+# Makefile : Builds wxWindows library wx.lib for VC++ (32-bit)
+# Arguments:
+#
+# FINAL=1 argument to nmake to build version with no debugging info.
+# dll builds a library (wxdll.lib) suitable for creating DLLs
+#
+!include <..\makevc.env>
+
+THISDIR=$(WXWIN)\src\msw
+
+!if "$(WXMAKINGDLL)" == "1"
+LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
+DUMMYOBJ=$D\dummydll.obj
+!else
+LIBTARGET=$(WXLIB)
+DUMMYOBJ=$D\dummy.obj
+!endif
+
+# Please set these according to the settings in setup.h, so we can include
+# the appropriate libraries in wx.lib
+
+# This one overrides the others, to be consistent with the settings in setup.h
+MINIMAL_WXWINDOWS_SETUP=0
+
+PERIPH_LIBS=
+PERIPH_TARGET=
+PERIPH_CLEAN_TARGET=
+
+# These are absolute paths, so that the compiler
+# generates correct __FILE__ symbols for debugging.
+# Otherwise you don't be able to double-click on a memory
+# error to load that file.
+GENDIR=$(WXDIR)\src\generic
+COMMDIR=$(WXDIR)\src\common
+OLEDIR=ole
+MSWDIR=$(WXDIR)\src\msw
+DOCDIR = $(WXDIR)\docs
+HTMLDIR = $(WXDIR)\src\html
+
+{..\generic}.cpp{..\generic\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+{..\common}.cpp{..\common\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+{..\msw}.cpp{..\msw\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+{..\msw\ole}.cpp{..\msw\ole\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+{..\html}.cpp{..\html\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
+
+# 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= #$ ExpandList("WXNONESSENTIALOBJS");
+
+COMMONOBJS = \
+               ..\common\$D\y_tab.obj \
+               #$ ExpandList("WXCOMMONOBJS");
+
+MSWOBJS = #$ ExpandList("WXMSWOBJS");
+
+HTMLOBJS = \
+  ..\html\$D\htmlcell.obj \
+  ..\html\$D\htmlfilter.obj \
+  ..\html\$D\htmlhelp.obj \
+  ..\html\$D\htmlhelp_io.obj \
+  ..\html\$D\htmlparser.obj \
+  ..\html\$D\htmltag.obj \
+  ..\html\$D\htmlwin.obj \
+  ..\html\$D\htmlwinparser.obj \
+  ..\html\$D\mod_fonts.obj \
+  ..\html\$D\mod_hline.obj \
+  ..\html\$D\mod_image.obj \
+  ..\html\$D\mod_layout.obj \
+  ..\html\$D\mod_links.obj \
+  ..\html\$D\mod_list.obj \
+  ..\html\$D\mod_pre.obj \
+  ..\html\$D\mod_tables.obj \
+  ..\html\$D\search.obj
+
+# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
+# Add $(HTMLOBJS) if wanting wxHTML classes
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) 
+
+# Normal, static library
+all:    dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg $(LIBTARGET)
+
+dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
+
+
+test:   $(MSWDIR)\$D\wave.obj
+test2:  ..\common\Debug\config.obj
+
+$D:
+    mkdir $D
+
+$(COMMDIR)\$D:
+    mkdir $(COMMDIR)\$D
+
+$(MSWDIR)\$D:
+    mkdir $(MSWDIR)\$D
+
+$(GENDIR)\$D:
+    mkdir $(GENDIR)\$D
+
+$(OLEDIR)\$D:
+    mkdir $(OLEDIR)\$D
+
+$(HTMLDIR)\$D:
+    mkdir $(HTMLDIR)\$D
+
+# wxWindows library as DLL
+dll:
+        nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
+
+cleandll:
+        nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
+
+# wxWindows + app as DLL. Only affects main.cpp.
+dllapp:
+        nmake -f makefile.vc all FINAL=$(FINAL) DLL=1
+
+# wxWindows + app as DLL, for Netscape plugin - remove DllMain.
+dllnp:
+        nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1
+
+# Use this to make dummy.obj and generate a PCH.
+# You might use the dll target, then the pch target, in order to
+# generate a DLL, then a PCH/dummy.obj for compiling your applications with.
+#
+# Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
+# are associated with wx.lib. When using a DLL version of wxWindows, however,
+# the DLL is compiled without a PCH, so you only need it for compiling the app.
+# In fact headers are compiled differently depending on whether a DLL is being made
+# or an app is calling the DLL exported functionality (WXDLLEXPORT is different
+# in each case) so you couldn't use the same PCH.
+pch:
+        nmake -f makefile.vc pch1 WXUSINGDLL=1 FINAL=$(FINAL) NEW_WXLIBNAME=$(NEW_WXLIBNAME)
+
+pch1:   dirs $(DUMMYOBJ)
+    echo $(DUMMYOBJ)
+
+!if "$(WXMAKINGDLL)" != "1"
+
+### Static library
+
+$(WXDIR)\lib\$(WXLIBNAME).lib:      $D\dummy.obj $(OBJECTS) $(PERIPH_LIBS)
+       -erase $(LIBTARGET)
+       $(implib) @<<
+-out:$@
+-machine:$(CPU)
+$(OBJECTS) $(PERIPH_LIBS)
+<<
+
+!else
+
+### Update the import library
+
+$(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
+    $(implib) @<<
+    -machine:$(CPU)
+    -def:wx.def
+    $(DUMMYOBJ) $(OBJECTS)
+    -out:$(WXDIR)\lib\$(WXLIBNAME).lib
+<<
+
+# Update the dynamic link library
+$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS) $(WXDIR)\lib\$(WXLIBNAME).lib
+    $(link) @<<
+    $(LINKFLAGS)
+    -out:$(WXDIR)\lib\$(WXLIBNAME).dll
+    $(DUMMYOBJ) $(OBJECTS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\xpm.lib $(WXDIR)\lib\jpeg.lib
+<<
+
+!endif
+
+
+########################################################
+# Windows-specific objects
+
+$D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
+        cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummy.obj /c /Tp dummy.cpp
+
+$D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
+        cl @<<
+$(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
+<<
+
+# If taking wxWindows from CVS, setup.h doesn't exist yet.
+# Actually the 'if not exist setup.h' test doesn't work
+# (copies the file anyway)
+# we'll have to comment this rule out.
+
+# $(WXDIR)\include\wx\msw\setup.h: $(WXDIR)\include\wx\msw\setup0.h
+#    cd "$(WXDIR)"\include\wx\msw
+#    if not exist setup.h copy setup0.h setup.h
+#    cd "$(WXDIR)"\src\msw
+
+..\common\$D\y_tab.obj:     ..\common\y_tab.c ..\common\lex_yy.c
+        cl @<<
+$(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
+<<
+
+..\common\y_tab.c:     ..\common\dosyacc.c
+        copy "..\common"\dosyacc.c "..\common"\y_tab.c
+
+..\common\lex_yy.c:    ..\common\doslex.c
+    copy "..\common"\doslex.c "..\common"\lex_yy.c
+
+$(OBJECTS):    $(WXDIR)/include/wx/setup.h
+
+..\common\$D\unzip.obj:     ..\common\unzip.c
+        cl @<<
+$(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
+<<
+
+# Peripheral components
+
+png:
+    cd $(WXDIR)\src\png
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
+    cd $(WXDIR)\src\msw
+
+clean_png:
+    cd $(WXDIR)\src\png
+    nmake -f makefile.vc clean
+    cd $(WXDIR)\src\msw
+
+zlib:
+    cd $(WXDIR)\src\zlib
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
+    cd $(WXDIR)\src\msw
+
+clean_zlib:
+    cd $(WXDIR)\src\zlib
+    nmake -f makefile.vc clean
+    cd $(WXDIR)\src\msw
+
+jpeg:
+    cd $(WXDIR)\src\jpeg
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) all
+    cd $(WXDIR)\src\msw
+
+clean_jpeg:
+    cd $(WXDIR)\src\jpeg
+    nmake -f makefile.vc clean
+    cd $(WXDIR)\src\msw
+
+xpm:
+    cd $(WXDIR)\src\xpm
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
+    cd $(WXDIR)\src\msw
+
+clean_xpm:
+    cd $(WXDIR)\src\xpm
+    nmake -f makefile.vc clean
+    cd $(WXDIR)\src\msw
+
+rcparser:
+    cd $(WXDIR)\utils\rcparser\src
+    nmake -f makefile.vc FINAL=$(FINAL)
+    cd $(WXDIR)\src\msw
+
+clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_jpeg clean_xpm
+        -erase $(LIBTARGET)
+        -erase $(WXDIR)\lib\$(WXLIBNAME).pdb
+        -erase ..\..\lib\wx200.dll
+        -erase ..\..\lib\wx200.lib
+        -erase ..\..\lib\wx200.exp
+        -erase ..\..\lib\wx200.pdb
+        -erase ..\..\lib\wx200.ilk
+        -erase *.pdb
+        -erase *.sbr
+        -erase $(WXLIBNAME).pch
+        -erase $(GENDIR)\$D\*.obj
+        -erase $(GENDIR)\$D\*.pdb
+        -erase $(GENDIR)\$D\*.sbr
+        -erase $(COMMDIR)\$D\*.obj
+        -erase $(COMMDIR)\$D\*.pdb
+        -erase $(COMMDIR)\$D\*.sbr
+        -erase $(COMMDIR)\\y_tab.c
+        -erase $(COMMDIR)\lex_yy.c
+        -erase $(MSWDIR)\$D\*.obj
+        -erase $(MSWDIR)\$D\*.sbr
+        -erase $(MSWDIR)\$D\*.pdb
+        -erase $(OLEDIR)\$D\*.obj
+        -erase $(OLEDIR)\$D\*.sbr
+        -erase $(OLEDIR)\$D\*.pdb
+        -rmdir $(D)
+        -rmdir ole\$(D)
+        -rmdir ..\generic\$(D)
+        -rmdir ..\common\$(D)
+
+cleanall: clean
+
+# Making documents
+docs:   allhlp allhtml allpdfrtf
+alldocs: docs
+hlp:    wxhlp portinghlp
+wxhlp:  $(DOCDIR)/winhelp/wx.hlp
+prophlp: $(DOCDIR)/winhelp/prop.hlp
+refhlp: $(DOCDIR)/winhelp/techref.hlp
+rtf:    $(DOCDIR)/winhelp/wx.rtf
+proprtf: $(DOCDIR)/winhelp/prop.rtf
+pdfrtf:    $(DOCDIR)/pdf/wx.rtf
+proppdfrtf: $(DOCDIR)/pdf/prop.rtf
+refpdfrtf: $(DOCDIR)/pdf/techref.rtf
+html:  wxhtml portinghtml
+wxhtml:        $(DOCDIR)\html\wx\wx.htm
+htmlhelp: $(DOCDIR)\html\wx\wx.chm
+prophtml: $(DOCDIR)\html\proplist\prop.htm
+ps:     wxps referencps
+wxps:  $(WXDIR)\docs\ps\wx.ps
+propps:        $(WXDIR)\docs\ps\prop.ps
+referencps:    $(WXDIR)\docs\ps\referenc.ps
+
+portinghtml: $(DOCDIR)\html\porting\port.htm
+portingrtf: $(DOCDIR)/winhelp/porting.rtf
+portinghlp: $(DOCDIR)/winhelp/porting.hlp
+portingpdfrtf: $(DOCDIR)/pdf/porting.rtf
+portingps:     $(WXDIR)\docs\ps\porting.ps
+
+allhlp: wxhlp portinghlp prophlp
+        cd $(WXDIR)\utils\dialoged\src
+        nmake -f makefile.vc hlp
+        cd $(THISDIR)
+
+#        cd $(WXDIR)\utils\wxhelp\src
+#        nmake -f makefile.vc hlp
+#        cd $(WXDIR)\utils\tex2rtf\src
+#        nmake -f makefile.vc hlp
+#        cd $(WXDIR)\utils\wxgraph\src
+#        nmake -f makefile.vc hlp
+#        cd $(WXDIR)\utils\wxchart\src
+#        nmake -f makefile.vc hlp
+#        cd $(WXDIR)\utils\wxtree\src
+#        nmake -f makefile.vc hlp
+#        cd $(WXDIR)\utils\wxbuild\src
+#        nmake -f makefile.vc hlp
+#        cd $(WXDIR)\utils\wxgrid\src
+#        nmake -f makefile.vc hlp
+
+allhtml: wxhtml portinghtml prophtml
+        cd $(WXDIR)\utils\dialoged\src
+        nmake -f makefile.vc html
+        cd $(THISDIR)
+
+#        nmake -f makefile.vc html
+#        cd $(WXDIR)\utils\dialoged\src
+#        nmake -f makefile.vc html
+#        cd $(WXDIR)\utils\hytext\src
+#        nmake -f makefile.vc html
+#        cd $(WXDIR)\utils\wxhelp\src
+#        nmake -f makefile.vc html
+#        cd $(WXDIR)\utils\tex2rtf\src
+#        nmake -f makefile.vc html
+#        cd $(WXDIR)\utils\wxgraph\src
+#        nmake -f makefile.vc html
+#        cd $(WXDIR)\utils\wxchart\src
+#        nmake -f makefile.vc html
+#        cd $(WXDIR)\utils\wxtree\src
+#        nmake -f makefile.vc html
+
+allps: wxps referencps portingps propps
+        cd $(WXDIR)\utils\dialoged\src
+        nmake -f makefile.vc ps
+        cd $(THISDIR)
+
+allpdfrtf: pdfrtf portingpdfrtf proppdfrtf
+        cd $(WXDIR)\utils\dialoged\src
+        nmake -f makefile.vc pdfrtf
+        cd $(THISDIR)
+
+#        cd $(WXDIR)\utils\wxhelp\src
+#        nmake -f makefile.vc ps
+#        cd $(WXDIR)\utils\tex2rtf\src
+#        nmake -f makefile.vc ps
+#        cd $(WXDIR)\utils\wxgraph\src
+#        nmake -f makefile.vc ps
+#        cd $(WXDIR)\utils\wxchart\src
+#        nmake -f makefile.vc ps
+#        cd $(WXDIR)\utils\wxtree\src
+#        nmake -f makefile.vc ps
+#        cd $(THISDIR)
+
+$(DOCDIR)/winhelp/wx.hlp:         $(DOCDIR)/latex/wx/wx.rtf $(DOCDIR)/latex/wx/wx.hpj
+        cd $(DOCDIR)/latex/wx
+        -erase wx.ph
+        hc wx
+        move wx.hlp $(DOCDIR)\winhelp\wx.hlp
+        move wx.cnt $(DOCDIR)\winhelp\wx.cnt
+        cd $(THISDIR)
+
+$(DOCDIR)/winhelp/porting.hlp:         $(DOCDIR)/latex/porting/porting.rtf $(DOCDIR)/latex/porting/porting.hpj
+        cd $(DOCDIR)/latex/porting
+        -erase porting.ph
+        hc porting
+        move porting.hlp $(DOCDIR)\winhelp\porting.hlp
+        move porting.cnt $(DOCDIR)\winhelp\porting.cnt
+        cd $(THISDIR)
+
+$(DOCDIR)/winhelp/prop.hlp:         $(DOCDIR)/latex/proplist/prop.rtf $(DOCDIR)/latex/proplist/prop.hpj
+        cd $(DOCDIR)/latex/proplist
+        -erase prop.ph
+        hc prop
+        move prop.hlp $(DOCDIR)\winhelp\prop.hlp
+        move prop.cnt $(DOCDIR)\winhelp\prop.cnt
+        cd $(THISDIR)
+
+$(DOCDIR)/winhelp/techref.hlp:         $(DOCDIR)/latex/techref/techref.rtf $(DOCDIR)/latex/techref/techref.hpj
+        cd $(DOCDIR)/latex/techref
+        -erase techref.ph
+        hc techref
+        move techref.hlp $(DOCDIR)\winhelp\techref.hlp
+        move techref.cnt $(DOCDIR)\winhelp\techref.cnt
+        cd $(THISDIR)
+
+$(DOCDIR)/latex/wx/wx.rtf:         $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
+        cd $(DOCDIR)\latex\wx
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/latex/wx/wx.rtf -twice -winhelp
+        cd $(THISDIR)
+
+$(DOCDIR)/latex/porting/porting.rtf:         $(DOCDIR)/latex/porting/porting.tex
+        cd $(DOCDIR)\latex\porting
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/latex/porting/porting.rtf -twice -winhelp
+        cd $(THISDIR)
+
+$(DOCDIR)/latex/proplist/prop.rtf:         $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
+        cd $(DOCDIR)\latex\proplist
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/prop.rtf -twice -winhelp
+        cd $(THISDIR)
+
+$(DOCDIR)/latex/techref/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
+        cd $(DOCDIR)\latex\techref
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/latex/techref/techref.rtf -twice -winhelp
+        cd $(THISDIR)
+
+$(DOCDIR)/pdf/wx.rtf:         $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
+        cd $(DOCDIR)\latex\wx
+        -copy *.bmp *.wmf $(DOCDIR)\pdf
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/pdf/wx.rtf -twice -rtf
+        cd $(THISDIR)
+
+$(DOCDIR)/pdf/porting.rtf:         $(DOCDIR)/latex/porting/porting.tex
+        cd $(DOCDIR)\latex\porting
+        -copy *.bmp *.wmf $(DOCDIR)\pdf
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/pdf/porting.rtf -twice -rtf
+        cd $(THISDIR)
+
+$(DOCDIR)/pdf/prop.rtf:         $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
+        cd $(DOCDIR)\latex\proplist
+        -copy *.bmp *.wmf $(DOCDIR)\pdf
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/pdf/prop.rtf -twice -rtf
+        cd $(THISDIR)
+
+$(DOCDIR)/pdf/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
+        cd $(DOCDIR)\latex\techref
+        -copy *.bmp *.wmf $(DOCDIR)\pdf
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/pdf/techref.rtf -twice -rtf
+        cd $(THISDIR)
+
+$(DOCDIR)\html\wx\wx.htm:         $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex\wx\body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)\latex\wx\manual.tex
+        cd $(DOCDIR)\latex\wx
+        -mkdir $(DOCDIR)\html\wx
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\wx\manual.tex $(DOCDIR)\html\wx\wx.htm -twice -html
+        -erase $(DOCDIR)\html\wx\*.con
+        -erase $(DOCDIR)\html\wx\*.ref
+        -erase $(DOCDIR)\latex\wx\*.con
+        -erase $(DOCDIR)\latex\wx\*.ref
+         cd $(THISDIR)
+
+$(DOCDIR)\html\wx\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\html\wx\wx.hhp
+       cd $(DOCDIR)\html\wx
+       -hhc wx.hhp
+       cd $(THISDIR)
+
+
+$(DOCDIR)\html\porting\port.htm:         $(DOCDIR)\latex\porting\porting.tex
+        cd $(DOCDIR)\latex\porting
+        -mkdir $(DOCDIR)\html\porting
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\porting\porting.tex $(DOCDIR)\html\porting\port.htm -twice -html
+        -erase $(DOCDIR)\html\porting\*.con
+        -erase $(DOCDIR)\html\porting\*.ref
+        -erase $(DOCDIR)\latex\porting\*.con
+        -erase $(DOCDIR)\latex\porting\*.ref
+        cd $(THISDIR)
+
+$(DOCDIR)\html\proplist\prop.htm:         $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\latex\proplist\body.tex $(DOCDIR)\latex\proplist\classes.tex $(DOCDIR)\latex\proplist\changes.tex
+        cd $(DOCDIR)\latex\proplist
+        -mkdir $(DOCDIR)\html\proplist
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\html\proplist\prop.htm -twice -html
+        -erase $(DOCDIR)\html\proplist\*.con
+        -erase $(DOCDIR)\html\proplist\*.ref
+        -erase $(DOCDIR)\latex\proplist\*.con
+        -erase $(DOCDIR)\latex\proplist\*.ref
+        cd $(THISDIR)
+
+$(WXDIR)\docs\latex\wx\manual.dvi:     $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
+       cd $(WXDIR)\docs\latex\wx
+        -latex manual
+        -latex manual
+        -makeindx manual
+        -bibtex manual
+        -latex manual
+        -latex manual
+        cd $(THISDIR)
+
+$(WXDIR)\docs\latex\porting\porting.dvi:       $(DOCDIR)/latex/porting/porting.tex
+       cd $(WXDIR)\docs\latex\porting
+        -latex porting
+        -latex porting
+        -makeindx porting
+        -bibtex porting
+        -latex porting
+        -latex porting
+        cd $(THISDIR)
+
+$(WXDIR)\docs\ps\wx.ps:        $(WXDIR)\docs\latex\wx\manual.dvi
+       cd $(WXDIR)\docs\latex\wx
+        -dvips32 -o wx.ps manual
+        move wx.ps $(WXDIR)\docs\ps\wx.ps
+        cd $(THISDIR)
+
+$(WXDIR)\docs\ps\porting.ps:   $(WXDIR)\docs\latex\porting\porting.dvi
+       cd $(WXDIR)\docs\latex\porting
+        -dvips32 -o porting.ps porting
+        move porting.ps $(WXDIR)\docs\ps\porting.ps
+        cd $(THISDIR)
+
+$(WXDIR)\docs\latex\wx\referenc.dvi:   $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/referenc.tex
+       cd $(WXDIR)\docs\latex\wx
+        -latex referenc
+        -latex referenc
+        -makeindx referenc
+        -bibtex referenc
+        -latex referenc
+        -latex referenc
+        cd $(THISDIR)
+
+$(WXDIR)\docs\ps\referenc.ps:  $(WXDIR)\docs\latex\wx\referenc.dvi
+       cd $(WXDIR)\docs\latex\wx
+        -dvips32 -o referenc.ps referenc
+        move referenc.ps $(WXDIR)\docs\ps\referenc.ps
+        cd $(THISDIR)
+
+# In order to force document reprocessing
+touchmanual:
+    -touch $(WXDIR)\docs\latex\wx\manual.tex
+
+updatedocs: touchmanual alldocs
+
+# Start Word, running the GeneratePDF macro. MakeManual.dot should be in the
+# Office StartUp folder, and PDFMaker should be installed.
+updatepdf:  # touchmanual pdfrtf
+    start $(WAITFLAG) "winword d:\wx2\wxWindows\docs\latex\pdf\wx.rtf /mGeneratePDF"
+
diff --git a/distrib/msw/tmake/vc6.t b/distrib/msw/tmake/vc6.t
new file mode 100644 (file)
index 0000000..46e966f
--- /dev/null
@@ -0,0 +1,146 @@
+#!#############################################################################
+#! File:    vc6.t
+#! Purpose: tmake template file from which wxWindows.dsp is generated by running
+#!          tmake -t vc6 wxwin.pro -o wxWindows.dsp
+#! 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 %wxGeneric) {
+        next if $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/;
+        $project{"WXGENERICSRCS"} .= $file . " "
+    }
+
+    foreach $file (sort keys %wxCommon) {
+        next if $wxCommon{$file} =~ /\b16\b/;
+
+        my $tag = $file =~ /\.c$/ ? "WXCSRCS" : "WXCOMMONSRCS";
+        $project{$tag} .= $file . " "
+    }
+
+    foreach $file (sort keys %wxMSW) {
+        next if $wxMSW{$file} =~ /\b16\b/;
+
+        my $tag = $wxMSW{$file} =~ /\bO\b/ ? "WXOLESRCS" : "WXMSWSRCS";
+        $project{$tag} .= $file . " "
+    }
+#$}
+# Microsoft Developer Studio Project File - Name="wxWindows" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=wxWindows - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "wxWindows.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "wxWindows.mak" CFG="wxWindows - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "wxWindows - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "wxWindows - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "wxWindows - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /W3 /Zi /O2 /I "$(wx)\include" /I "$(wx)\src\zlib" /D "NDEBUG" /D WIN95=1 /D "__WIN95__" /D "WIN32" /D "_WIN32" /D WINVER=0x400 /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN32__" /Yu"wx/wxprec.h" /FD /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF  "$(CFG)" == "wxWindows - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /W4 /Zi /Od /I "$(wx)\include" /I "$(wx)\src\zlib" /D "_DEBUG" /D DEBUG=1 /D WXDEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "WIN32" /D "_WIN32" /D WINVER=0x400 /D "__WINDOWS__" /D "__WIN32__" /D "__WXMSW__" /Fr /Yu"wx/wxprec.h" /FD /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo /o"lib/wxWindows.bsc"
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ENDIF 
+
+# Begin Target
+
+# Name "wxWindows - Win32 Release"
+# Name "wxWindows - Win32 Debug"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\src\msw\dummy.cpp
+# ADD CPP /Yc"wx/wxprec.h"
+# End Source File
+#$ ExpandGlue("WXMSWSRCS", "# Begin Source File\n\nSOURCE=.\\src\\msw\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\msw\\", "\n# End Source File\n");
+#$ ExpandGlue("WXOLESRCS", "# Begin Source File\n\nSOURCE=.\\src\\msw\\ole\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\msw\\ole\\", "\n# End Source File\n");
+#$ ExpandGlue("WXGENERICSRCS", "# Begin Source File\n\nSOURCE=.\\src\\generic\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\generic\\", "\n# End Source File\n");
+#$ ExpandGlue("WXCOMMONSRCS", "# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# End Source File\n");
+#$ ExpandGlue("WXCSRCS", "# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n");
+
+# Begin Source File
+
+SOURCE=.\src\common\y_tab.c
+
+!IF  "$(CFG)" == "wxWindows - Win32 Release"
+
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF  "$(CFG)" == "wxWindows - Win32 Debug"
+
+# ADD CPP /W1
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ENDIF 
+
+# End Source File
+# End Target
+# End Project
diff --git a/distrib/msw/tmake/wat.t b/distrib/msw/tmake/wat.t
new file mode 100644 (file)
index 0000000..4fb9b64
--- /dev/null
@@ -0,0 +1,321 @@
+#!#############################################################################
+#! 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 %wxGeneric) {
+        my $tag = "";
+        if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
+            $tag = "WXNONESSENTIALOBJS";
+        }
+        else {
+            $tag = "WXGENERICOBJS";
+        }
+
+        $file =~ s/cp?p?$/obj/;
+        $project{$tag} .= $file . " "
+    }
+
+    foreach $file (sort keys %wxCommon) {
+        #! doesn't compile, apparently
+        next if $file =~ /^imagjpeg\./;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXCOMMONOBJS"} .= $file . " "
+    }
+
+    foreach $file (sort keys %wxMSW) {
+        #! these files don't compile
+        next if $file =~ /^pnghand\./;
+
+        next if $wxGeneric{$file} =~ /\b16\b/;
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXMSWOBJS"} .= $file . " "
+    }
+#$}
+
+# This file was automatically generated by tmake at #$ Now()
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
+
+#! an attempt to embed '#' directly in the string somehow didn't work...
+#$ $text = chr(35) . '!/binb/wmake.exe';
+
+#
+# File:     makefile.wat
+# Author:   Julian Smart
+# Created:  1998
+#
+# Makefile : Builds wxWindows library for Watcom C++, WIN32
+
+WXDIR = ..\..
+
+!include $(WXDIR)\src\makewat.env
+
+WXLIB = $(WXDIR)\lib
+
+LIBTARGET   = $(WXLIB)\wx.lib
+DUMMY=dummydll
+# ODBCLIB     = ..\..\contrib\odbc\odbc32.lib
+
+EXTRATARGETS = xpm png zlib
+EXTRATARGETSCLEAN = clean_xpm clean_png clean_zlib
+GENDIR=$(WXDIR)\src\generic
+COMMDIR=$(WXDIR)\src\common
+XPMDIR=$(WXDIR)\src\xpm
+OLEDIR=ole
+MSWDIR=$(WXDIR)\src\msw
+
+DOCDIR = $(WXDIR)\docs
+
+GENERICOBJS= #$ ExpandGlue("WXGENERICOBJS", "", " &\n\t")
+
+# 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")
+
+COMMONOBJS = &
+       y_tab.obj &
+       #$ ExpandGlue("WXCOMMONOBJS", "", " &\n\t")
+
+MSWOBJS = #$ ExpandGlue("WXMSWOBJS", "", " &\n\t")
+
+# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
+
+all:        $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS)
+
+$(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
+       
+       
+clean:   .SYMBOLIC $(EXTRATARGETSCLEAN)
+    -erase *.obj
+    -erase $(LIBTARGET)
+    -erase *.pch
+    -erase *.err
+    -erase *.lbc
+
+cleanall:   clean
+
+#${
+    $_ = $project{"WXMSWOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_ . ':     $(';
+        s/\.obj$//;
+        if ( $wxMSW{$_} =~ /\bO\b/ ) {
+            $text .= 'OLEDIR)\\';
+        } else {
+            $text .= 'MSWDIR)\\';
+        }
+        $text .= $_ . ".cpp\n" .
+                 '  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
+    }
+#$}
+
+########################################################
+# Common objects (always compiled)
+
+#${
+    $_ = $project{"WXCOMMONOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_;
+        s/\.obj$//;
+        $text .= ':     $(COMMDIR)\\';
+        $text .= $_ . ".cpp\n" .
+                 '  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\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
+
+$(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.c
+        copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
+
+$(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
+    copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
+
+########################################################
+# Generic objects (not always compiled, depending on
+# whether platforms have native implementations)
+
+#${
+    $_ = $project{"WXGENERICOBJS"};
+    my @objs = split;
+    foreach (@objs) {
+        $text .= $_;
+        s/\.obj$//;
+        $text .= ':     $(GENDIR)\\';
+        $text .= $_ . ".cpp\n" .
+                 '  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
+    }
+#$}
+
+crbuffri.obj: $(XPMDIR)\crbuffri.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+crbuffrp.obj: $(XPMDIR)\crbuffrp.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+crdatfri.obj: $(XPMDIR)\crdatfri.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+crdatfrp.obj: $(XPMDIR)\crdatfrp.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+create.obj: $(XPMDIR)\create.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+crifrbuf.obj: $(XPMDIR)\crifrbuf.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+crifrdat.obj: $(XPMDIR)\crifrdat.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+crpfrbuf.obj: $(XPMDIR)\crpfrbuf.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+crpfrdat.obj: $(XPMDIR)\crpfrdat.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+# TODO: what to do about this clash of filename????
+#data.obj: $(XPMDIR)\data.c
+#  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+hashtab.obj: $(XPMDIR)\hashtab.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+misc.obj: $(XPMDIR)\misc.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+parse.obj: $(XPMDIR)\parse.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+rdftodat.obj: $(XPMDIR)\rdftodat.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+rdftoi.obj: $(XPMDIR)\rdftoi.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+rdftop.obj: $(XPMDIR)\rdftop.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+rgb.obj: $(XPMDIR)\rgb.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+scan.obj: $(XPMDIR)\scan.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+simx.obj: $(XPMDIR)\simx.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+wrffrdat.obj: $(XPMDIR)\wrffrdat.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+wrffri.obj: $(XPMDIR)\wrffri.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+wrffrp.obj: $(XPMDIR)\wrffrp.c
+  *$(CC) $(CPPFLAGS) $(IFLAGS) $<
+
+OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
+  trees$(O) 
+OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
+  infutil$(O) inffast$(O) 
+
+adler32.obj: adler32.c zutil.h zlib.h zconf.h
+       $(CC) -c $(CFLAGS) $*.c
+
+compress.obj: compress.c zlib.h zconf.h
+       $(CC) -c $(CFLAGS) $*.c
+
+crc32.obj: crc32.c zutil.h zlib.h zconf.h
+       $(CC) -c $(CFLAGS) $*.c
+
+deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
+       $(CC) -c $(CFLAGS) $*.c
+
+gzio.obj: gzio.c zutil.h zlib.h zconf.h
+       $(CC) -c $(CFLAGS) $*.c
+
+infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
+   infcodes.h infutil.h
+       $(CC) -c $(CFLAGS) $*.c
+
+infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
+   infcodes.h inffast.h
+       $(CC) -c $(CFLAGS) $*.c
+
+inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
+       $(CC) -c $(CFLAGS) $*.c
+
+inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
+       $(CC) -c $(CFLAGS) $*.c
+
+infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
+       $(CC) -c $(CFLAGS) $*.c
+
+inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
+       $(CC) -c $(CFLAGS) $*.c
+
+trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
+       $(CC) -c $(CFLAGS) $*.c
+
+uncompr.obj: uncompr.c zlib.h zconf.h
+       $(CC) -c $(CFLAGS) $*.c
+
+zutil.obj: zutil.c zutil.h zlib.h zconf.h
+       $(CC) -c $(CFLAGS) $*.c
+
+xpm:   .SYMBOLIC
+    cd $(WXDIR)\src\xpm
+    wmake -f makefile.wat all
+    cd $(WXDIR)\src\msw
+
+clean_xpm:   .SYMBOLIC
+    cd $(WXDIR)\src\xpm
+    wmake -f makefile.wat clean
+    cd $(WXDIR)\src\msw
+
+png:   .SYMBOLIC
+    cd $(WXDIR)\src\png
+    wmake -f makefile.wat all
+    cd $(WXDIR)\src\msw
+
+clean_png:   .SYMBOLIC
+    cd $(WXDIR)\src\png
+    wmake -f makefile.wat clean
+    cd $(WXDIR)\src\msw
+
+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
+