#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
-
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
$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/;
$obj = "\$(COMMDIR)\\" . $file . " ";
- $project{"WXCOMMONOBJS"} .= $obj;
+ #! $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;
}
#! 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");
+
+# we can't have all objects in one list because the library becomes too big
+MSWOBJS1 = #$ ExpandList("WXMSWOBJS1");
-MSWOBJS = #$ ExpandList("WXMSWOBJS");
+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
+all: $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib $(WXDIR)\lib\wx4.lib $(WXDIR)\lib\wx5.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)
+$(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) {
- if ( $project{"WXCOBJS"} =~ /\Q$_/ ) {
- 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";
- }
+ 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";
+ }
}
#$}