Add a very simple example of a Win32 application using wx DLL.
[wxWidgets.git] / samples / dll / makefile.gcc
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.gcc\r
8 \r
9 # -------------------------------------------------------------------------\r
10 # Do not modify the rest of this file!\r
11 # -------------------------------------------------------------------------\r
12 \r
13 ### Variables: ###\r
14 \r
15 CPPDEPS = -MT$@ -MF$@.d -MD -MP\r
16 WX_RELEASE_NODOT = 29\r
17 COMPILER_PREFIX = gcc\r
18 OBJS = \\r
19         $(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)\r
20 LIBDIRNAME = .\..\..\lib\$(COMPILER_PREFIX)_$(LIBTYPE_SUFFIX)$(CFG)\r
21 SETUPHDIR = \\r
22         $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)\r
23 MY_DLL_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \\r
24         -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \\r
25         $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \\r
26         $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) $(__GFXCTX_DEFINE_p) \\r
27         -I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall \\r
28         $(__DLLFLAG_p) -DMY_DLL_BUILDING -I. $(__RTTIFLAG) $(__EXCEPTIONSFLAG) \\r
29         -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)\r
30 MY_DLL_OBJECTS =  \\r
31         $(OBJS)\my_dll_my_dll.o\r
32 WX_EXE_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \\r
33         -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \\r
34         $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \\r
35         $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) $(__GFXCTX_DEFINE_p) \\r
36         -I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall \\r
37         -I. $(__DLLFLAG_p) -I.\..\..\samples -DNOPCH $(__RTTIFLAG) \\r
38         $(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)\r
39 WX_EXE_OBJECTS =  \\r
40         $(OBJS)\wx_exe_sample_rc.o \\r
41         $(OBJS)\wx_exe_wx_exe.o\r
42 SDK_EXE_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
43         $(GCCFLAGS) -DHAVE_W32API_H $(__RTTIFLAG) $(__EXCEPTIONSFLAG) $(CPPFLAGS) \
44         $(CXXFLAGS)
45 SDK_EXE_OBJECTS =  \
46         $(OBJS)\sdk_exe_sdk_exe.o
47 \r
48 ### Conditionally set variables: ###\r
49 \r
50 ifeq ($(GCC_VERSION),2.95)\r
51 GCCFLAGS = -fvtable-thunks\r
52 endif\r
53 ifeq ($(USE_GUI),0)\r
54 PORTNAME = base\r
55 endif\r
56 ifeq ($(USE_GUI),1)\r
57 PORTNAME = msw\r
58 endif\r
59 ifeq ($(BUILD),debug)\r
60 WXDEBUGFLAG = d\r
61 endif\r
62 ifeq ($(UNICODE),1)\r
63 WXUNICODEFLAG = u\r
64 endif\r
65 ifeq ($(WXUNIV),1)\r
66 WXUNIVNAME = univ\r
67 endif\r
68 ifeq ($(SHARED),1)\r
69 WXDLLFLAG = dll\r
70 endif\r
71 ifeq ($(SHARED),0)\r
72 LIBTYPE_SUFFIX = lib\r
73 endif\r
74 ifeq ($(SHARED),1)\r
75 LIBTYPE_SUFFIX = dll\r
76 endif\r
77 ifeq ($(MONOLITHIC),0)\r
78 EXTRALIBS_FOR_BASE = \r
79 endif\r
80 ifeq ($(MONOLITHIC),1)\r
81 EXTRALIBS_FOR_BASE =  \r
82 endif\r
83 ifeq ($(SHARED),0)\r
84 __wx_exe___depname = $(OBJS)\wx_exe.exe\r
85 endif\r
86 ifeq ($(WXUNIV),1)\r
87 __WXUNIV_DEFINE_p_3 = --define __WXUNIVERSAL__\r
88 endif\r
89 ifeq ($(DEBUG_FLAG),0)\r
90 __DEBUG_DEFINE_p_3 = --define wxDEBUG_LEVEL=0\r
91 endif\r
92 ifeq ($(USE_EXCEPTIONS),0)\r
93 __EXCEPTIONS_DEFINE_p_3 = --define wxNO_EXCEPTIONS\r
94 endif\r
95 ifeq ($(USE_RTTI),0)\r
96 __RTTI_DEFINE_p_3 = --define wxNO_RTTI\r
97 endif\r
98 ifeq ($(USE_THREADS),0)\r
99 __THREAD_DEFINE_p_3 = --define wxNO_THREADS\r
100 endif\r
101 ifeq ($(UNICODE),0)\r
102 __UNICODE_DEFINE_p_3 = --define wxUSE_UNICODE=0\r
103 endif\r
104 ifeq ($(UNICODE),1)\r
105 __UNICODE_DEFINE_p_3 = --define _UNICODE\r
106 endif\r
107 ifeq ($(MSLU),1)\r
108 __MSLU_DEFINE_p_3 = --define wxUSE_UNICODE_MSLU=1\r
109 endif\r
110 ifeq ($(USE_GDIPLUS),1)\r
111 __GFXCTX_DEFINE_p_3 = --define wxUSE_GRAPHICS_CONTEXT=1\r
112 endif\r
113 ifeq ($(USE_CAIRO),1)\r
114 __CAIRO_INCLUDEDIR_p_1 = --include-dir $(CAIRO_ROOT)/include/cairo\r
115 endif\r
116 ifeq ($(SHARED),1)\r
117 __DLLFLAG_p_3 = --define WXUSINGDLL\r
118 endif\r
119 ifeq ($(WXUNIV),1)\r
120 __WXUNIV_DEFINE_p = -D__WXUNIVERSAL__\r
121 endif\r
122 ifeq ($(DEBUG_FLAG),0)\r
123 __DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0\r
124 endif\r
125 ifeq ($(USE_EXCEPTIONS),0)\r
126 __EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS\r
127 endif\r
128 ifeq ($(USE_RTTI),0)\r
129 __RTTI_DEFINE_p = -DwxNO_RTTI\r
130 endif\r
131 ifeq ($(USE_THREADS),0)\r
132 __THREAD_DEFINE_p = -DwxNO_THREADS\r
133 endif\r
134 ifeq ($(UNICODE),0)\r
135 __UNICODE_DEFINE_p = -DwxUSE_UNICODE=0\r
136 endif\r
137 ifeq ($(UNICODE),1)\r
138 __UNICODE_DEFINE_p = -D_UNICODE\r
139 endif\r
140 ifeq ($(MSLU),1)\r
141 __MSLU_DEFINE_p = -DwxUSE_UNICODE_MSLU=1\r
142 endif\r
143 ifeq ($(USE_GDIPLUS),1)\r
144 __GFXCTX_DEFINE_p = -DwxUSE_GRAPHICS_CONTEXT=1\r
145 endif\r
146 ifeq ($(USE_CAIRO),1)\r
147 ____CAIRO_INCLUDEDIR_FILENAMES = -I$(CAIRO_ROOT)\include\cairo\r
148 endif\r
149 ifeq ($(SHARED),1)\r
150 __DLLFLAG_p = -DWXUSINGDLL\r
151 endif\r
152 ifeq ($(MONOLITHIC),0)\r
153 __WXLIB_CORE_p = \\r
154         -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core\r
155 endif\r
156 ifeq ($(MONOLITHIC),0)\r
157 __WXLIB_BASE_p = \\r
158         -lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)\r
159 endif\r
160 ifeq ($(MONOLITHIC),1)\r
161 __WXLIB_MONO_p = \\r
162         -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)\r
163 endif\r
164 ifeq ($(USE_GUI),1)\r
165 __LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)\r
166 endif\r
167 ifeq ($(USE_GUI),1)\r
168 __LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)\r
169 endif\r
170 ifeq ($(USE_GUI),1)\r
171 __LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)\r
172 endif\r
173 ifeq ($(MSLU),1)\r
174 __UNICOWS_LIB_p = -lunicows\r
175 endif\r
176 ifeq ($(USE_GDIPLUS),1)\r
177 __GDIPLUS_LIB_p = -lgdiplus\r
178 endif\r
179 ifeq ($(USE_CAIRO),1)\r
180 __CAIRO_LIB_p = -lcairo\r
181 endif\r
182 ifeq ($(USE_CAIRO),1)\r
183 ____CAIRO_LIBDIR_FILENAMES = -L$(CAIRO_ROOT)\lib\r
184 endif\r
185 ifeq ($(BUILD),debug)\r
186 __OPTIMIZEFLAG = -O0
187 endif
188 ifeq ($(BUILD),release)
189 __OPTIMIZEFLAG = -O2
190 endif
191 ifeq ($(USE_RTTI),0)
192 __RTTIFLAG = -fno-rtti
193 endif
194 ifeq ($(USE_RTTI),1)
195 __RTTIFLAG =
196 endif
197 ifeq ($(USE_EXCEPTIONS),0)
198 __EXCEPTIONSFLAG = -fno-exceptions
199 endif
200 ifeq ($(USE_EXCEPTIONS),1)
201 __EXCEPTIONSFLAG =
202 endif
203 ifeq ($(BUILD),debug)
204 ifeq ($(DEBUG_INFO),default)\r
205 __DEBUGINFO = -g\r
206 endif\r
207 endif\r
208 ifeq ($(BUILD),release)\r
209 ifeq ($(DEBUG_INFO),default)\r
210 __DEBUGINFO = \r
211 endif\r
212 endif\r
213 ifeq ($(DEBUG_INFO),0)\r
214 __DEBUGINFO = \r
215 endif\r
216 ifeq ($(DEBUG_INFO),1)\r
217 __DEBUGINFO = -g\r
218 endif\r
219 ifeq ($(USE_THREADS),0)\r
220 __THREADSFLAG = \r
221 endif\r
222 ifeq ($(USE_THREADS),1)\r
223 __THREADSFLAG = -mthreads\r
224 endif\r
225 \r
226 \r
227 all: $(OBJS)\r
228 $(OBJS):\r
229         -if not exist $(OBJS) mkdir $(OBJS)\r
230 \r
231 ### Targets: ###\r
232 \r
233 all: $(OBJS)\my_dll.dll $(__wx_exe___depname) $(OBJS)\sdk_exe.exe
234 \r
235 clean: \r
236         -if exist $(OBJS)\*.o del $(OBJS)\*.o\r
237         -if exist $(OBJS)\*.d del $(OBJS)\*.d\r
238         -if exist $(OBJS)\my_dll.dll del $(OBJS)\my_dll.dll\r
239         -if exist $(OBJS)\libmy_dll.a del $(OBJS)\libmy_dll.a\r
240         -if exist $(OBJS)\wx_exe.exe del $(OBJS)\wx_exe.exe\r
241         -if exist $(OBJS)\sdk_exe.exe del $(OBJS)\sdk_exe.exe
242 \r
243 $(OBJS)\my_dll.dll: $(MY_DLL_OBJECTS)\r
244         $(CXX) $(LINK_DLL_FLAGS) -fPIC -o $@ $(MY_DLL_OBJECTS)  -Wl,--out-implib=$(OBJS)\libmy_dll.a $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet\r
245 \r
246 ifeq ($(SHARED),0)\r
247 $(OBJS)\wx_exe.exe: $(WX_EXE_OBJECTS) $(OBJS)\wx_exe_sample_rc.o $(OBJS)\my_dll.dll\r
248         $(CXX) -o $@ $(WX_EXE_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(OBJS)\libmy_dll.a $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet\r
249 endif\r
250 \r
251 $(OBJS)\sdk_exe.exe: $(SDK_EXE_OBJECTS) $(OBJS)\my_dll.dll
252         $(CXX) -o $@ $(SDK_EXE_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -Wl,--subsystem,windows -mwindows $(LDFLAGS)  $(OBJS)\libmy_dll.a
253
254 $(OBJS)\my_dll_my_dll.o: ./my_dll.cpp\r
255         $(CXX) -c -o $@ $(MY_DLL_CXXFLAGS) $(CPPDEPS) $<\r
256 \r
257 $(OBJS)\wx_exe_sample_rc.o: ./../../samples/sample.rc\r
258         windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_3) $(__DEBUG_DEFINE_p_3) $(__EXCEPTIONS_DEFINE_p_3) $(__RTTI_DEFINE_p_3) $(__THREAD_DEFINE_p_3) $(__UNICODE_DEFINE_p_3) $(__MSLU_DEFINE_p_3) $(__GFXCTX_DEFINE_p_3) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p_1) --include-dir . $(__DLLFLAG_p_3) --include-dir ./../../samples --define NOPCH\r
259 \r
260 $(OBJS)\wx_exe_wx_exe.o: ./wx_exe.cpp\r
261         $(CXX) -c -o $@ $(WX_EXE_CXXFLAGS) $(CPPDEPS) $<\r
262 \r
263 $(OBJS)\sdk_exe_sdk_exe.o: ./sdk_exe.cpp
264         $(CXX) -c -o $@ $(SDK_EXE_CXXFLAGS) $(CPPDEPS) $<
265
266 .PHONY: all clean\r
267 \r
268 \r
269 SHELL := $(COMSPEC)\r
270 \r
271 # Dependencies tracking:\r
272 -include $(OBJS)/*.d\r