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