]> git.saurik.com Git - wxWidgets.git/blame_incremental - distrib/msw/tmake/basevc.t
use specific linker flags under Mac OS X when linking executables against the
[wxWidgets.git] / distrib / msw / tmake / basevc.t
... / ...
CommitLineData
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#
53wxUSE_GUI = 0
54!include <../makevc.env>
55
56THISDIR=$(WXWIN)\src\msw
57
58LIBTARGET=$(WXLIB)
59
60# This one overrides the others, to be consistent with the settings in setup.h
61MINIMAL_WXWINDOWS_SETUP=0
62
63PERIPH_LIBS=
64PERIPH_TARGET=
65PERIPH_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.
71COMMDIR=$(WXDIR)\src\common
72MSWDIR=$(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
94COMMONOBJS = \
95 ..\common\$D\y_tab.obj \
96 #$ ExpandList("WXCOMMONOBJS");
97
98MSWOBJS = #$ ExpandList("WXMSWOBJS");
99
100OBJECTS = $(COMMONOBJS) $(MSWOBJS)
101
102ARCHINCDIR=$(WXDIR)\lib\base$(INCEXT)
103SETUP_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)
107all: 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
117dirs: $(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
160png:
161 cd $(WXDIR)\src\png
162 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
163 cd $(WXDIR)\src\msw
164
165clean_png:
166 cd $(WXDIR)\src\png
167 nmake -f makefile.vc clean
168 cd $(WXDIR)\src\msw
169
170zlib:
171 cd $(WXDIR)\src\zlib
172 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
173 cd $(WXDIR)\src\msw
174
175clean_zlib:
176 cd $(WXDIR)\src\zlib
177 nmake -f makefile.vc clean
178 cd $(WXDIR)\src\msw
179
180jpeg:
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
185clean_jpeg:
186 cd $(WXDIR)\src\jpeg
187 nmake -f makefile.vc clean
188 cd $(WXDIR)\src\msw
189
190tiff:
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
195clean_tiff:
196 cd $(WXDIR)\src\tiff
197 nmake -f makefile.vc clean
198 cd $(WXDIR)\src\msw
199
200xpm:
201 cd $(WXDIR)\src\xpm
202 nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
203 cd $(WXDIR)\src\msw
204
205clean_xpm:
206 cd $(WXDIR)\src\xpm
207 nmake -f makefile.vc clean
208 cd $(WXDIR)\src\msw
209
210cleanall: 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
217clean: $(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