]>
Commit | Line | Data |
---|---|---|
1 | #!############################################################################# | |
2 | #! File: wat.t | |
3 | #! Purpose: tmake template file from which makefile.wat is generated by running | |
4 | #! tmake -t wat wxwin.pro -o makefile.wat | |
5 | #! TODO: | |
6 | #! - extended.c, unzip.c must be compiled with $(CC), not $(CCC). | |
7 | #! - extended.c, unzip.c targets must be as per b32.t etc. | |
8 | #! - OLE files not generated correctly (need 'ole/' directory) | |
9 | #! Author: Vadim Zeitlin | |
10 | #! Created: 14.07.99 | |
11 | #! Version: $Id$ | |
12 | #!############################################################################# | |
13 | #${ | |
14 | #! include the code which parses filelist.txt file and initializes | |
15 | #! %wxCommon, %wxGeneric and %wxMSW hashes. | |
16 | IncludeTemplate("filelist.t"); | |
17 | ||
18 | #! now transform these hashes into $project tags | |
19 | foreach $file (sort keys %wxGeneric) { | |
20 | next if $wxGeneric{$file} =~ /\bNotMGL\b/; | |
21 | ||
22 | $file =~ s/cp?p?$/obj/; | |
23 | $project{"WXGENERICOBJS"} .= $file . " " | |
24 | } | |
25 | ||
26 | foreach $file (sort keys %wxHTML) { | |
27 | next if $wxHTML{$file} =~ /\b16\b/; | |
28 | ||
29 | $file =~ s/cp?p?$/obj/; | |
30 | $project{"WXHTMLOBJS"} .= $file . " " | |
31 | } | |
32 | ||
33 | foreach $file (sort keys %wxCommon) { | |
34 | next if $wxCommon{$file} =~ /\bNotMGL\b/; | |
35 | ||
36 | $isCFile = $file =~ /\.c$/; | |
37 | $file =~ s/cp?p?$/obj/; | |
38 | $project{"WXCOMMONOBJS"} .= $file . " "; | |
39 | $project{"WXCOBJS"} .= $file . " " if $isCFile; | |
40 | } | |
41 | ||
42 | foreach $file (sort keys %wxMGL) { | |
43 | #! these files don't compile | |
44 | ||
45 | $isBmpbase = $file =~ /bmpbase\.cpp$/; | |
46 | $file =~ s/cp?p?$/obj/; | |
47 | if ($isBmpbase) { | |
48 | $project{"WXCOMMONOBJS"} .= $file . " "; | |
49 | } else { | |
50 | $project{"WXMGLOBJS"} .= $file . " "; | |
51 | } | |
52 | } | |
53 | ||
54 | foreach $file (sort keys %wxUNIV) { | |
55 | ($fileobj = $file) =~ s/cp?p?$/\o/; | |
56 | my $tag = $wxUNIV{$file} =~ /Theme/ ? "WXUNIVTHEMEOBJS" : "WXUNIVOBJS"; | |
57 | ||
58 | $file =~ s/cp?p?$/obj/; | |
59 | $project{$tag} .= $file . " "; | |
60 | } | |
61 | #$} | |
62 | #! an attempt to embed '#' directly in the string somehow didn't work... | |
63 | #$ $text = chr(35) . '!/binb/wmake.exe'; | |
64 | ||
65 | # This file was automatically generated by tmake | |
66 | # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T! | |
67 | ||
68 | # | |
69 | # File: makefile.wat | |
70 | # Author: Julian Smart & Vaclav Slavik | |
71 | # Created: 1998 | |
72 | # | |
73 | # Makefile : Builds wxWindows library for Watcom C++, DOS+MGL | |
74 | # | |
75 | # NOTE: This file is generated from wat.t by tmake, but not all bugs have | |
76 | # been removed from this process. If wxWindows doesn't compile, | |
77 | # check the following and edit this makefile accordingly: | |
78 | # | |
79 | # - extended.c, gsocket.c, unzip.c must be compiled using $(CC), not $(CCC). | |
80 | # They may also be wrongly specified as extended.cpp, etc. | |
81 | ||
82 | WXDIR = ..\.. | |
83 | ||
84 | !include makewat.env | |
85 | ||
86 | WXLIB = $(WXDIR)\lib | |
87 | ||
88 | LIBTARGET = $(WXLIB)\wx.lib | |
89 | DUMMY=dummydll | |
90 | # ODBCLIB = ..\..\contrib\odbc\odbc32.lib | |
91 | ||
92 | EXTRATARGETS = png zlib jpeg tiff regex | |
93 | EXTRATARGETSCLEAN = clean_png clean_zlib clean_jpeg clean_tiff clean_regex | |
94 | GENDIR=$(WXDIR)\src\generic | |
95 | COMMDIR=$(WXDIR)\src\common | |
96 | JPEGDIR=$(WXDIR)\src\jpeg | |
97 | TIFFDIR=$(WXDIR)\src\tiff | |
98 | MGLDIR=$(WXDIR)\src\mgl | |
99 | UNIVDIR=$(WXDIR)\src\univ | |
100 | UNIVTHEMEDIR=$(WXDIR)\src\univ\themes | |
101 | HTMLDIR=$(WXDIR)\src\html | |
102 | ||
103 | DOCDIR = $(WXDIR)\docs | |
104 | ||
105 | GENERICOBJS= #$ ExpandGlue("WXGENERICOBJS", "", " &\n\t") | |
106 | ||
107 | COMMONOBJS = & | |
108 | y_tab.obj & | |
109 | #$ ExpandGlue("WXCOMMONOBJS", "", " &\n\t") | |
110 | ||
111 | MGLOBJS = #$ ExpandGlue("WXMGLOBJS", "", " &\n\t") | |
112 | ||
113 | UNIVOBJS = #$ ExpandGlue("WXUNIVOBJS", "", " &\n\t") | |
114 | ||
115 | UNIVTHEMEOBJS = #$ ExpandGlue("WXUNIVTHEMEOBJS", "", " &\n\t") | |
116 | ||
117 | HTMLOBJS = #$ ExpandGlue("WXHTMLOBJS", "", " &\n\t") | |
118 | ||
119 | # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc. | |
120 | OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MGLOBJS) $(UNIVOBJS) $(UNIVTHEMEOBJS) $(HTMLOBJS) | |
121 | ||
122 | SETUP_H=$(ARCHINCDIR)\wx\setup.h | |
123 | ||
124 | all: $(SETUP_H) $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC | |
125 | ||
126 | $(ARCHINCDIR)\wx: | |
127 | mkdir $(ARCHINCDIR) | |
128 | mkdir $(ARCHINCDIR)\wx | |
129 | ||
130 | $(SETUP_H): $(WXDIR)\include\wx\mgl\setup.h $(ARCHINCDIR)\wx | |
131 | copy $(WXDIR)\include\wx\mgl\setup.h $@ | |
132 | ||
133 | $(LIBTARGET) : $(OBJECTS) | |
134 | %create tmp.lbc | |
135 | @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i | |
136 | wlib /b /c /n /p=512 $^@ @tmp.lbc | |
137 | ||
138 | clean: .SYMBOLIC $(EXTRATARGETSCLEAN) | |
139 | -erase *.obj | |
140 | -erase $(LIBTARGET) | |
141 | -erase *.pch | |
142 | -erase *.err | |
143 | -erase *.lbc | |
144 | ||
145 | cleanall: clean | |
146 | ||
147 | #${ | |
148 | $_ = $project{"WXMGLOBJS"}; | |
149 | my @objs = split; | |
150 | foreach (@objs) { | |
151 | $text .= $_ . ': $('; | |
152 | s/\.obj$//; | |
153 | $text .= 'MGLDIR)\\'; | |
154 | my $suffix, $cc; | |
155 | if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) { | |
156 | $suffix = "c"; | |
157 | $cc="CC"; | |
158 | } | |
159 | else { | |
160 | $suffix = "cpp"; | |
161 | $cc="CCC"; | |
162 | } | |
163 | $text .= $_ . ".$suffix\n" . | |
164 | " *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n"; | |
165 | } | |
166 | #$} | |
167 | ||
168 | ######################################################## | |
169 | # wxUNIVERSAL objects (always compiled) | |
170 | ||
171 | #${ | |
172 | $_ = $project{"WXUNIVOBJS"}; | |
173 | my @objs = split; | |
174 | foreach (@objs) { | |
175 | $text .= $_; | |
176 | s/\.obj$//; | |
177 | $text .= ': $(UNIVDIR)\\'; | |
178 | $text .= $_ . ".cpp\n" . | |
179 | ' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n"; | |
180 | } | |
181 | #$} | |
182 | ||
183 | #${ | |
184 | $_ = $project{"WXUNIVTHEMEOBJS"}; | |
185 | my @objs = split; | |
186 | foreach (@objs) { | |
187 | $text .= $_; | |
188 | s/\.obj$//; | |
189 | $text .= ': $(UNIVTHEMEDIR)\\'; | |
190 | $text .= $_ . ".cpp\n" . | |
191 | ' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n"; | |
192 | } | |
193 | #$} | |
194 | ||
195 | ######################################################## | |
196 | # Common objects (always compiled) | |
197 | ||
198 | #${ | |
199 | $_ = $project{"WXCOMMONOBJS"}; | |
200 | my @objs = split; | |
201 | foreach (@objs) { | |
202 | $text .= $_; | |
203 | s/\.obj$//; | |
204 | $text .= ': $(COMMDIR)\\'; | |
205 | my $suffix, $cc; | |
206 | if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) { | |
207 | $suffix = "c"; | |
208 | $cc="CC"; | |
209 | } | |
210 | else { | |
211 | $suffix = "cpp"; | |
212 | $cc="CCC"; | |
213 | } | |
214 | $text .= $_ . ".$suffix\n" . | |
215 | " *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n"; | |
216 | } | |
217 | #$} | |
218 | ||
219 | y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c | |
220 | *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c | |
221 | ||
222 | # *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c | |
223 | ||
224 | $(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c | |
225 | copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c | |
226 | ||
227 | $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c | |
228 | copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c | |
229 | ||
230 | ######################################################## | |
231 | # Generic objects (not always compiled, depending on | |
232 | # whether platforms have native implementations) | |
233 | ||
234 | #${ | |
235 | $_ = $project{"WXGENERICOBJS"}; | |
236 | my @objs = split; | |
237 | foreach (@objs) { | |
238 | $text .= $_; | |
239 | s/\.obj$//; | |
240 | $text .= ': $(GENDIR)\\'; | |
241 | $text .= $_ . ".cpp\n" . | |
242 | ' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n"; | |
243 | } | |
244 | #$} | |
245 | ||
246 | ||
247 | ######################################################## | |
248 | # HTML objects (always compiled) | |
249 | ||
250 | #${ | |
251 | $_ = $project{"WXHTMLOBJS"}; | |
252 | my @objs = split; | |
253 | foreach (@objs) { | |
254 | $text .= $_; | |
255 | s/\.obj$//; | |
256 | $text .= ': $(HTMLDIR)\\'; | |
257 | $text .= $_ . ".cpp\n" . | |
258 | ' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n"; | |
259 | } | |
260 | #$} | |
261 | ||
262 | ||
263 | png: .SYMBOLIC | |
264 | cd $(WXDIR)\src\png | |
265 | wmake -f makefile.wat all | |
266 | cd $(WXDIR)\src\mgl | |
267 | ||
268 | clean_png: .SYMBOLIC | |
269 | cd $(WXDIR)\src\png | |
270 | wmake -f makefile.wat clean | |
271 | cd $(WXDIR)\src\mgl | |
272 | ||
273 | zlib: .SYMBOLIC | |
274 | cd $(WXDIR)\src\zlib | |
275 | wmake -f makefile.wat all | |
276 | cd $(WXDIR)\src\mgl | |
277 | ||
278 | clean_zlib: .SYMBOLIC | |
279 | cd $(WXDIR)\src\zlib | |
280 | wmake -f makefile.wat clean | |
281 | cd $(WXDIR)\src\mgl | |
282 | ||
283 | jpeg: .SYMBOLIC | |
284 | cd $(WXDIR)\src\jpeg | |
285 | wmake -f makefile.wat all | |
286 | cd $(WXDIR)\src\mgl | |
287 | ||
288 | clean_jpeg: .SYMBOLIC | |
289 | cd $(WXDIR)\src\jpeg | |
290 | wmake -f makefile.wat clean | |
291 | cd $(WXDIR)\src\mgl | |
292 | ||
293 | tiff: .SYMBOLIC | |
294 | cd $(WXDIR)\src\tiff | |
295 | wmake -f makefile.wat all | |
296 | cd $(WXDIR)\src\mgl | |
297 | ||
298 | clean_tiff: .SYMBOLIC | |
299 | cd $(WXDIR)\src\tiff | |
300 | wmake -f makefile.wat clean | |
301 | cd $(WXDIR)\src\mgl | |
302 | ||
303 | regex: .SYMBOLIC | |
304 | cd $(WXDIR)\src\regex | |
305 | wmake -f makefile.wat all | |
306 | cd $(WXDIR)\src\mgl | |
307 | ||
308 | clean_regex: .SYMBOLIC | |
309 | cd $(WXDIR)\src\regex | |
310 | wmake -f makefile.wat clean | |
311 | cd $(WXDIR)\src\mgl | |
312 | ||
313 | MFTYPE=watmgl | |
314 | self : .SYMBOLIC $(WXDIR)\distrib\msw\tmake\filelist.txt $(WXDIR)\distrib\msw\tmake\$(MFTYPE).t | |
315 | cd $(WXDIR)\distrib\msw\tmake | |
316 | tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE) | |
317 | copy makefile.$(MFTYPE) $(WXDIR)\src\mgl |