]> git.saurik.com Git - wxWidgets.git/blobdiff - distrib/msw/tmake/wat.t
Temporary ugly trick to make release for OpenWatcom possible.
[wxWidgets.git] / distrib / msw / tmake / wat.t
index e6d9f58f73df2a00f90e4e2f8150916052ee8886..66ac91e57befce6698109e1f598114efbaffa783 100644 (file)
@@ -2,13 +2,10 @@
 #! 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$
+#! Changelist: 2003-02-25 - Juergen Ulbts - update from wxWindows 2.5.x/HEAD branch
 #!#############################################################################
 #${
     #! include the code which parses filelist.txt file and initializes
@@ -49,7 +46,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
-
-WXLIB = $(WXDIR)\lib
+!include ..\makewat.env
 
-LIBTARGET   = $(WXLIB)\wx.lib
-DUMMY=dummydll
-# ODBCLIB     = ..\..\contrib\odbc\odbc32.lib
+LIBTARGET   = $(WXDIR)\lib\$(LIBNAME).lib
 
 EXTRATARGETS = png zlib jpeg tiff regex
 EXTRATARGETSCLEAN = clean_png clean_zlib clean_jpeg clean_tiff clean_regex
@@ -103,44 +84,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")
+       #$ 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
 
-$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h $(ARCHINCDIR)\wx
-    copy $(WXDIR)\include\wx\msw\setup.h $@
+$(OUTPUTDIR):
+       @if not exist $^@ mkdir $^@
 
-$(LIBTARGET) : $(OBJECTS)
-    %create tmp.lbc
-    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-    wlib /b /c /n /p=512 $^@ @tmp.lbc
+$(SETUP_H): $(ARCHINCDIR)\wx
+    if not exist $(WXDIR)\include\wx\msw\setup.h copy $(WXDIR)\include\wx\msw\setup0.h $(WXDIR)\include\wx\msw\setup.h
+       copy $(WXDIR)\include\wx\msw\setup.h $@
 
-#test : $(OBJECTS)
-#    %create tmp.lbc
-#    @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
-#    wlib /b /c /n /p=512 $^@ @tmp.lbc
+LBCFILE=wx$(TOOLKIT).lbc
+$(LIBTARGET) : $(OBJECTS)
+    %create $(LBCFILE)
+    @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
+    wlib /b /c /n $(LIBPAGESIZE) $^@ @$(LBCFILE)
 
 
 clean:   .SYMBOLIC $(EXTRATARGETSCLEAN)
@@ -156,7 +135,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 +146,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,33 +165,25 @@ 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
-
-$(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
@@ -220,11 +193,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 +209,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";
     }
 #$}