]> git.saurik.com Git - wxWidgets.git/blame - distrib/msw/tmake/wat.t
added missing const
[wxWidgets.git] / distrib / msw / tmake / wat.t
CommitLineData
f2071dda
VZ
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#! 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 my $tag = "";
17 if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
18 $tag = "WXNONESSENTIALOBJS";
19 }
20 else {
21 $tag = "WXGENERICOBJS";
22 }
23
24 $file =~ s/cp?p?$/obj/;
25 $project{$tag} .= $file . " "
26 }
17092e43
VS
27
28 foreach $file (sort keys %wxHTML) {
29 next if $wxHTML{$file} =~ /\b16\b/;
30
31 $file =~ s/cp?p?$/obj/;
32 $project{"WXHTMLOBJS"} .= $file . " "
33 }
f2071dda
VZ
34
35 foreach $file (sort keys %wxCommon) {
6a253da1
VS
36 next if $wxCommon{$file} =~ /\b(16|U)\b/;
37
d98fcc00 38 $isCFile = $file =~ /\.c$/;
f2071dda 39 $file =~ s/cp?p?$/obj/;
d98fcc00
VZ
40 $project{"WXCOMMONOBJS"} .= $file . " ";
41 $project{"WXCOBJS"} .= $file . " " if $isCFile;
f2071dda
VZ
42 }
43
44 foreach $file (sort keys %wxMSW) {
45 #! these files don't compile
46 next if $file =~ /^pnghand\./;
47
a0499e2f 48 next if $wxMSW{$file} =~ /\b16\b/;
f2071dda 49
d98fcc00
VZ
50 my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
51 my $isCFile = $file =~ /\.c$/;
f2071dda 52 $file =~ s/cp?p?$/obj/;
d98fcc00
VZ
53 $project{"WXMSWOBJS"} .= $file . " ";
54 $project{"WXCOBJS"} .= $file . " " if $isCFile;
55 $project{"WXOLEOBJS"} .= $file . " " if $isOleObj
f2071dda
VZ
56 }
57#$}
d98fcc00
VZ
58#! an attempt to embed '#' directly in the string somehow didn't work...
59#$ $text = chr(35) . '!/binb/wmake.exe';
f2071dda 60
0f04dbf3 61# This file was automatically generated by tmake
f2071dda
VZ
62# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
63
f2071dda
VZ
64#
65# File: makefile.wat
66# Author: Julian Smart
67# Created: 1998
68#
69# Makefile : Builds wxWindows library for Watcom C++, WIN32
a0499e2f 70!include ..\makewat.env
f2071dda 71
5e3841bf 72LIBTARGET = $(WXDIR)\lib\$(LIBNAME).lib
f2071dda 73
810aa7fc
VS
74EXTRATARGETS = png zlib jpeg tiff regex
75EXTRATARGETSCLEAN = clean_png clean_zlib clean_jpeg clean_tiff clean_regex
f2071dda
VZ
76GENDIR=$(WXDIR)\src\generic
77COMMDIR=$(WXDIR)\src\common
f6bcfd97
BP
78JPEGDIR=$(WXDIR)\src\jpeg
79TIFFDIR=$(WXDIR)\src\tiff
f2071dda 80MSWDIR=$(WXDIR)\src\msw
d98fcc00 81OLEDIR=$(MSWDIR)\ole
17092e43 82HTMLDIR=$(WXDIR)\src\html
f2071dda
VZ
83
84DOCDIR = $(WXDIR)\docs
85
a0499e2f 86GENERICOBJS= #$ ExpandGlue("WXGENERICOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
f2071dda
VZ
87
88# These are generic things that don't need to be compiled on MSW,
89# but sometimes it's useful to do so for testing purposes.
a0499e2f 90NONESSENTIALOBJS= #$ ExpandGlue("WXNONESSENTIALOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
f2071dda
VZ
91
92COMMONOBJS = &
a0499e2f
VZ
93 $(OUTPUTDIR)\y_tab.obj &
94 #$ ExpandGlue("WXCOMMONOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
f2071dda 95
a0499e2f 96MSWOBJS = #$ ExpandGlue("WXMSWOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
f2071dda 97
a0499e2f 98HTMLOBJS = #$ ExpandGlue("WXHTMLOBJS", "\$(OUTPUTDIR)\\", " &\n\t\$(OUTPUTDIR)\\")
17092e43 99
f2071dda 100# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
17092e43 101OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
f2071dda 102
810aa7fc
VS
103SETUP_H=$(ARCHINCDIR)\wx\setup.h
104
a0499e2f 105all: $(SETUP_H) $(OUTPUTDIR) $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
810aa7fc
VS
106
107$(ARCHINCDIR)\wx:
a0499e2f
VZ
108 mkdir $(ARCHINCDIR)
109 mkdir $(ARCHINCDIR)\wx
110
111$(OUTPUTDIR):
112 @if not exist $^@ mkdir $^@
810aa7fc
VS
113
114$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h $(ARCHINCDIR)\wx
a0499e2f 115 copy $(WXDIR)\include\wx\msw\setup.h $@
f2071dda 116
a0499e2f 117LBCFILE=wx$(TOOLKIT).lbc
f2071dda 118$(LIBTARGET) : $(OBJECTS)
a0499e2f
VZ
119 %create $(LBCFILE)
120 @for %i in ( $(OBJECTS) ) do @%append $(LBCFILE) +%i
121 wlib /b /c /n /p=512 $^@ @$(LBCFILE)
9be9b974
RD
122
123
f2071dda
VZ
124clean: .SYMBOLIC $(EXTRATARGETSCLEAN)
125 -erase *.obj
126 -erase $(LIBTARGET)
127 -erase *.pch
128 -erase *.err
129 -erase *.lbc
130
131cleanall: clean
132
133#${
134 $_ = $project{"WXMSWOBJS"};
135 my @objs = split;
136 foreach (@objs) {
a0499e2f 137 $text .= "\$(OUTPUTDIR)\\" . $_ . ': $(';
f2071dda 138 s/\.obj$//;
d98fcc00 139 if ( $project{"WXOLEOBJS"} =~ /\b\Q$_\E\b/ ) {
f2071dda
VZ
140 $text .= 'OLEDIR)\\';
141 } else {
142 $text .= 'MSWDIR)\\';
143 }
d98fcc00
VZ
144 my $suffix, $cc;
145 if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
146 $suffix = "c";
147 $cc="CC";
a0499e2f 148 $flags="CFLAGS";
d98fcc00
VZ
149 }
150 else {
151 $suffix = "cpp";
a0499e2f
VZ
152 $cc="CXX";
153 $flags="CXXFLAGS";
d98fcc00
VZ
154 }
155 $text .= $_ . ".$suffix\n" .
a0499e2f 156 " *\$($cc) \$($flags) \$<" . "\n\n";
f2071dda
VZ
157 }
158#$}
159
160########################################################
161# Common objects (always compiled)
162
163#${
164 $_ = $project{"WXCOMMONOBJS"};
165 my @objs = split;
166 foreach (@objs) {
a0499e2f 167 $text .= "\$(OUTPUTDIR)\\" . $_;
f2071dda
VZ
168 s/\.obj$//;
169 $text .= ': $(COMMDIR)\\';
d98fcc00
VZ
170 my $suffix, $cc;
171 if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
172 $suffix = "c";
173 $cc="CC";
a0499e2f 174 $flags="CFLAGS";
d98fcc00
VZ
175 }
176 else {
177 $suffix = "cpp";
a0499e2f
VZ
178 $cc="CXX";
179 $flags="CXXFLAGS";
d98fcc00
VZ
180 }
181 $text .= $_ . ".$suffix\n" .
a0499e2f 182 " *\$($cc) \$($flags) \$<" . "\n\n";
f2071dda
VZ
183 }
184#$}
185
a0499e2f
VZ
186$(OUTPUTDIR)\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
187 *$(CC) $(CFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
f2071dda
VZ
188
189$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
190 copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
191
192$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
193 copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
194
195########################################################
196# Generic objects (not always compiled, depending on
197# whether platforms have native implementations)
198
199#${
200 $_ = $project{"WXGENERICOBJS"};
201 my @objs = split;
202 foreach (@objs) {
a0499e2f 203 $text .= "\$(OUTPUTDIR)\\" . $_;
f2071dda
VZ
204 s/\.obj$//;
205 $text .= ': $(GENDIR)\\';
206 $text .= $_ . ".cpp\n" .
a0499e2f 207 ' *$(CXX) $(CXXFLAGS) $<' . "\n\n";
f2071dda
VZ
208 }
209#$}
210
17092e43
VS
211
212########################################################
213# HTML objects (always compiled)
214
215#${
216 $_ = $project{"WXHTMLOBJS"};
217 my @objs = split;
218 foreach (@objs) {
a0499e2f 219 $text .= "\$(OUTPUTDIR)\\" . $_;
17092e43
VS
220 s/\.obj$//;
221 $text .= ': $(HTMLDIR)\\';
222 $text .= $_ . ".cpp\n" .
a0499e2f 223 ' *$(CXX) $(CXXFLAGS) $<' . "\n\n";
17092e43
VS
224 }
225#$}
226
f2071dda
VZ
227png: .SYMBOLIC
228 cd $(WXDIR)\src\png
229 wmake -f makefile.wat all
230 cd $(WXDIR)\src\msw
231
232clean_png: .SYMBOLIC
233 cd $(WXDIR)\src\png
234 wmake -f makefile.wat clean
235 cd $(WXDIR)\src\msw
236
237zlib: .SYMBOLIC
238 cd $(WXDIR)\src\zlib
239 wmake -f makefile.wat all
240 cd $(WXDIR)\src\msw
241
242clean_zlib: .SYMBOLIC
243 cd $(WXDIR)\src\zlib
244 wmake -f makefile.wat clean
245 cd $(WXDIR)\src\msw
246
f6bcfd97
BP
247jpeg: .SYMBOLIC
248 cd $(WXDIR)\src\jpeg
249 wmake -f makefile.wat all
250 cd $(WXDIR)\src\msw
251
252clean_jpeg: .SYMBOLIC
253 cd $(WXDIR)\src\jpeg
254 wmake -f makefile.wat clean
255 cd $(WXDIR)\src\msw
256
257tiff: .SYMBOLIC
258 cd $(WXDIR)\src\tiff
259 wmake -f makefile.wat all
260 cd $(WXDIR)\src\msw
261
262clean_tiff: .SYMBOLIC
263 cd $(WXDIR)\src\tiff
264 wmake -f makefile.wat clean
265 cd $(WXDIR)\src\msw
266
810aa7fc
VS
267regex: .SYMBOLIC
268 cd $(WXDIR)\src\regex
269 wmake -f makefile.wat all
270 cd $(WXDIR)\src\msw
271
272clean_regex: .SYMBOLIC
273 cd $(WXDIR)\src\regex
274 wmake -f makefile.wat clean
275 cd $(WXDIR)\src\msw
276
9be9b974 277MFTYPE=wat
457e6c54
JS
278self : .SYMBOLIC $(WXDIR)\distrib\msw\tmake\filelist.txt $(WXDIR)\distrib\msw\tmake\$(MFTYPE).t
279 cd $(WXDIR)\distrib\msw\tmake
9be9b974 280 tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
457e6c54 281 copy makefile.$(MFTYPE) $(WXDIR)\src\msw