]> git.saurik.com Git - wxWidgets.git/blobdiff - distrib/msw/tmake/wat.t
compilation fix
[wxWidgets.git] / distrib / msw / tmake / wat.t
index c441ec7a9380282e73ea1e3c8dfea7983d1b2c25..b500044781e1ab8936a9f5f1818cfe2d23a6f891 100644 (file)
@@ -3,14 +3,13 @@
 #! Purpose: tmake template file from which makefile.wat is generated by running
 #!          tmake -t wat wxwin.pro -o makefile.wat
 #!          TODO:
-#!            - unzip.c must be compiled with $(CC), not $(CCC).
+#!            - 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$
 #!#############################################################################
-
 #${
     #! include the code which parses filelist.txt file and initializes
     #! %wxCommon, %wxGeneric and %wxMSW hashes.
         #! doesn't compile, apparently
         next if $file =~ /^imagjpeg\./;
 
+        $isCFile = $file =~ /\.c$/;
         $file =~ s/cp?p?$/obj/;
-        $project{"WXCOMMONOBJS"} .= $file . " "
+        $project{"WXCOMMONOBJS"} .= $file . " ";
+        $project{"WXCOBJS"} .= $file . " " if $isCFile;
     }
 
     foreach $file (sort keys %wxMSW) {
 
         next if $wxGeneric{$file} =~ /\b16\b/;
 
+        my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
+        my $isCFile = $file =~ /\.c$/;
         $file =~ s/cp?p?$/obj/;
-        $project{"WXMSWOBJS"} .= $file . " "
+        $project{"WXMSWOBJS"} .= $file . " ";
+        $project{"WXCOBJS"} .= $file . " " if $isCFile;
+        $project{"WXOLEOBJS"} .= $file . " " if $isOleObj
     }
 #$}
+#! 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 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
+#
+# 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 = ..\..
 
@@ -77,8 +90,8 @@ 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
+OLEDIR=$(MSWDIR)\ole
 
 DOCDIR = $(WXDIR)\docs
 
@@ -125,13 +138,22 @@ cleanall:   clean
     foreach (@objs) {
         $text .= $_ . ':     $(';
         s/\.obj$//;
-        if ( $wxMSW{$_} =~ /\bO\b/ ) {
+        if ( $project{"WXOLEOBJS"} =~ /\b\Q$_\E\b/ ) {
             $text .= 'OLEDIR)\\';
         } else {
             $text .= 'MSWDIR)\\';
         }
-        $text .= $_ . ".cpp\n" .
-                 '  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
+        my $suffix, $cc;
+        if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
+            $suffix = "c";
+            $cc="CC";
+        }
+        else {
+            $suffix = "cpp";
+            $cc="CCC";
+        }
+        $text .= $_ . ".$suffix\n" .
+                 "  *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
     }
 #$}
 
@@ -145,8 +167,17 @@ cleanall:   clean
         $text .= $_;
         s/\.obj$//;
         $text .= ':     $(COMMDIR)\\';
-        $text .= $_ . ".cpp\n" .
-                 '  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
+        my $suffix, $cc;
+        if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
+            $suffix = "c";
+            $cc="CC";
+        }
+        else {
+            $suffix = "cpp";
+            $cc="CCC";
+        }
+        $text .= $_ . ".$suffix\n" .
+                 "  *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
     }
 #$}