Define MY_DLL_BUILDING symbol for dll sample DLL build.
[wxWidgets.git] / samples / dll / makefile.wat
1 # =========================================================================\r
2 #     This makefile was generated by\r
3 #     Bakefile 0.2.8 (http://www.bakefile.org)\r
4 #     Do not modify, all changes will be overwritten!\r
5 # =========================================================================\r
6 \r
7 !include ../../build/msw/config.wat\r
8 \r
9 # -------------------------------------------------------------------------\r
10 # Do not modify the rest of this file!\r
11 # -------------------------------------------------------------------------\r
12 \r
13 # Speed up compilation a bit:\r
14 !ifdef __LOADDLL__\r
15 !  loaddll wcc      wccd\r
16 !  loaddll wccaxp   wccdaxp\r
17 !  loaddll wcc386   wccd386\r
18 !  loaddll wpp      wppdi86\r
19 !  loaddll wppaxp   wppdaxp\r
20 !  loaddll wpp386   wppd386\r
21 ! if $(__VERSION__) >= 1280\r
22 !  loaddll wlink    wlinkd\r
23 ! else\r
24 !  loaddll wlink    wlink\r
25 ! endif\r
26 !  loaddll wlib     wlibd\r
27 !endif\r
28 \r
29 # We need these variables in some bakefile-made rules:\r
30 WATCOM_CWD = $+ $(%cdrive):$(%cwd) $-\r
31 \r
32 ### Conditionally set variables: ###\r
33 \r
34 PORTNAME =\r
35 !ifeq USE_GUI 0\r
36 PORTNAME = base\r
37 !endif\r
38 !ifeq USE_GUI 1\r
39 PORTNAME = msw\r
40 !endif\r
41 WXDEBUGFLAG =\r
42 !ifeq BUILD debug\r
43 WXDEBUGFLAG = d\r
44 !endif\r
45 WXUNICODEFLAG =\r
46 !ifeq UNICODE 1\r
47 WXUNICODEFLAG = u\r
48 !endif\r
49 WXUNIVNAME =\r
50 !ifeq WXUNIV 1\r
51 WXUNIVNAME = univ\r
52 !endif\r
53 WXDLLFLAG =\r
54 !ifeq SHARED 1\r
55 WXDLLFLAG = dll\r
56 !endif\r
57 LIBTYPE_SUFFIX =\r
58 !ifeq SHARED 0\r
59 LIBTYPE_SUFFIX = lib\r
60 !endif\r
61 !ifeq SHARED 1\r
62 LIBTYPE_SUFFIX = dll\r
63 !endif\r
64 EXTRALIBS_FOR_BASE =\r
65 !ifeq MONOLITHIC 0\r
66 EXTRALIBS_FOR_BASE = \r
67 !endif\r
68 !ifeq MONOLITHIC 1\r
69 EXTRALIBS_FOR_BASE =  \r
70 !endif\r
71 __wx_exe___depname =\r
72 !ifeq SHARED 0\r
73 __wx_exe___depname = $(OBJS)\wx_exe.exe\r
74 !endif\r
75 __DEBUGINFO_1 =\r
76 !ifeq BUILD debug\r
77 !ifeq DEBUG_INFO default\r
78 __DEBUGINFO_1 = -d2\r
79 !endif\r
80 !endif\r
81 !ifeq BUILD release\r
82 !ifeq DEBUG_INFO default\r
83 __DEBUGINFO_1 = -d0\r
84 !endif\r
85 !endif\r
86 !ifeq DEBUG_INFO 0\r
87 __DEBUGINFO_1 = -d0\r
88 !endif\r
89 !ifeq DEBUG_INFO 1\r
90 __DEBUGINFO_1 = -d2\r
91 !endif\r
92 __DEBUGINFO =\r
93 !ifeq BUILD debug\r
94 !ifeq DEBUG_INFO default\r
95 __DEBUGINFO = debug all\r
96 !endif\r
97 !endif\r
98 !ifeq BUILD release\r
99 !ifeq DEBUG_INFO default\r
100 __DEBUGINFO = \r
101 !endif\r
102 !endif\r
103 !ifeq DEBUG_INFO 0\r
104 __DEBUGINFO = \r
105 !endif\r
106 !ifeq DEBUG_INFO 1\r
107 __DEBUGINFO = debug all\r
108 !endif\r
109 __OPTIMIZEFLAG =\r
110 !ifeq BUILD debug\r
111 __OPTIMIZEFLAG = -od\r
112 !endif\r
113 !ifeq BUILD release\r
114 __OPTIMIZEFLAG = -ot -ox\r
115 !endif\r
116 __THREADSFLAG =\r
117 !ifeq USE_THREADS 0\r
118 __THREADSFLAG = \r
119 !endif\r
120 !ifeq USE_THREADS 1\r
121 __THREADSFLAG = -bm\r
122 !endif\r
123 __RUNTIME_LIBS =\r
124 !ifeq RUNTIME_LIBS dynamic\r
125 __RUNTIME_LIBS = -br\r
126 !endif\r
127 !ifeq RUNTIME_LIBS static\r
128 __RUNTIME_LIBS = \r
129 !endif\r
130 __RTTIFLAG =\r
131 !ifeq USE_RTTI 0\r
132 __RTTIFLAG = \r
133 !endif\r
134 !ifeq USE_RTTI 1\r
135 __RTTIFLAG = -xr\r
136 !endif\r
137 __EXCEPTIONSFLAG =\r
138 !ifeq USE_EXCEPTIONS 0\r
139 __EXCEPTIONSFLAG = \r
140 !endif\r
141 !ifeq USE_EXCEPTIONS 1\r
142 __EXCEPTIONSFLAG = -xs\r
143 !endif\r
144 __WXLIB_CORE_p =\r
145 !ifeq MONOLITHIC 0\r
146 __WXLIB_CORE_p = &\r
147         wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib\r
148 !endif\r
149 __WXLIB_BASE_p =\r
150 !ifeq MONOLITHIC 0\r
151 __WXLIB_BASE_p = &\r
152         wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib\r
153 !endif\r
154 __WXLIB_MONO_p =\r
155 !ifeq MONOLITHIC 1\r
156 __WXLIB_MONO_p = &\r
157         wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib\r
158 !endif\r
159 __LIB_TIFF_p =\r
160 !ifeq USE_GUI 1\r
161 __LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib\r
162 !endif\r
163 __LIB_JPEG_p =\r
164 !ifeq USE_GUI 1\r
165 __LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib\r
166 !endif\r
167 __LIB_PNG_p =\r
168 !ifeq USE_GUI 1\r
169 __LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib\r
170 !endif\r
171 __GDIPLUS_LIB_p =\r
172 !ifeq USE_GDIPLUS 1\r
173 __GDIPLUS_LIB_p = gdiplus.lib\r
174 !endif\r
175 __CAIRO_LIB_p =\r
176 !ifeq USE_CAIRO 1\r
177 __CAIRO_LIB_p = cairo.lib\r
178 !endif\r
179 ____CAIRO_LIBDIR_FILENAMES =\r
180 !ifeq USE_CAIRO 1\r
181 ____CAIRO_LIBDIR_FILENAMES = libpath $(CAIRO_ROOT)\lib\r
182 !endif\r
183 __WXUNIV_DEFINE_p =\r
184 !ifeq WXUNIV 1\r
185 __WXUNIV_DEFINE_p = -d__WXUNIVERSAL__\r
186 !endif\r
187 __DEBUG_DEFINE_p =\r
188 !ifeq DEBUG_FLAG 0\r
189 __DEBUG_DEFINE_p = -dwxDEBUG_LEVEL=0\r
190 !endif\r
191 __EXCEPTIONS_DEFINE_p =\r
192 !ifeq USE_EXCEPTIONS 0\r
193 __EXCEPTIONS_DEFINE_p = -dwxNO_EXCEPTIONS\r
194 !endif\r
195 __RTTI_DEFINE_p =\r
196 !ifeq USE_RTTI 0\r
197 __RTTI_DEFINE_p = -dwxNO_RTTI\r
198 !endif\r
199 __THREAD_DEFINE_p =\r
200 !ifeq USE_THREADS 0\r
201 __THREAD_DEFINE_p = -dwxNO_THREADS\r
202 !endif\r
203 __UNICODE_DEFINE_p =\r
204 !ifeq UNICODE 0\r
205 __UNICODE_DEFINE_p = -dwxUSE_UNICODE=0\r
206 !endif\r
207 !ifeq UNICODE 1\r
208 __UNICODE_DEFINE_p = -d_UNICODE\r
209 !endif\r
210 __GFXCTX_DEFINE_p =\r
211 !ifeq USE_GDIPLUS 1\r
212 __GFXCTX_DEFINE_p = -dwxUSE_GRAPHICS_CONTEXT=1\r
213 !endif\r
214 ____CAIRO_INCLUDEDIR_FILENAMES =\r
215 !ifeq USE_CAIRO 1\r
216 ____CAIRO_INCLUDEDIR_FILENAMES = -i=$(CAIRO_ROOT)\include\cairo\r
217 !endif\r
218 __DLLFLAG_p =\r
219 !ifeq SHARED 1\r
220 __DLLFLAG_p = -dWXUSINGDLL\r
221 !endif\r
222 \r
223 ### Variables: ###\r
224 \r
225 WX_RELEASE_NODOT = 29\r
226 COMPILER_PREFIX = wat\r
227 OBJS = &\r
228         $(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)\r
229 LIBDIRNAME = .\..\..\lib\$(COMPILER_PREFIX)_$(LIBTYPE_SUFFIX)$(CFG)\r
230 SETUPHDIR = &\r
231         $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)\r
232 MY_DLL_CXXFLAGS = -bd $(__DEBUGINFO_1) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &\r
233         $(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &\r
234         $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &\r
235         $(__UNICODE_DEFINE_p) $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) &\r
236         -i=.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -wx -wcd=549 -wcd=656 &\r
237         -wcd=657 -wcd=667 $(__DLLFLAG_p) -dMY_DLL_BUILDING -i=. $(__RTTIFLAG) &\r
238         $(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)\r
239 MY_DLL_OBJECTS =  &\r
240         $(OBJS)\my_dll_my_dll.obj\r
241 WX_EXE_CXXFLAGS = $(__DEBUGINFO_1) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &\r
242         $(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &\r
243         $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &\r
244         $(__UNICODE_DEFINE_p) $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) &\r
245         -i=.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -wx -wcd=549 -wcd=656 &\r
246         -wcd=657 -wcd=667 -i=. $(__DLLFLAG_p) -i=.\..\..\samples -dNOPCH $(__RTTIFLAG) &\r
247         $(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)\r
248 WX_EXE_OBJECTS =  &\r
249         $(OBJS)\wx_exe_wx_exe.obj\r
250 \r
251 \r
252 all : $(OBJS)\r
253 $(OBJS) :\r
254         -if not exist $(OBJS) mkdir $(OBJS)\r
255 \r
256 ### Targets: ###\r
257 \r
258 all : .SYMBOLIC $(OBJS)\my_dll.dll $(__wx_exe___depname)\r
259 \r
260 clean : .SYMBOLIC \r
261         -if exist $(OBJS)\*.obj del $(OBJS)\*.obj\r
262         -if exist $(OBJS)\*.res del $(OBJS)\*.res\r
263         -if exist $(OBJS)\*.lbc del $(OBJS)\*.lbc\r
264         -if exist $(OBJS)\*.ilk del $(OBJS)\*.ilk\r
265         -if exist $(OBJS)\*.pch del $(OBJS)\*.pch\r
266         -if exist $(OBJS)\my_dll.dll del $(OBJS)\my_dll.dll\r
267         -if exist $(OBJS)\my_dll.lib del $(OBJS)\my_dll.lib\r
268         -if exist $(OBJS)\wx_exe.exe del $(OBJS)\wx_exe.exe\r
269 \r
270 $(OBJS)\my_dll.dll :  $(MY_DLL_OBJECTS)\r
271         @%create $(OBJS)\my_dll.lbc\r
272         @%append $(OBJS)\my_dll.lbc option quiet\r
273         @%append $(OBJS)\my_dll.lbc name $^@\r
274         @%append $(OBJS)\my_dll.lbc option caseexact\r
275         @%append $(OBJS)\my_dll.lbc  $(__DEBUGINFO)  libpath $(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)\r
276         @for %i in ($(MY_DLL_OBJECTS)) do @%append $(OBJS)\my_dll.lbc file %i\r
277         @for %i in ( $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE)  $(__GDIPLUS_LIB_p) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib) do @%append $(OBJS)\my_dll.lbc library %i\r
278         @%append $(OBJS)\my_dll.lbc\r
279         @%append $(OBJS)\my_dll.lbc system nt_dll\r
280         wlink @$(OBJS)\my_dll.lbc\r
281         wlib -q -n -b $(OBJS)\my_dll.lib +$^@\r
282 \r
283 !ifeq SHARED 0\r
284 $(OBJS)\wx_exe.exe :  $(WX_EXE_OBJECTS) $(OBJS)\wx_exe_sample.res $(OBJS)\my_dll.dll\r
285         @%create $(OBJS)\wx_exe.lbc\r
286         @%append $(OBJS)\wx_exe.lbc option quiet\r
287         @%append $(OBJS)\wx_exe.lbc name $^@\r
288         @%append $(OBJS)\wx_exe.lbc option caseexact\r
289         @%append $(OBJS)\wx_exe.lbc  $(__DEBUGINFO)  libpath $(LIBDIRNAME) system nt_win ref '_WinMain@16' $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)\r
290         @for %i in ($(WX_EXE_OBJECTS)) do @%append $(OBJS)\wx_exe.lbc file %i\r
291         @for %i in ( $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(OBJS)\my_dll.lib $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE)  $(__GDIPLUS_LIB_p) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib) do @%append $(OBJS)\wx_exe.lbc library %i\r
292         @%append $(OBJS)\wx_exe.lbc option resource=$(OBJS)\wx_exe_sample.res\r
293         @for %i in () do @%append $(OBJS)\wx_exe.lbc option stack=%i\r
294         wlink @$(OBJS)\wx_exe.lbc\r
295 !endif\r
296 \r
297 $(OBJS)\my_dll_my_dll.obj :  .AUTODEPEND .\my_dll.cpp\r
298         $(CXX) -bt=nt -zq -fo=$^@ $(MY_DLL_CXXFLAGS) $<\r
299 \r
300 $(OBJS)\wx_exe_sample.res :  .AUTODEPEND .\..\..\samples\sample.rc\r
301         wrc -q -ad -bt=nt -r -fo=$^@    -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p)  $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) -i=.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -i=. $(__DLLFLAG_p) -i=.\..\..\samples -dNOPCH $<\r
302 \r
303 $(OBJS)\wx_exe_wx_exe.obj :  .AUTODEPEND .\wx_exe.cpp\r
304         $(CXX) -bt=nt -zq -fo=$^@ $(WX_EXE_CXXFLAGS) $<\r
305 \r