1 #!#############################################################################
3 #! Purpose: tmake template file from which makefile.dos is generated by running
4 #! tmake -t dos wxwin.pro -o makefile.dos
5 #! Author: Vadim Zeitlin
8 #!#############################################################################
10 #! include the code which parses filelist.txt file and initializes
11 #! %wxCommon, %wxGeneric and %wxMSW hashes.
12 IncludeTemplate("filelist.t");
14 #! now transform these hashes into $project tags
15 foreach $file (sort keys %wxGeneric) {
16 if ( $wxGeneric{$file} =~ /\b(PS|G|U)\b/ ) {
17 #! Need this file too since it has wxGenericPageSetupDialog
18 next unless $file =~ /^prntdlgg\./;
21 $file =~ s/cp?p?$/obj/;
22 $project{"WXGENERICOBJS"} .= "\$(GENDIR)\\" . $file . " "
25 #! because we later search for " <filename> " in this string
26 $project{"WXCOBJS"} = " ";
28 foreach $file (sort keys %wxCommon) {
29 #! socket files don't compile under Win16 currently
30 next if $wxCommon{$file} =~ /\b(32|S)\b/;
32 $isCFile = $file =~ /\.c$/;
33 $file =~ s/cp?p?$/obj/;
34 $obj = "\$(COMMDIR)\\" . $file . " ";
35 #! $project{"WXCOMMONOBJS"} .= $obj;
36 #! have to split lib in 2 halves because otherwise it's too big
37 $project{$file =~ "^[a-o]" ? "WXCOMMONOBJS1" : "WXCOMMONOBJS2"} .= $obj;
38 $project{"WXCOBJS"} .= $obj if $isCFile;
41 foreach $file (sort keys %wxMSW) {
42 #! don't take files not appropriate for 16-bit Windows
43 next if $wxMSW{$file} =~ /\b(32|O)\b/;
45 $isCFile = $file =~ /\.c$/;
46 $file =~ s/cp?p?$/obj/;
47 $obj = "\$(MSWDIR)\\" . $file . " ";
48 #! have to split lib in 2 halves because otherwise it's too big
49 $project{$file =~ "^[a-o]" ? "WXMSWOBJS1" : "WXMSWOBJS2"} .= $obj;
50 $project{"WXCOBJS"} .= $obj if $isCFile;
53 # This file was automatically generated by tmake at #$ Now()
54 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
58 # Author: Julian Smart
61 # Copyright:(c) 1997, Julian Smart
65 # Makefile : Builds wxWindows library wx.lib for VC++ (16-bit)
68 # FINAL=1 argument to nmake to build version with no debugging info.
70 !include <..\makemsc.env>
75 # Please set these according to the settings in wx_setup.h, so we can include
76 # the appropriate libraries in wx.lib
78 # This one overrides the others, to be consistent with the settings in wx_setup.h
79 MINIMAL_WXWINDOWS_SETUP=0
84 !if "$(MINIMAL_WXWINDOWS_SETUP)" == "1"
93 # !if "$(USE_CTL3D)" == "1"
94 # PERIPH_LIBS=d:\msdev\lib\ctl3d32.lib $(PERIPH_LIBS)
97 !if "$(USE_XPM_IN_MSW)" == "1"
98 PERIPH_LIBS=$(WXDIR)\lib\xpm.lib $(PERIPH_LIBS)
99 PERIPH_TARGET=xpm $(PERIPH_TARGET)
100 PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
104 PERIPH_TARGET=png zlib $(PERIPH_TARGET)
105 PERIPH_CLEAN_TARGET=clean_png clean_zlib $(PERIPH_CLEAN_TARGET)
112 GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
114 # we can't have all objects in one list because the library becomes too big
116 $(COMMDIR)\y_tab.obj \
117 #$ ExpandList("WXCOMMONOBJS1");
120 #$ ExpandList("WXCOMMONOBJS2");
122 # we can't have all objects in one list because the library becomes too big
123 MSWOBJS1 = #$ ExpandList("WXMSWOBJS1");
125 MSWOBJS2 = #$ ExpandList("WXMSWOBJS2");
127 # TODO: Implement XPM and PNG targets in this makefile!
128 # $(OLEDIR)\xpmhand \
129 # $(OLEDIR)\pnghand \
131 OBJECTS = $(COMMONOBJS1) $(COMMONOBJS2) $(GENERICOBJS) $(MSWOBJS1) $(MSWOBJS2)
133 # Normal, static library
134 all: $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib $(WXDIR)\lib\wx4.lib $(WXDIR)\lib\wx5.lib
136 $(WXDIR)\lib\wx1.lib: $(COMMONOBJS1) $(PERIPH_LIBS)
137 -erase $(WXDIR)\lib\wx1.lib
138 lib /PAGESIZE:128 @<<
141 $(COMMONOBJS1) $(PERIPH_LIBS)
146 $(WXDIR)\lib\wx2.lib: $(COMMONOBJS2)
147 -erase $(WXDIR)\lib\wx2.lib
148 lib /PAGESIZE:128 @<<
156 $(WXDIR)\lib\wx3.lib: $(GENERICOBJS)
157 -erase $(WXDIR)\lib\wx3.lib
158 lib /PAGESIZE:128 @<<
166 $(WXDIR)\lib\wx4.lib: $(MSWOBJS1)
167 -erase $(WXDIR)\lib\wx4.lib
168 lib /PAGESIZE:128 @<<
176 $(WXDIR)\lib\wx5.lib: $(MSWOBJS2)
177 -erase $(WXDIR)\lib\wx5.lib
178 lib /PAGESIZE:128 @<<
186 ########################################################
187 # Windows-specific objects
189 dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
191 cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
194 #dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
195 # cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
197 dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
199 $(CPPFLAGS) /YcWX/WXPREC.H /c /Tp $*.$(SRCSUFF)
203 $_ = $project{"WXMSWOBJS1"} . $project{"WXMSWOBJS2"} . $project{"WXCOMMONOBJS1"} . $project{"WXCOMMONOBJS2"} . $project{"WXGENERICOBJS"};
206 if ( $project{"WXCOBJS"} =~ / \Q$_\E / ) {
208 $text .= $_ . ': $*.c' . "\n" .
210 '$(CPPFLAGS2) /Fo$@ /c /Tc $*.c' . "\n" .
215 $text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
217 '$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
223 $(COMMDIR)/y_tab.obj: $*.c $(COMMDIR)/lex_yy.c
225 $(CPPFLAGS2) -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@ /I ..\common /c $*.c
228 $(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c
229 copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
231 $(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
232 copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
234 $(OBJECTS): $(WXDIR)/include/wx/setup.h
236 # Peripheral components
238 $(WXDIR)\lib\xpm.lib: xpm
242 nmake -f makefile.dos FINAL=$(FINAL)
247 nmake -f makefile.dos clean
252 nmake -f makefile.dos FINAL=$(FINAL)
257 nmake -f makefile.dos clean
262 nmake -f makefile.dos FINAL=$(FINAL)
267 nmake -f makefile.dos clean
270 clean: $(PERIPH_CLEAN_TARGET)
276 cd $(WXDIR)\src\generic
280 cd $(WXDIR)\src\common
284 cd $(WXDIR)\src\msw\ole
294 makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
295 cd $(WXWIN)\distrib\msw\tmake
296 tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
297 copy makefile.$(MFTYPE) $(WXWIN)\src\msw