]> git.saurik.com Git - wxWidgets.git/blob - distrib/msw/tmake/wat.t
This is how wxPlotWindow would look like with the
[wxWidgets.git] / distrib / msw / tmake / wat.t
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 my $tag = "";
21 if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
22 $tag = "WXNONESSENTIALOBJS";
23 }
24 else {
25 $tag = "WXGENERICOBJS";
26 }
27
28 $file =~ s/cp?p?$/obj/;
29 $project{$tag} .= $file . " "
30 }
31
32 foreach $file (sort keys %wxCommon) {
33 $isCFile = $file =~ /\.c$/;
34 $file =~ s/cp?p?$/obj/;
35 $project{"WXCOMMONOBJS"} .= $file . " ";
36 $project{"WXCOBJS"} .= $file . " " if $isCFile;
37 }
38
39 foreach $file (sort keys %wxMSW) {
40 #! these files don't compile
41 next if $file =~ /^pnghand\./;
42
43 #! next if $wxGeneric{$file} =~ /\b16\b/;
44
45 my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
46 my $isCFile = $file =~ /\.c$/;
47 $file =~ s/cp?p?$/obj/;
48 $project{"WXMSWOBJS"} .= $file . " ";
49 $project{"WXCOBJS"} .= $file . " " if $isCFile;
50 $project{"WXOLEOBJS"} .= $file . " " if $isOleObj
51 }
52 #$}
53 #! an attempt to embed '#' directly in the string somehow didn't work...
54 #$ $text = chr(35) . '!/binb/wmake.exe';
55
56 # This file was automatically generated by tmake at #$ Now()
57 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
58
59 #
60 # File: makefile.wat
61 # Author: Julian Smart
62 # Created: 1998
63 #
64 # Makefile : Builds wxWindows library for Watcom C++, WIN32
65 #
66 # NOTE: This file is generated from wat.t by tmake, but not all bugs have
67 # been removed from this process. If wxWindows doesn't compile,
68 # check the following and edit this makefile accordingly:
69 #
70 # - OLE-related files such as oleutils.cpp should have 'ole\' prepended
71 # to the path.
72 # - extended.c, gsocket.c, unzip.c must be compiled using $(CC), not $(CCC).
73 # They may also be wrongly specified as extended.cpp, etc.
74
75 WXDIR = ..\..
76
77 !include $(WXDIR)\src\makewat.env
78
79 WXLIB = $(WXDIR)\lib
80
81 LIBTARGET = $(WXLIB)\wx.lib
82 DUMMY=dummydll
83 # ODBCLIB = ..\..\contrib\odbc\odbc32.lib
84
85 EXTRATARGETS = xpm png zlib jpeg tiff
86 EXTRATARGETSCLEAN = clean_xpm clean_png clean_zlib clean_jpeg clean_tiff
87 GENDIR=$(WXDIR)\src\generic
88 COMMDIR=$(WXDIR)\src\common
89 XPMDIR=$(WXDIR)\src\xpm
90 JPEGDIR=$(WXDIR)\src\jpeg
91 TIFFDIR=$(WXDIR)\src\tiff
92 MSWDIR=$(WXDIR)\src\msw
93 OLEDIR=$(MSWDIR)\ole
94
95 DOCDIR = $(WXDIR)\docs
96
97 GENERICOBJS= #$ ExpandGlue("WXGENERICOBJS", "", " &\n\t")
98
99 # These are generic things that don't need to be compiled on MSW,
100 # but sometimes it's useful to do so for testing purposes.
101 NONESSENTIALOBJS= #$ ExpandGlue("WXNONESSENTIALOBJS", "", " &\n\t")
102
103 COMMONOBJS = &
104 y_tab.obj &
105 #$ ExpandGlue("WXCOMMONOBJS", "", " &\n\t")
106
107 MSWOBJS = #$ ExpandGlue("WXMSWOBJS", "", " &\n\t")
108
109 # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
110 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
111
112 all: $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS)
113
114 $(LIBTARGET) : $(OBJECTS)
115 %create tmp.lbc
116 @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
117 wlib /b /c /n /p=512 $^@ @tmp.lbc
118
119 #test : $(OBJECTS)
120 # %create tmp.lbc
121 # @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
122 # wlib /b /c /n /p=512 $^@ @tmp.lbc
123
124
125 clean: .SYMBOLIC $(EXTRATARGETSCLEAN)
126 -erase *.obj
127 -erase $(LIBTARGET)
128 -erase *.pch
129 -erase *.err
130 -erase *.lbc
131
132 cleanall: clean
133
134 #${
135 $_ = $project{"WXMSWOBJS"};
136 my @objs = split;
137 foreach (@objs) {
138 $text .= $_ . ': $(';
139 s/\.obj$//;
140 if ( $project{"WXOLEOBJS"} =~ /\b\Q$_\E\b/ ) {
141 $text .= 'OLEDIR)\\';
142 } else {
143 $text .= 'MSWDIR)\\';
144 }
145 my $suffix, $cc;
146 if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
147 $suffix = "c";
148 $cc="CC";
149 }
150 else {
151 $suffix = "cpp";
152 $cc="CCC";
153 }
154 $text .= $_ . ".$suffix\n" .
155 " *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
156 }
157 #$}
158
159 ########################################################
160 # Common objects (always compiled)
161
162 #${
163 $_ = $project{"WXCOMMONOBJS"};
164 my @objs = split;
165 foreach (@objs) {
166 $text .= $_;
167 s/\.obj$//;
168 $text .= ': $(COMMDIR)\\';
169 my $suffix, $cc;
170 if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
171 $suffix = "c";
172 $cc="CC";
173 }
174 else {
175 $suffix = "cpp";
176 $cc="CCC";
177 }
178 $text .= $_ . ".$suffix\n" .
179 " *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
180 }
181 #$}
182
183 y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
184 *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
185
186 # *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c
187
188 $(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
189 copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
190
191 $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
192 copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
193
194 ########################################################
195 # Generic objects (not always compiled, depending on
196 # whether platforms have native implementations)
197
198 #${
199 $_ = $project{"WXGENERICOBJS"};
200 my @objs = split;
201 foreach (@objs) {
202 $text .= $_;
203 s/\.obj$//;
204 $text .= ': $(GENDIR)\\';
205 $text .= $_ . ".cpp\n" .
206 ' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
207 }
208 #$}
209
210 crbuffri.obj: $(XPMDIR)\crbuffri.c
211 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
212
213 crbuffrp.obj: $(XPMDIR)\crbuffrp.c
214 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
215
216 crdatfri.obj: $(XPMDIR)\crdatfri.c
217 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
218
219 crdatfrp.obj: $(XPMDIR)\crdatfrp.c
220 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
221
222 create.obj: $(XPMDIR)\create.c
223 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
224
225 crifrbuf.obj: $(XPMDIR)\crifrbuf.c
226 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
227
228 crifrdat.obj: $(XPMDIR)\crifrdat.c
229 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
230
231 crpfrbuf.obj: $(XPMDIR)\crpfrbuf.c
232 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
233
234 crpfrdat.obj: $(XPMDIR)\crpfrdat.c
235 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
236
237 # TODO: what to do about this clash of filename????
238 #data.obj: $(XPMDIR)\data.c
239 # *$(CC) $(CPPFLAGS) $(IFLAGS) $<
240
241 hashtab.obj: $(XPMDIR)\hashtab.c
242 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
243
244 misc.obj: $(XPMDIR)\misc.c
245 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
246
247 parse.obj: $(XPMDIR)\parse.c
248 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
249
250 rdftodat.obj: $(XPMDIR)\rdftodat.c
251 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
252
253 rdftoi.obj: $(XPMDIR)\rdftoi.c
254 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
255
256 rdftop.obj: $(XPMDIR)\rdftop.c
257 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
258
259 rgb.obj: $(XPMDIR)\rgb.c
260 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
261
262 scan.obj: $(XPMDIR)\scan.c
263 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
264
265 simx.obj: $(XPMDIR)\simx.c
266 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
267
268 wrffrdat.obj: $(XPMDIR)\wrffrdat.c
269 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
270
271 wrffri.obj: $(XPMDIR)\wrffri.c
272 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
273
274 wrffrp.obj: $(XPMDIR)\wrffrp.c
275 *$(CC) $(CPPFLAGS) $(IFLAGS) $<
276
277 OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
278 trees$(O)
279 OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
280 infutil$(O) inffast$(O)
281
282 adler32.obj: adler32.c zutil.h zlib.h zconf.h
283 $(CC) -c $(CFLAGS) $*.c
284
285 compress.obj: compress.c zlib.h zconf.h
286 $(CC) -c $(CFLAGS) $*.c
287
288 crc32.obj: crc32.c zutil.h zlib.h zconf.h
289 $(CC) -c $(CFLAGS) $*.c
290
291 deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
292 $(CC) -c $(CFLAGS) $*.c
293
294 gzio.obj: gzio.c zutil.h zlib.h zconf.h
295 $(CC) -c $(CFLAGS) $*.c
296
297 infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
298 infcodes.h infutil.h
299 $(CC) -c $(CFLAGS) $*.c
300
301 infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
302 infcodes.h inffast.h
303 $(CC) -c $(CFLAGS) $*.c
304
305 inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
306 $(CC) -c $(CFLAGS) $*.c
307
308 inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
309 $(CC) -c $(CFLAGS) $*.c
310
311 infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
312 $(CC) -c $(CFLAGS) $*.c
313
314 inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
315 $(CC) -c $(CFLAGS) $*.c
316
317 trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
318 $(CC) -c $(CFLAGS) $*.c
319
320 uncompr.obj: uncompr.c zlib.h zconf.h
321 $(CC) -c $(CFLAGS) $*.c
322
323 zutil.obj: zutil.c zutil.h zlib.h zconf.h
324 $(CC) -c $(CFLAGS) $*.c
325
326 xpm: .SYMBOLIC
327 cd $(WXDIR)\src\xpm
328 wmake -f makefile.wat all
329 cd $(WXDIR)\src\msw
330
331 clean_xpm: .SYMBOLIC
332 cd $(WXDIR)\src\xpm
333 wmake -f makefile.wat clean
334 cd $(WXDIR)\src\msw
335
336 png: .SYMBOLIC
337 cd $(WXDIR)\src\png
338 wmake -f makefile.wat all
339 cd $(WXDIR)\src\msw
340
341 clean_png: .SYMBOLIC
342 cd $(WXDIR)\src\png
343 wmake -f makefile.wat clean
344 cd $(WXDIR)\src\msw
345
346 zlib: .SYMBOLIC
347 cd $(WXDIR)\src\zlib
348 wmake -f makefile.wat all
349 cd $(WXDIR)\src\msw
350
351 clean_zlib: .SYMBOLIC
352 cd $(WXDIR)\src\zlib
353 wmake -f makefile.wat clean
354 cd $(WXDIR)\src\msw
355
356 jpeg: .SYMBOLIC
357 cd $(WXDIR)\src\jpeg
358 wmake -f makefile.wat all
359 cd $(WXDIR)\src\msw
360
361 clean_jpeg: .SYMBOLIC
362 cd $(WXDIR)\src\jpeg
363 wmake -f makefile.wat clean
364 cd $(WXDIR)\src\msw
365
366 tiff: .SYMBOLIC
367 cd $(WXDIR)\src\tiff
368 wmake -f makefile.wat all
369 cd $(WXDIR)\src\msw
370
371 clean_tiff: .SYMBOLIC
372 cd $(WXDIR)\src\tiff
373 wmake -f makefile.wat clean
374 cd $(WXDIR)\src\msw
375
376 MFTYPE=wat
377 self : .SYMBOLIC $(WXDIR)\distrib\msw\tmake\filelist.txt $(WXDIR)\distrib\msw\tmake\$(MFTYPE).t
378 cd $(WXDIR)\distrib\msw\tmake
379 tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
380 copy makefile.$(MFTYPE) $(WXDIR)\src\msw