]> git.saurik.com Git - wxWidgets.git/blob - distrib/msw/tmake/basevc.t
merged 2.4 branch into the trunk
[wxWidgets.git] / distrib / msw / tmake / basevc.t
1 #!#############################################################################
2 #! File: basevc.t
3 #! Purpose: tmake template file from which makebase.vc is generated by running
4 #! tmake -t basevc wxwin.pro -o makebase.vc
5 #! Author: Mark Johnson
6 #! Created: 12.03.2001
7 #! Version: $Id$
8 #!#############################################################################
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 %wxCommon) {
16 next if $wxCommon{$file} !~ /\bB\b/;
17
18 $file =~ s/cp?p?$/obj/;
19 $project{"WXCOMMONOBJS"} .= "..\\common\\\$D\\" . $file . " "
20 }
21
22 foreach $file (sort keys %wxMSW) {
23 next if $wxMSW{$file} !~ /\bB\b/;
24
25 $file =~ s/cp?p?$/obj/;
26 $project{"WXMSWOBJS"} .= "..\\msw\\\$D\\" . $file . " "
27 }
28
29 foreach $file (sort keys %wxBase) {
30 $file =~ s/cp?p?$/obj/;
31 $project{"WXCOMMONOBJS"} .= "..\\common\\\$D\\" . $file . " "
32 }
33 #$}
34 # This file was automatically generated by tmake
35 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BASEVC.T!
36
37 # File: makebase.vc
38 # Author: Mark Johnson
39 # Created: 12 March 2001
40 # Updated:
41 # Copyright: (c) 1997, Julian Smart
42 #
43 # "%W% %G%"
44 #
45 # Makefile : Builds wxWindows library wxBase(d).lib for VC++ (32-bit)
46 # Arguments:
47 #
48 # FINAL=1 argument to nmake to build version with no debugging info.
49 #
50 # wxUSE_GUI=0 argument to build wxWindows version with no GUI (Console)
51 # - makevc.env changes lib name to wxBase(d).lib
52 #
53 wxUSE_GUI = 0
54 !include <../makevc.env>
55
56 THISDIR=$(WXWIN)\src\msw
57
58 LIBTARGET=$(WXLIB)
59
60 # This one overrides the others, to be consistent with the settings in setup.h
61 MINIMAL_WXWINDOWS_SETUP=0
62
63 PERIPH_LIBS=
64 PERIPH_TARGET=
65 PERIPH_CLEAN_TARGET=
66
67 # These are absolute paths, so that the compiler
68 # generates correct __FILE__ symbols for debugging.
69 # Otherwise you don't be able to double-click on a memory
70 # error to load that file.
71 COMMDIR=$(WXDIR)\src\common
72 MSWDIR=$(WXDIR)\src\msw
73
74 {../common}.cpp{../common/$D}.obj:
75 cl @<<
76 $(CPPFLAGS) /Fo$@ /c /Tp $<
77 <<
78
79 {../common}.c{../common/$D}.obj:
80 cl @<<
81 $(CPPFLAGS2) /Fo$@ /c /Tc $<
82 <<
83
84 {../msw}.cpp{../msw/$D}.obj:
85 cl @<<
86 $(CPPFLAGS) /Fo$@ /c /Tp $<
87 <<
88
89 {../msw}.c{../msw/$D}.obj:
90 cl @<<
91 $(CPPFLAGS2) /Fo$@ /c /Tc $<
92 <<
93
94 COMMONOBJS = \
95 ..\common\$D\y_tab.obj \
96 #$ ExpandList("WXCOMMONOBJS");
97
98 MSWOBJS = #$ ExpandList("WXMSWOBJS");
99
100 OBJECTS = $(COMMONOBJS) $(MSWOBJS)
101
102 ARCHINCDIR=$(WXDIR)\lib\base$(INCEXT)
103 SETUP_H=$(ARCHINCDIR)\wx\setup.h
104
105 # Normal, static library
106 #all: dirs $(SETUP_H) $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg tiff $(LIBTARGET)
107 all: dirs $(SETUP_H) $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) zlib $(LIBTARGET)
108
109 $(WXDIR)\include\wx\msw\setup.h:
110 cd $(WXDIR)\include\wx\msw
111 if not exist setup.h copy setup0.h setup.h
112 cd $(WXDIR)\src\msw
113
114 $(SETUP_H): $(WXDIR)\include\wx\msw\setup.h
115 copy $(WXDIR)\include\wx\msw\setup.h $@
116
117 dirs: $(MSWDIR)\$D $(COMMDIR)\$D
118
119 $D:
120 mkdir $D
121
122 $(COMMDIR)\$D:
123 mkdir $(COMMDIR)\$D
124
125 $(MSWDIR)\$D:
126 mkdir $(MSWDIR)\$D
127
128 ### Static library
129
130 $(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
131 -erase $(LIBTARGET)
132 $(implib) @<<
133 -out:$@
134 -machine:$(CPU)
135 $(OBJECTS) $(DUMMYOBJ) $(PERIPH_LIBS)
136 <<
137
138 $(DUMMYOBJ): $(DUMMY).$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(SETUP_H)
139 cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$(DUMMYOBJ) /c /Tp $(DUMMY).cpp
140 ########################################################
141
142 ..\common\$D\y_tab.obj: ..\common\y_tab.c ..\common\lex_yy.c
143 cl @<<
144 $(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
145 <<
146
147 ..\common\y_tab.c: ..\common\dosyacc.c
148 copy "..\common"\dosyacc.c "..\common"\y_tab.c
149
150 ..\common\lex_yy.c: ..\common\doslex.c
151 copy "..\common"\doslex.c "..\common"\lex_yy.c
152
153 $(OBJECTS): $(WXDIR)/include/wx/setup.h
154
155 ..\common\$D\unzip.obj: ..\common\unzip.c
156 cl @<<
157 $(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
158 <<
159
160 png:
161 cd $(WXDIR)\src\png
162 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
163 cd $(WXDIR)\src\msw
164
165 clean_png:
166 cd $(WXDIR)\src\png
167 nmake -f makefile.vc clean
168 cd $(WXDIR)\src\msw
169
170 zlib:
171 cd $(WXDIR)\src\zlib
172 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
173 cd $(WXDIR)\src\msw
174
175 clean_zlib:
176 cd $(WXDIR)\src\zlib
177 nmake -f makefile.vc clean
178 cd $(WXDIR)\src\msw
179
180 jpeg:
181 cd $(WXDIR)\src\jpeg
182 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all
183 cd $(WXDIR)\src\msw
184
185 clean_jpeg:
186 cd $(WXDIR)\src\jpeg
187 nmake -f makefile.vc clean
188 cd $(WXDIR)\src\msw
189
190 tiff:
191 cd $(WXDIR)\src\tiff
192 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all
193 cd $(WXDIR)\src\msw
194
195 clean_tiff:
196 cd $(WXDIR)\src\tiff
197 nmake -f makefile.vc clean
198 cd $(WXDIR)\src\msw
199
200 xpm:
201 cd $(WXDIR)\src\xpm
202 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
203 cd $(WXDIR)\src\msw
204
205 clean_xpm:
206 cd $(WXDIR)\src\xpm
207 nmake -f makefile.vc clean
208 cd $(WXDIR)\src\msw
209
210 cleanall: clean clean_png clean_zlib clean_xpm clean_jpeg clean_tiff
211 -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).lib
212 -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).exp
213 -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).pdb
214 -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).ilk
215
216
217 clean: $(PERIPH_CLEAN_TARGET)
218 -erase $(LIBTARGET)
219 -erase $(COMMDIR)\$D\*.obj
220 -erase $(COMMDIR)\$D\*.pdb
221 -erase $(COMMDIR)\$D\*.sbr
222 -erase $(COMMDIR)\$D\*.idb
223 -erase $(COMMDIR)\$D\*.pch
224 -erase $(COMMDIR)\y_tab.c
225 -erase $(COMMDIR)\lex_yy.c
226 -erase $(MSWDIR)\$D\*.idb
227 -erase $(MSWDIR)\$D\*.pdb
228 -erase $(MSWDIR)\$D\*.pch
229 -erase $(MSWDIR)\$D\*.obj
230 -erase $(MSWDIR)\$D\*.sbr
231 -erase $(MSWDIR)\$D\*.pdb
232 -rmdir $(D)
233 -rmdir ..\common\$(D)
234