Add a very simple example of a Win32 application using wx DLL.
[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 __WXLIB_CORE_p =
76 !ifeq MONOLITHIC 0
77 __WXLIB_CORE_p = &
78         wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
79 !endif
80 __WXLIB_BASE_p =
81 !ifeq MONOLITHIC 0
82 __WXLIB_BASE_p = &
83         wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
84 !endif
85 __WXLIB_MONO_p =
86 !ifeq MONOLITHIC 1
87 __WXLIB_MONO_p = &
88         wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
89 !endif
90 __LIB_TIFF_p =
91 !ifeq USE_GUI 1
92 __LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
93 !endif
94 __LIB_JPEG_p =
95 !ifeq USE_GUI 1
96 __LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
97 !endif
98 __LIB_PNG_p =
99 !ifeq USE_GUI 1
100 __LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
101 !endif
102 __GDIPLUS_LIB_p =
103 !ifeq USE_GDIPLUS 1
104 __GDIPLUS_LIB_p = gdiplus.lib
105 !endif
106 __CAIRO_LIB_p =
107 !ifeq USE_CAIRO 1
108 __CAIRO_LIB_p = cairo.lib
109 !endif
110 ____CAIRO_LIBDIR_FILENAMES =
111 !ifeq USE_CAIRO 1
112 ____CAIRO_LIBDIR_FILENAMES = libpath $(CAIRO_ROOT)\lib
113 !endif
114 __DEBUGINFO_0 =
115 !ifeq BUILD debug\r
116 !ifeq DEBUG_INFO default\r
117 __DEBUGINFO_0 = -d2
118 !endif\r
119 !endif\r
120 !ifeq BUILD release\r
121 !ifeq DEBUG_INFO default\r
122 __DEBUGINFO_0 = -d0
123 !endif\r
124 !endif\r
125 !ifeq DEBUG_INFO 0\r
126 __DEBUGINFO_0 = -d0
127 !endif\r
128 !ifeq DEBUG_INFO 1\r
129 __DEBUGINFO_0 = -d2
130 !endif\r
131 __DEBUGINFO =\r
132 !ifeq BUILD debug\r
133 !ifeq DEBUG_INFO default\r
134 __DEBUGINFO = debug all\r
135 !endif\r
136 !endif\r
137 !ifeq BUILD release\r
138 !ifeq DEBUG_INFO default\r
139 __DEBUGINFO = \r
140 !endif\r
141 !endif\r
142 !ifeq DEBUG_INFO 0\r
143 __DEBUGINFO = \r
144 !endif\r
145 !ifeq DEBUG_INFO 1\r
146 __DEBUGINFO = debug all\r
147 !endif\r
148 __OPTIMIZEFLAG =\r
149 !ifeq BUILD debug\r
150 __OPTIMIZEFLAG = -od\r
151 !endif\r
152 !ifeq BUILD release\r
153 __OPTIMIZEFLAG = -ot -ox\r
154 !endif\r
155 __THREADSFLAG =\r
156 !ifeq USE_THREADS 0\r
157 __THREADSFLAG = \r
158 !endif\r
159 !ifeq USE_THREADS 1\r
160 __THREADSFLAG = -bm\r
161 !endif\r
162 __RUNTIME_LIBS =\r
163 !ifeq RUNTIME_LIBS dynamic\r
164 __RUNTIME_LIBS = -br\r
165 !endif\r
166 !ifeq RUNTIME_LIBS static\r
167 __RUNTIME_LIBS = \r
168 !endif\r
169 __RTTIFLAG =\r
170 !ifeq USE_RTTI 0\r
171 __RTTIFLAG = \r
172 !endif\r
173 !ifeq USE_RTTI 1\r
174 __RTTIFLAG = -xr\r
175 !endif\r
176 __EXCEPTIONSFLAG =\r
177 !ifeq USE_EXCEPTIONS 0\r
178 __EXCEPTIONSFLAG = \r
179 !endif\r
180 !ifeq USE_EXCEPTIONS 1\r
181 __EXCEPTIONSFLAG = -xs\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_0) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
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_0) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
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 SDK_EXE_CXXFLAGS = $(__DEBUGINFO_0) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
251         $(__RUNTIME_LIBS) $(__RTTIFLAG) $(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)
252 SDK_EXE_OBJECTS =  &
253         $(OBJS)\sdk_exe_sdk_exe.obj
254 \r
255 \r
256 all : $(OBJS)\r
257 $(OBJS) :\r
258         -if not exist $(OBJS) mkdir $(OBJS)\r
259 \r
260 ### Targets: ###\r
261 \r
262 all : .SYMBOLIC $(OBJS)\my_dll.dll $(__wx_exe___depname) $(OBJS)\sdk_exe.exe
263 \r
264 clean : .SYMBOLIC \r
265         -if exist $(OBJS)\*.obj del $(OBJS)\*.obj\r
266         -if exist $(OBJS)\*.res del $(OBJS)\*.res\r
267         -if exist $(OBJS)\*.lbc del $(OBJS)\*.lbc\r
268         -if exist $(OBJS)\*.ilk del $(OBJS)\*.ilk\r
269         -if exist $(OBJS)\*.pch del $(OBJS)\*.pch\r
270         -if exist $(OBJS)\my_dll.dll del $(OBJS)\my_dll.dll\r
271         -if exist $(OBJS)\my_dll.lib del $(OBJS)\my_dll.lib\r
272         -if exist $(OBJS)\wx_exe.exe del $(OBJS)\wx_exe.exe\r
273         -if exist $(OBJS)\sdk_exe.exe del $(OBJS)\sdk_exe.exe
274 \r
275 $(OBJS)\my_dll.dll :  $(MY_DLL_OBJECTS)\r
276         @%create $(OBJS)\my_dll.lbc\r
277         @%append $(OBJS)\my_dll.lbc option quiet\r
278         @%append $(OBJS)\my_dll.lbc name $^@\r
279         @%append $(OBJS)\my_dll.lbc option caseexact\r
280         @%append $(OBJS)\my_dll.lbc  $(__DEBUGINFO)  libpath $(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)\r
281         @for %i in ($(MY_DLL_OBJECTS)) do @%append $(OBJS)\my_dll.lbc file %i\r
282         @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
283         @%append $(OBJS)\my_dll.lbc\r
284         @%append $(OBJS)\my_dll.lbc system nt_dll\r
285         wlink @$(OBJS)\my_dll.lbc\r
286         wlib -q -n -b $(OBJS)\my_dll.lib +$^@\r
287 \r
288 !ifeq SHARED 0\r
289 $(OBJS)\wx_exe.exe :  $(WX_EXE_OBJECTS) $(OBJS)\wx_exe_sample.res $(OBJS)\my_dll.dll\r
290         @%create $(OBJS)\wx_exe.lbc\r
291         @%append $(OBJS)\wx_exe.lbc option quiet\r
292         @%append $(OBJS)\wx_exe.lbc name $^@\r
293         @%append $(OBJS)\wx_exe.lbc option caseexact\r
294         @%append $(OBJS)\wx_exe.lbc  $(__DEBUGINFO)  libpath $(LIBDIRNAME) system nt_win ref '_WinMain@16' $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)\r
295         @for %i in ($(WX_EXE_OBJECTS)) do @%append $(OBJS)\wx_exe.lbc file %i\r
296         @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
297         @%append $(OBJS)\wx_exe.lbc option resource=$(OBJS)\wx_exe_sample.res\r
298         @for %i in () do @%append $(OBJS)\wx_exe.lbc option stack=%i\r
299         wlink @$(OBJS)\wx_exe.lbc\r
300 !endif\r
301 \r
302 $(OBJS)\sdk_exe.exe :  $(SDK_EXE_OBJECTS) $(OBJS)\my_dll.dll
303         @%create $(OBJS)\sdk_exe.lbc
304         @%append $(OBJS)\sdk_exe.lbc option quiet
305         @%append $(OBJS)\sdk_exe.lbc name $^@
306         @%append $(OBJS)\sdk_exe.lbc option caseexact
307         @%append $(OBJS)\sdk_exe.lbc  $(__DEBUGINFO)  system nt_win ref '_WinMain@16' $(LDFLAGS)
308         @for %i in ($(SDK_EXE_OBJECTS)) do @%append $(OBJS)\sdk_exe.lbc file %i
309         @for %i in ( $(OBJS)\my_dll.lib) do @%append $(OBJS)\sdk_exe.lbc library %i
310         @%append $(OBJS)\sdk_exe.lbc
311         @for %i in () do @%append $(OBJS)\sdk_exe.lbc option stack=%i
312         wlink @$(OBJS)\sdk_exe.lbc
313
314 $(OBJS)\my_dll_my_dll.obj :  .AUTODEPEND .\my_dll.cpp\r
315         $(CXX) -bt=nt -zq -fo=$^@ $(MY_DLL_CXXFLAGS) $<\r
316 \r
317 $(OBJS)\wx_exe_sample.res :  .AUTODEPEND .\..\..\samples\sample.rc\r
318         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
319 \r
320 $(OBJS)\wx_exe_wx_exe.obj :  .AUTODEPEND .\wx_exe.cpp\r
321         $(CXX) -bt=nt -zq -fo=$^@ $(WX_EXE_CXXFLAGS) $<\r
322 \r
323 $(OBJS)\sdk_exe_sdk_exe.obj :  .AUTODEPEND .\sdk_exe.cpp
324         $(CXX) -bt=nt -zq -fo=$^@ $(SDK_EXE_CXXFLAGS) $<
325