#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
-
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
#! 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
+ #! this file for some reason wasn't compiled for VC++ 1.52
next unless $file =~ /^prntdlgg\./;
}
$project{"WXGENERICOBJS"} .= "\$(GENDIR)\\" . $file . " "
}
+ #! because we later search for " <filename> " in this string
+ $project{"WXCOBJS"} = " ";
+
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/;
- $project{"WXCOMMONOBJS"} .= "\$(COMMDIR)\\" . $file . " "
+ $obj = "\$(COMMDIR)\\" . $file . " ";
+ #! $project{"WXCOMMONOBJS"} .= $obj;
+ #! 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/;
- $project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
+ $obj = "\$(MSWDIR)\\" . $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!
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
-COMMONOBJS = \
+# we can't have all objects in one list because the library becomes too big
+COMMONOBJS1 = \
$(COMMDIR)\y_tab.obj \
- #$ ExpandList("WXCOMMONOBJS");
+ #$ ExpandList("WXCOMMONOBJS1");
+
+COMMONOBJS2 = \
+ #$ ExpandList("WXCOMMONOBJS2");
-MSWOBJS = #$ ExpandList("WXMSWOBJS");
+# we can't have all objects in one list because the library becomes too big
+MSWOBJS1 = #$ ExpandList("WXMSWOBJS1");
+
+MSWOBJS2 = #$ ExpandList("WXMSWOBJS2");
# TODO: Implement XPM and PNG targets in this makefile!
# $(OLEDIR)\xpmhand \
# $(OLEDIR)\pnghand \
-OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
+OBJECTS = $(COMMONOBJS1) $(COMMONOBJS2) $(GENERICOBJS) $(MSWOBJS1) $(MSWOBJS2)
# 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
-# ;
-# <<
+all: $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib $(WXDIR)\lib\wx4.lib $(WXDIR)\lib\wx5.lib
-$(WXDIR)\lib\wx1.lib: $(COMMONOBJS) $(PERIPH_LIBS)
+$(WXDIR)\lib\wx1.lib: $(COMMONOBJS1) $(PERIPH_LIBS)
-erase $(WXDIR)\lib\wx1.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx1.lib
y
-$(COMMONOBJS) $(PERIPH_LIBS)
+$(COMMONOBJS1) $(PERIPH_LIBS)
nul
;
<<
-$(WXDIR)\lib\wx2.lib: $(GENERICOBJS)
+$(WXDIR)\lib\wx2.lib: $(COMMONOBJS2)
-erase $(WXDIR)\lib\wx2.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx2.lib
y
-$(GENERICOBJS)
+$(COMMONOBJS2)
nul
;
<<
-$(WXDIR)\lib\wx3.lib: $(MSWOBJS)
+$(WXDIR)\lib\wx3.lib: $(GENERICOBJS)
-erase $(WXDIR)\lib\wx3.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx3.lib
y
-$(MSWOBJS)
+$(GENERICOBJS)
+nul
+;
+<<
+
+$(WXDIR)\lib\wx4.lib: $(MSWOBJS1)
+ -erase $(WXDIR)\lib\wx4.lib
+ lib /PAGESIZE:128 @<<
+$(WXDIR)\lib\wx4.lib
+y
+$(MSWOBJS1)
+nul
+;
+<<
+
+$(WXDIR)\lib\wx5.lib: $(MSWOBJS2)
+ -erase $(WXDIR)\lib\wx5.lib
+ lib /PAGESIZE:128 @<<
+$(WXDIR)\lib\wx5.lib
+y
+$(MSWOBJS2)
nul
;
<<
<<
#${
- $_ = $project{"WXMSWOBJS"} . $project{"WXCOMMONOBJS"} . $project{"WXGENERICOBJS"};
+ $_ = $project{"WXMSWOBJS1"} . $project{"WXMSWOBJS2"} . $project{"WXCOMMONOBJS1"} . $project{"WXCOMMONOBJS2"} . $project{"WXGENERICOBJS"};
my @objs = split;
foreach (@objs) {
- s:\\:/:;
- $text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
+ if ( $project{"WXCOBJS"} =~ / \Q$_\E / ) {
+ s:\\:/:;
+ $text .= $_ . ': $*.c' . "\n" .
+ ' cl @<<' . "\n" .
+ '$(CPPFLAGS2) /Fo$@ /c /Tc $*.c' . "\n" .
+ "<<\n\n";
+ }
+ else {
+ s:\\:/:;
+ $text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
' cl @<<' . "\n" .
'$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
"<<\n\n";
+ }
}
#$}
cleanall: clean
+MFTYPE=dos
+makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
+ cd $(WXWIN)\distrib\msw\tmake
+ tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
+ copy makefile.$(MFTYPE) $(WXWIN)\src\msw