]> git.saurik.com Git - wxWidgets.git/blame_incremental - distrib/msw/tmake/dos.t
correction for Mac OS compilation
[wxWidgets.git] / distrib / msw / tmake / dos.t
... / ...
CommitLineData
1#!#############################################################################
2#! File: dos.t
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
6#! Created: 14.07.99
7#! Version: $Id$
8#!#############################################################################
9#${
10 #! include the code which parses filelist.txt file and initializes
11 #! %wxCommon, %wxGeneric and %wxMSW hashes.
12 IncludeTemplate("filelist.t");
13
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\./;
19 }
20
21 $file =~ s/cp?p?$/obj/;
22 $project{"WXGENERICOBJS"} .= "\$(GENDIR)\\" . $file . " "
23 }
24
25 #! because we later search for " <filename> " in this string
26 $project{"WXCOBJS"} = " ";
27
28 foreach $file (sort keys %wxCommon) {
29 #! socket files don't compile under Win16 currently
30 next if $wxCommon{$file} =~ /\b(32|S)\b/;
31
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;
39 }
40
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/;
44
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;
51 }
52#$}
53# This file was automatically generated by tmake at #$ Now()
54# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
55
56#
57# File: makefile.dos
58# Author: Julian Smart
59# Created: 1997
60# Updated:
61# Copyright:(c) 1997, Julian Smart
62#
63# "%W% %G%"
64#
65# Makefile : Builds wxWindows library wx.lib for VC++ (16-bit)
66# Arguments:
67#
68# FINAL=1 argument to nmake to build version with no debugging info.
69#
70!include <..\makemsc.env>
71
72LIBTARGET=$(WXLIB)
73DUMMYOBJ=dummy.obj
74
75# Please set these according to the settings in wx_setup.h, so we can include
76# the appropriate libraries in wx.lib
77
78# This one overrides the others, to be consistent with the settings in wx_setup.h
79MINIMAL_WXWINDOWS_SETUP=0
80
81USE_CTL3D=1
82
83!if "$(MINIMAL_WXWINDOWS_SETUP)" == "1"
84USE_CTL3D=0
85!endif
86
87PERIPH_LIBS=
88PERIPH_TARGET=
89PERIPH_CLEAN_TARGET=
90
91# !if "$(USE_CTL3D)" == "1"
92# PERIPH_LIBS=d:\msdev\lib\ctl3d32.lib $(PERIPH_LIBS)
93# !endif
94
95# PNG and Zlib
96PERIPH_TARGET=png zlib $(PERIPH_TARGET)
97PERIPH_CLEAN_TARGET=clean_png clean_zlib $(PERIPH_CLEAN_TARGET)
98
99GENDIR=..\generic
100COMMDIR=..\common
101OLEDIR=.\ole
102MSWDIR=.
103
104GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
105
106# we can't have all objects in one list because the library becomes too big
107COMMONOBJS1 = \
108 $(COMMDIR)\y_tab.obj \
109 #$ ExpandList("WXCOMMONOBJS1");
110
111COMMONOBJS2 = \
112 #$ ExpandList("WXCOMMONOBJS2");
113
114# we can't have all objects in one list because the library becomes too big
115MSWOBJS1 = #$ ExpandList("WXMSWOBJS1");
116
117MSWOBJS2 = #$ ExpandList("WXMSWOBJS2");
118
119OBJECTS = $(COMMONOBJS1) $(COMMONOBJS2) $(GENERICOBJS) $(MSWOBJS1) $(MSWOBJS2)
120
121# Normal, static library
122all: $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib $(WXDIR)\lib\wx4.lib $(WXDIR)\lib\wx5.lib
123
124$(WXDIR)\lib\wx1.lib: $(COMMONOBJS1) $(PERIPH_LIBS)
125 -erase $(WXDIR)\lib\wx1.lib
126 lib /PAGESIZE:128 @<<
127$(WXDIR)\lib\wx1.lib
128y
129$(COMMONOBJS1) $(PERIPH_LIBS)
130nul
131;
132<<
133
134$(WXDIR)\lib\wx2.lib: $(COMMONOBJS2)
135 -erase $(WXDIR)\lib\wx2.lib
136 lib /PAGESIZE:128 @<<
137$(WXDIR)\lib\wx2.lib
138y
139$(COMMONOBJS2)
140nul
141;
142<<
143
144$(WXDIR)\lib\wx3.lib: $(GENERICOBJS)
145 -erase $(WXDIR)\lib\wx3.lib
146 lib /PAGESIZE:128 @<<
147$(WXDIR)\lib\wx3.lib
148y
149$(GENERICOBJS)
150nul
151;
152<<
153
154$(WXDIR)\lib\wx4.lib: $(MSWOBJS1)
155 -erase $(WXDIR)\lib\wx4.lib
156 lib /PAGESIZE:128 @<<
157$(WXDIR)\lib\wx4.lib
158y
159$(MSWOBJS1)
160nul
161;
162<<
163
164$(WXDIR)\lib\wx5.lib: $(MSWOBJS2)
165 -erase $(WXDIR)\lib\wx5.lib
166 lib /PAGESIZE:128 @<<
167$(WXDIR)\lib\wx5.lib
168y
169$(MSWOBJS2)
170nul
171;
172<<
173
174########################################################
175# Windows-specific objects
176
177dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
178 cl @<<
179 cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
180<<
181
182#dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
183# cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
184
185dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
186 cl @<<
187$(CPPFLAGS) /YcWX/WXPREC.H /c /Tp $*.$(SRCSUFF)
188<<
189
190#${
191 $_ = $project{"WXMSWOBJS1"} . $project{"WXMSWOBJS2"} . $project{"WXCOMMONOBJS1"} . $project{"WXCOMMONOBJS2"} . $project{"WXGENERICOBJS"};
192 my @objs = split;
193 foreach (@objs) {
194 if ( $project{"WXCOBJS"} =~ / \Q$_\E / ) {
195 s:\\:/:;
196 $text .= $_ . ': $*.c' . "\n" .
197 ' cl @<<' . "\n" .
198 '$(CPPFLAGS2) /Fo$@ /c /Tc $*.c' . "\n" .
199 "<<\n\n";
200 }
201 else {
202 s:\\:/:;
203 $text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
204 ' cl @<<' . "\n" .
205 '$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
206 "<<\n\n";
207 }
208 }
209#$}
210
211$(COMMDIR)/y_tab.obj: $*.c $(COMMDIR)/lex_yy.c
212 cl @<<
213$(CPPFLAGS2) -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@ /I ..\common /c $*.c
214<<
215
216$(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c
217 copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
218
219$(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
220 copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
221
222$(OBJECTS): $(WXDIR)/include/wx/setup.h
223
224# Peripheral components
225
226zlib:
227 cd $(WXDIR)\src\zlib
228 nmake -f makefile.dos FINAL=$(FINAL)
229 cd $(WXDIR)\src\msw
230
231clean_zlib:
232 cd $(WXDIR)\src\zlib
233 nmake -f makefile.dos clean
234 cd $(WXDIR)\src\msw
235
236png:
237 cd $(WXDIR)\src\png
238 nmake -f makefile.dos FINAL=$(FINAL)
239 cd $(WXDIR)\src\msw
240
241clean_png:
242 cd $(WXDIR)\src\png
243 nmake -f makefile.dos clean
244 cd $(WXDIR)\src\msw
245
246clean: $(PERIPH_CLEAN_TARGET)
247 -erase *.obj
248 -erase ..\lib\*.lib
249 -erase *.pdb
250 -erase *.sbr
251 -erase *.pch
252 cd $(WXDIR)\src\generic
253 -erase *.pdb
254 -erase *.sbr
255 -erase *.obj
256 cd $(WXDIR)\src\common
257 -erase *.pdb
258 -erase *.sbr
259 -erase *.obj
260 cd $(WXDIR)\src\msw\ole
261 -erase *.pdb
262 -erase *.sbr
263 -erase *.obj
264 cd $(WXDIR)\src\msw
265
266cleanall: clean
267
268
269MFTYPE=dos
270makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
271 cd $(WXWIN)\distrib\msw\tmake
272 tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
273 copy makefile.$(MFTYPE) $(WXWIN)\src\msw