]> git.saurik.com Git - wxWidgets.git/commitdiff
an experimental template for Win16/VC++ 1.52
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 16 Dec 1999 21:30:47 +0000 (21:30 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 16 Dec 1999 21:30:47 +0000 (21:30 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

distrib/msw/tmake/v15.t [new file with mode: 0644]

diff --git a/distrib/msw/tmake/v15.t b/distrib/msw/tmake/v15.t
new file mode 100644 (file)
index 0000000..e01a925
--- /dev/null
@@ -0,0 +1,144 @@
+#!#############################################################################
+#! File:    v15.t
+#! Purpose: tmake template file for wxWindows makefile for VC++ 1.52, generate
+#!          the makefile by executing the following command:
+#!                  tmake -t v15 wxwin.pro -o Makefile
+#! Author:  Vadim Zeitlin
+#! Created: 16.12.99
+#! Version: $Id$
+#!#############################################################################
+#${
+    #! include the code which parses filelist.txt file and initializes
+    #! %wxCommon, %wxGeneric and %wxMSW hashes.
+    IncludeTemplate("filelist.t");
+
+    #! because we later search for " <filename> " in this string, it should
+    #! start with space
+    $project{"WXCOBJS"} = " ";
+
+    #! 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 wasn't compiled for VC++ 1.52
+            next unless $file =~ /^prntdlgg\./;
+        }
+
+        $file =~ s/cp?p?$/obj/;
+        $project{"WXGENERICOBJS"} .= $file . " "
+    }
+
+    foreach $file (sort keys %wxCommon) {
+        #! socket files don't compile under Win16 currently
+        next if $wxCommon{$file} =~ /\b(32|S)\b/;
+
+        $isCFile = $file =~ /\.c$/;
+        $file =~ s/cp?p?$/obj/;
+        $obj = $file . " ";
+        #! have to split lib in 2 halves because otherwise it's too big
+        $project{$file =~ "^[a-o]" ? "WXCOMMONOBJS1" : "WXCOMMONOBJS2"} .= $obj;
+        $project{"WXCOBJS"} .= $obj if $isCFile;
+    }
+
+    foreach $file (sort keys %wxMSW) {
+        #! don't take files not appropriate for 16-bit Windows
+        next if $wxMSW{$file} =~ /\b(32|O)\b/;
+
+        $isCFile = $file =~ /\.c$/;
+        $file =~ s/cp?p?$/obj/;
+        $obj = $file . " ";
+        #! have to split lib in 2 halves because otherwise it's too big
+        $project{$file =~ "^[a-o]" ? "WXMSWOBJS1" : "WXMSWOBJS2"} .= $obj;
+        $project{"WXCOBJS"} .= $obj if $isCFile;
+    }
+#$}
+# This file was automatically generated by tmake at #$ Now()
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
+
+# this is needed because my usual 4NT doesn't work well when invoked from
+# makefile
+COMSPEC=$(SYSTEMROOT)\system32\cmd.exe
+
+DEBUG=1
+
+WXDIR=..
+TMAKE_DIR=$(WXDIR)\distrib\msw\tmake
+
+TMAKE=E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake
+
+.SUFFIXES :
+
+# set up the compiler options
+INCLUDE=/I. /I$(WXDIR)\include /I$(INCLUDE)
+DEFINES=-D__WXMSW__ -D__WINDOWS__
+
+# compile in large memory model
+CFLAGS=$(CFLAGS) /nologo /W4 /AL
+
+!ifdef DEBUG
+CFLAGS=$(CFLAGS) /Zi /Z7
+DEFINES=$(DEFINES) /D__WXDEBUG__
+!endif
+
+CFLAGS=$(CFLAGS) $(INCLUDE) $(DEFINES)
+CPPFLAGS=$(CFLAGS)
+
+PCH_CREATE=/Ycwx/wxprec.h /Fpwx.pch 
+PCH_USE=/Yuwx/wxprec.h /Fpwx.pch 
+
+# the targets
+WXLIB=wx.lib
+
+# we can't have all objects in one list because the library becomes too big
+COMMONOBJS1= #$ ExpandList("WXCOMMONOBJS1");
+COMMONOBJS2= #$ ExpandList("WXCOMMONOBJS2");
+GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
+MSWOBJS1= #$ ExpandList("WXMSWOBJS1");
+MSWOBJS2= #$ ExpandList("WXMSWOBJS2");
+
+OBJECTS=$(COMMONOBJS1) $(COMMONOBJS2) $(GENERICOBJS) $(MSWOBJS1) $(MSWOBJS2)
+
+# the rules
+all: Makefile $(WXLIB)
+
+$(WXLIB) : pch $(OBJECTS)
+
+clean:
+       -del *.obj *.pch
+
+pch: wx/msw/setup.h dummy.obj
+
+dummy.obj: $(WXDIR)/src/msw/dummy.cpp
+       $(CPP) $(CPPFLAGS) $(PCH_CREATE) /c /Tp $?
+
+#${
+    sub generate_rules_for_dir
+    {
+        my $dir = $_[0];
+        $_ = $_[1];
+        my @objs = split;
+
+        foreach (@objs) {
+            my $isC = $project{"WXCOBJS"} =~ / \Q$_\E /;
+            my $name = $_;
+            $name =~ s/.obj$//;
+            my $suffix = $isC ? "c" : "cpp";
+            my $cc = $isC ? '$(CC)' : '$(CPP)';
+            my $flags = $isC ? '$(CFLAGS)' : '$(CPPFLAGS) $(PCH_USE)';
+            $text .= "$name.obj: \$(WXDIR)/src/$dir/$name.$suffix\n" .
+                     "\t $cc $flags /c /Tp \$?\n"
+        }
+    }
+
+    &generate_rules_for_dir("msw", $project{"WXMSWOBJS1"} . $project{"WXMSWOBJS2"});
+    $text .= "\n";
+    &generate_rules_for_dir("common", $project{"WXCOMMONOBJS1"} . $project{"WXCOMMONOBJS2"});
+    $text .= "\n";
+    &generate_rules_for_dir("generic", $project{"WXGENERICOBJS"});
+#$}
+
+Makefile: $(TMAKE_DIR)\makefile.v15
+       copy $? Makefile
+
+$(TMAKE_DIR)\makefile.v15: $(TMAKE_DIR)\filelist.txt $(TMAKE_DIR)\v15.t
+       cd $(TMAKE_DIR)
+       $(TMAKE) -t v15 wxwin.pro -o makefile.v15