]>
Commit | Line | Data |
---|---|---|
f2071dda VZ |
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 | #!############################################################################# | |
f2071dda VZ |
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/ ) { | |
d87a9620 | 17 | #! this file for some reason wasn't compiled for VC++ 1.52 |
f2071dda VZ |
18 | next unless $file =~ /^prntdlgg\./; |
19 | } | |
20 | ||
21 | $file =~ s/cp?p?$/obj/; | |
22 | $project{"WXGENERICOBJS"} .= "\$(GENDIR)\\" . $file . " " | |
23 | } | |
24 | ||
87632557 VZ |
25 | #! because we later search for " <filename> " in this string |
26 | $project{"WXCOBJS"} = " "; | |
27 | ||
f2071dda VZ |
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 | ||
d87a9620 | 32 | $isCFile = $file =~ /\.c$/; |
f2071dda | 33 | $file =~ s/cp?p?$/obj/; |
d87a9620 | 34 | $obj = "\$(COMMDIR)\\" . $file . " "; |
0e528b99 JS |
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; | |
d87a9620 | 38 | $project{"WXCOBJS"} .= $obj if $isCFile; |
f2071dda VZ |
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 | ||
87632557 | 45 | $isCFile = $file =~ /\.c$/; |
f2071dda | 46 | $file =~ s/cp?p?$/obj/; |
87632557 VZ |
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; | |
f2071dda VZ |
51 | } |
52 | #$} | |
f2071dda VZ |
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 | ||
72 | LIBTARGET=$(WXLIB) | |
73 | DUMMYOBJ=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 | |
79 | MINIMAL_WXWINDOWS_SETUP=0 | |
80 | ||
e06b9569 | 81 | USE_XPM_IN_MSW=1 |
f2071dda VZ |
82 | USE_CTL3D=1 |
83 | ||
84 | !if "$(MINIMAL_WXWINDOWS_SETUP)" == "1" | |
85 | USE_CTL3D=0 | |
86 | USE_XPM_IN_MSW=0 | |
87 | !endif | |
88 | ||
89 | PERIPH_LIBS= | |
90 | PERIPH_TARGET= | |
91 | PERIPH_CLEAN_TARGET= | |
92 | ||
93 | # !if "$(USE_CTL3D)" == "1" | |
94 | # PERIPH_LIBS=d:\msdev\lib\ctl3d32.lib $(PERIPH_LIBS) | |
95 | # !endif | |
96 | ||
97 | !if "$(USE_XPM_IN_MSW)" == "1" | |
e06b9569 | 98 | PERIPH_LIBS=$(WXDIR)\lib\xpm.lib $(PERIPH_LIBS) |
f2071dda VZ |
99 | PERIPH_TARGET=xpm $(PERIPH_TARGET) |
100 | PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET) | |
101 | !endif | |
102 | ||
103 | # PNG and Zlib | |
104 | PERIPH_TARGET=png zlib $(PERIPH_TARGET) | |
105 | PERIPH_CLEAN_TARGET=clean_png clean_zlib $(PERIPH_CLEAN_TARGET) | |
106 | ||
107 | GENDIR=..\generic | |
108 | COMMDIR=..\common | |
109 | OLEDIR=.\ole | |
110 | MSWDIR=. | |
111 | ||
112 | GENERICOBJS= #$ ExpandList("WXGENERICOBJS"); | |
113 | ||
0e528b99 JS |
114 | # we can't have all objects in one list because the library becomes too big |
115 | COMMONOBJS1 = \ | |
f2071dda | 116 | $(COMMDIR)\y_tab.obj \ |
0e528b99 JS |
117 | #$ ExpandList("WXCOMMONOBJS1"); |
118 | ||
119 | COMMONOBJS2 = \ | |
120 | #$ ExpandList("WXCOMMONOBJS2"); | |
f2071dda | 121 | |
87632557 VZ |
122 | # we can't have all objects in one list because the library becomes too big |
123 | MSWOBJS1 = #$ ExpandList("WXMSWOBJS1"); | |
124 | ||
125 | MSWOBJS2 = #$ ExpandList("WXMSWOBJS2"); | |
f2071dda VZ |
126 | |
127 | # TODO: Implement XPM and PNG targets in this makefile! | |
128 | # $(OLEDIR)\xpmhand \ | |
129 | # $(OLEDIR)\pnghand \ | |
130 | ||
0e528b99 | 131 | OBJECTS = $(COMMONOBJS1) $(COMMONOBJS2) $(GENERICOBJS) $(MSWOBJS1) $(MSWOBJS2) |
f2071dda VZ |
132 | |
133 | # Normal, static library | |
0e528b99 | 134 | all: $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib $(WXDIR)\lib\wx4.lib $(WXDIR)\lib\wx5.lib |
f2071dda | 135 | |
0e528b99 | 136 | $(WXDIR)\lib\wx1.lib: $(COMMONOBJS1) $(PERIPH_LIBS) |
f2071dda VZ |
137 | -erase $(WXDIR)\lib\wx1.lib |
138 | lib /PAGESIZE:128 @<< | |
139 | $(WXDIR)\lib\wx1.lib | |
140 | y | |
0e528b99 | 141 | $(COMMONOBJS1) $(PERIPH_LIBS) |
f2071dda VZ |
142 | nul |
143 | ; | |
144 | << | |
145 | ||
0e528b99 | 146 | $(WXDIR)\lib\wx2.lib: $(COMMONOBJS2) |
f2071dda VZ |
147 | -erase $(WXDIR)\lib\wx2.lib |
148 | lib /PAGESIZE:128 @<< | |
149 | $(WXDIR)\lib\wx2.lib | |
150 | y | |
0e528b99 | 151 | $(COMMONOBJS2) |
f2071dda VZ |
152 | nul |
153 | ; | |
154 | << | |
155 | ||
0e528b99 | 156 | $(WXDIR)\lib\wx3.lib: $(GENERICOBJS) |
f2071dda VZ |
157 | -erase $(WXDIR)\lib\wx3.lib |
158 | lib /PAGESIZE:128 @<< | |
159 | $(WXDIR)\lib\wx3.lib | |
160 | y | |
0e528b99 | 161 | $(GENERICOBJS) |
8fb3a512 JS |
162 | nul |
163 | ; | |
164 | << | |
165 | ||
0e528b99 | 166 | $(WXDIR)\lib\wx4.lib: $(MSWOBJS1) |
8fb3a512 JS |
167 | -erase $(WXDIR)\lib\wx4.lib |
168 | lib /PAGESIZE:128 @<< | |
169 | $(WXDIR)\lib\wx4.lib | |
170 | y | |
0e528b99 JS |
171 | $(MSWOBJS1) |
172 | nul | |
173 | ; | |
174 | << | |
175 | ||
176 | $(WXDIR)\lib\wx5.lib: $(MSWOBJS2) | |
177 | -erase $(WXDIR)\lib\wx5.lib | |
178 | lib /PAGESIZE:128 @<< | |
179 | $(WXDIR)\lib\wx5.lib | |
180 | y | |
8fb3a512 | 181 | $(MSWOBJS2) |
f2071dda VZ |
182 | nul |
183 | ; | |
184 | << | |
185 | ||
186 | ######################################################## | |
187 | # Windows-specific objects | |
188 | ||
189 | dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h | |
190 | cl @<< | |
191 | cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF) | |
192 | << | |
193 | ||
194 | #dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h | |
195 | # cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF) | |
196 | ||
197 | dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h | |
198 | cl @<< | |
199 | $(CPPFLAGS) /YcWX/WXPREC.H /c /Tp $*.$(SRCSUFF) | |
200 | << | |
201 | ||
202 | #${ | |
0e528b99 | 203 | $_ = $project{"WXMSWOBJS1"} . $project{"WXMSWOBJS2"} . $project{"WXCOMMONOBJS1"} . $project{"WXCOMMONOBJS2"} . $project{"WXGENERICOBJS"}; |
f2071dda VZ |
204 | my @objs = split; |
205 | foreach (@objs) { | |
87632557 VZ |
206 | if ( $project{"WXCOBJS"} =~ / \Q$_\E / ) { |
207 | s:\\:/:; | |
208 | $text .= $_ . ': $*.c' . "\n" . | |
209 | ' cl @<<' . "\n" . | |
210 | '$(CPPFLAGS2) /Fo$@ /c /Tc $*.c' . "\n" . | |
211 | "<<\n\n"; | |
212 | } | |
213 | else { | |
214 | s:\\:/:; | |
215 | $text .= $_ . ': $*.$(SRCSUFF)' . "\n" . | |
216 | ' cl @<<' . "\n" . | |
217 | '$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" . | |
218 | "<<\n\n"; | |
219 | } | |
f2071dda VZ |
220 | } |
221 | #$} | |
222 | ||
223 | $(COMMDIR)/y_tab.obj: $*.c $(COMMDIR)/lex_yy.c | |
224 | cl @<< | |
225 | $(CPPFLAGS2) -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@ /I ..\common /c $*.c | |
226 | << | |
227 | ||
228 | $(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c | |
229 | copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c | |
230 | ||
231 | $(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c | |
232 | copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c | |
233 | ||
234 | $(OBJECTS): $(WXDIR)/include/wx/setup.h | |
235 | ||
236 | # Peripheral components | |
237 | ||
e06b9569 JS |
238 | $(WXDIR)\lib\xpm.lib: xpm |
239 | ||
f2071dda VZ |
240 | xpm: |
241 | cd $(WXDIR)\src\xpm | |
242 | nmake -f makefile.dos FINAL=$(FINAL) | |
243 | cd $(WXDIR)\src\msw | |
244 | ||
245 | clean_xpm: | |
246 | cd $(WXDIR)\src\xpm | |
247 | nmake -f makefile.dos clean | |
248 | cd $(WXDIR)\src\msw | |
249 | ||
250 | zlib: | |
251 | cd $(WXDIR)\src\zlib | |
252 | nmake -f makefile.dos FINAL=$(FINAL) | |
253 | cd $(WXDIR)\src\msw | |
254 | ||
255 | clean_zlib: | |
256 | cd $(WXDIR)\src\zlib | |
257 | nmake -f makefile.dos clean | |
258 | cd $(WXDIR)\src\msw | |
259 | ||
260 | png: | |
261 | cd $(WXDIR)\src\png | |
262 | nmake -f makefile.dos FINAL=$(FINAL) | |
263 | cd $(WXDIR)\src\msw | |
264 | ||
265 | clean_png: | |
266 | cd $(WXDIR)\src\png | |
267 | nmake -f makefile.dos clean | |
268 | cd $(WXDIR)\src\msw | |
269 | ||
270 | clean: $(PERIPH_CLEAN_TARGET) | |
271 | -erase *.obj | |
272 | -erase ..\lib\*.lib | |
273 | -erase *.pdb | |
274 | -erase *.sbr | |
275 | -erase *.pch | |
276 | cd $(WXDIR)\src\generic | |
277 | -erase *.pdb | |
278 | -erase *.sbr | |
279 | -erase *.obj | |
280 | cd $(WXDIR)\src\common | |
281 | -erase *.pdb | |
282 | -erase *.sbr | |
283 | -erase *.obj | |
284 | cd $(WXDIR)\src\msw\ole | |
285 | -erase *.pdb | |
286 | -erase *.sbr | |
287 | -erase *.obj | |
288 | cd $(WXDIR)\src\msw | |
289 | ||
290 | cleanall: clean | |
291 | ||
292 | ||
9be9b974 RD |
293 | MFTYPE=dos |
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 |