Fix, or at least make less common, deadlock in the thread sample.
[wxWidgets.git] / samples / sockets / makefile.gcc
1 # =========================================================================\r
2 #     This makefile was generated by\r
3 #     Bakefile 0.2.9 (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)$(COMPILER_VERSION)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
20 LIBDIRNAME = \
21         .\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(LIBTYPE_SUFFIX)$(CFG)
22 SETUPHDIR = \\r
23         $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)\r
24 CLIENT_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \\r
25         -DHAVE_W32API_H -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \
26         $(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \\r
27         $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \\r
28         -I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall \\r
29         -I. $(__DLLFLAG_p) -I.\..\..\samples -DNOPCH $(__RTTIFLAG) \\r
30         $(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy $(CXXFLAGS_GTK_WINDOWS_GCC) \
31         $(CPPFLAGS) $(CXXFLAGS)
32 CLIENT_OBJECTS =  \\r
33         $(OBJS)\client_sample_rc.o \\r
34         $(OBJS)\client_client.o\r
35 SERVER_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \\r
36         -DHAVE_W32API_H -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \
37         $(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \\r
38         $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \\r
39         -I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall \\r
40         -I. $(__DLLFLAG_p) -I.\..\..\samples -DNOPCH $(__RTTIFLAG) \\r
41         $(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy $(CXXFLAGS_GTK_WINDOWS_GCC) \
42         $(CPPFLAGS) $(CXXFLAGS)
43 SERVER_OBJECTS =  \\r
44         $(OBJS)\server_sample_rc.o \\r
45         $(OBJS)\server_server.o\r
46 BASECLIENT_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \\r
47         $(GCCFLAGS) -DHAVE_W32API_H -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
48         $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \\r
49         $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) \\r
50         $(__MSLU_DEFINE_p) -I$(SETUPHDIR) -I.\..\..\include \\r
51         $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall -I. $(__DLLFLAG_p) -DwxUSE_GUI=0 \\r
52         $(__RTTIFLAG) $(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy \
53         $(CXXFLAGS_GTK_WINDOWS_GCC) $(CPPFLAGS) $(CXXFLAGS)
54 BASECLIENT_OBJECTS =  \\r
55         $(OBJS)\baseclient_baseclient.o\r
56 BASESERVER_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \\r
57         $(GCCFLAGS) -DHAVE_W32API_H -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
58         $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \\r
59         $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) \\r
60         $(__MSLU_DEFINE_p) -I$(SETUPHDIR) -I.\..\..\include \\r
61         $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall -I. $(__DLLFLAG_p) -DwxUSE_GUI=0 \\r
62         $(__RTTIFLAG) $(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy \
63         $(CXXFLAGS_GTK_WINDOWS_GCC) $(CPPFLAGS) $(CXXFLAGS)
64 BASESERVER_OBJECTS =  \\r
65         $(OBJS)\baseserver_baseserver.o\r
66 \r
67 ### Conditionally set variables: ###\r
68 \r
69 ifeq ($(TOOLKIT),GTK)
70 WIN32_TOOLKIT_LOWERCASE = gtk
71 endif
72 ifeq ($(TOOLKIT),MSW)
73 WIN32_TOOLKIT_LOWERCASE = msw
74 endif
75 ifeq ($(GCC_VERSION),2.95)\r
76 GCCFLAGS = -fvtable-thunks\r
77 endif\r
78 ifeq ($(USE_GUI),0)\r
79 PORTNAME = base\r
80 endif\r
81 ifeq ($(USE_GUI),1)\r
82 PORTNAME = $(WIN32_TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
83 endif
84 ifeq ($(TOOLKIT),MAC)
85 WXBASEPORT = _carbon
86 endif
87 ifeq ($(OFFICIAL_BUILD),1)
88 COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
89 endif\r
90 ifeq ($(BUILD),debug)\r
91 WXDEBUGFLAG = d\r
92 endif\r
93 ifeq ($(UNICODE),1)\r
94 WXUNICODEFLAG = u\r
95 endif\r
96 ifeq ($(WXUNIV),1)\r
97 WXUNIVNAME = univ\r
98 endif\r
99 ifeq ($(SHARED),1)\r
100 WXDLLFLAG = dll\r
101 endif\r
102 ifeq ($(SHARED),0)\r
103 LIBTYPE_SUFFIX = lib\r
104 endif\r
105 ifeq ($(SHARED),1)\r
106 LIBTYPE_SUFFIX = dll\r
107 endif\r
108 ifeq ($(MONOLITHIC),0)\r
109 EXTRALIBS_FOR_BASE = \r
110 endif\r
111 ifeq ($(MONOLITHIC),1)\r
112 EXTRALIBS_FOR_BASE =   \r
113 endif\r
114 ifeq ($(TOOLKIT),GTK)
115 CXXFLAGS_GTK_WINDOWS_GCC = -mms-bitfields
116 endif
117 ifeq ($(TOOLKIT),GTK)
118 ifeq ($(TOOLKIT_VERSION),2)
119 LIB_GTK = gtk-win32-2.0.lib gdk-win32-2.0.lib pangocairo-1.0.lib \
120         gdk_pixbuf-2.0.lib cairo.lib pango-1.0.lib gobject-2.0.lib gthread-2.0.lib \
121         glib-2.0.lib
122 endif
123 endif
124 ifeq ($(USE_GUI),1)\r
125 __client___depname = $(OBJS)\client.exe\r
126 endif\r
127 ifeq ($(USE_GUI),1)\r
128 __server___depname = $(OBJS)\server.exe\r
129 endif\r
130 ifeq ($(MONOLITHIC),1)\r
131 __LIB_PNG_IF_MONO_p = $(__LIB_PNG_p)\r
132 endif\r
133 ifeq ($(MONOLITHIC),1)\r
134 __LIB_PNG_IF_MONO_p_1 = $(__LIB_PNG_p)\r
135 endif\r
136 ifeq ($(WXUNIV),1)\r
137 __WXUNIV_DEFINE_p_0 = --define __WXUNIVERSAL__\r
138 endif\r
139 ifeq ($(DEBUG_FLAG),0)\r
140 __DEBUG_DEFINE_p_0 = --define wxDEBUG_LEVEL=0\r
141 endif\r
142 ifeq ($(BUILD),release)\r
143 __NDEBUG_DEFINE_p_0 = --define NDEBUG\r
144 endif\r
145 ifeq ($(USE_EXCEPTIONS),0)\r
146 __EXCEPTIONS_DEFINE_p_0 = --define wxNO_EXCEPTIONS\r
147 endif\r
148 ifeq ($(USE_RTTI),0)\r
149 __RTTI_DEFINE_p_0 = --define wxNO_RTTI\r
150 endif\r
151 ifeq ($(USE_THREADS),0)\r
152 __THREAD_DEFINE_p_0 = --define wxNO_THREADS\r
153 endif\r
154 ifeq ($(UNICODE),0)\r
155 __UNICODE_DEFINE_p_0 = --define wxUSE_UNICODE=0\r
156 endif\r
157 ifeq ($(UNICODE),1)\r
158 __UNICODE_DEFINE_p_0 = --define _UNICODE\r
159 endif\r
160 ifeq ($(MSLU),1)\r
161 __MSLU_DEFINE_p_0 = --define wxUSE_UNICODE_MSLU=1\r
162 endif\r
163 ifeq ($(USE_CAIRO),1)\r
164 __CAIRO_INCLUDEDIR_p = --include-dir $(CAIRO_ROOT)/include/cairo\r
165 endif\r
166 ifeq ($(SHARED),1)\r
167 __DLLFLAG_p_0 = --define WXUSINGDLL\r
168 endif\r
169 ifeq ($(MONOLITHIC),0)\r
170 __WXLIB_CORE_p = \\r
171         -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core\r
172 endif\r
173 ifeq ($(USE_GUI),1)\r
174 __LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)\r
175 endif\r
176 ifeq ($(USE_GUI),1)\r
177 __LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)\r
178 endif\r
179 ifeq ($(BUILD),debug)\r
180 __OPTIMIZEFLAG = -O0\r
181 endif\r
182 ifeq ($(BUILD),release)\r
183 __OPTIMIZEFLAG = -O2\r
184 endif\r
185 ifeq ($(USE_RTTI),0)\r
186 __RTTIFLAG = -fno-rtti\r
187 endif\r
188 ifeq ($(USE_RTTI),1)\r
189 __RTTIFLAG = \r
190 endif\r
191 ifeq ($(USE_EXCEPTIONS),0)\r
192 __EXCEPTIONSFLAG = -fno-exceptions\r
193 endif\r
194 ifeq ($(USE_EXCEPTIONS),1)\r
195 __EXCEPTIONSFLAG = \r
196 endif\r
197 ifeq ($(WXUNIV),1)\r
198 __WXUNIV_DEFINE_p = -D__WXUNIVERSAL__\r
199 endif\r
200 ifeq ($(DEBUG_FLAG),0)\r
201 __DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0\r
202 endif\r
203 ifeq ($(BUILD),release)\r
204 __NDEBUG_DEFINE_p = -DNDEBUG\r
205 endif\r
206 ifeq ($(USE_EXCEPTIONS),0)\r
207 __EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS\r
208 endif\r
209 ifeq ($(USE_RTTI),0)\r
210 __RTTI_DEFINE_p = -DwxNO_RTTI\r
211 endif\r
212 ifeq ($(USE_THREADS),0)\r
213 __THREAD_DEFINE_p = -DwxNO_THREADS\r
214 endif\r
215 ifeq ($(UNICODE),0)\r
216 __UNICODE_DEFINE_p = -DwxUSE_UNICODE=0\r
217 endif\r
218 ifeq ($(UNICODE),1)\r
219 __UNICODE_DEFINE_p = -D_UNICODE\r
220 endif\r
221 ifeq ($(MSLU),1)\r
222 __MSLU_DEFINE_p = -DwxUSE_UNICODE_MSLU=1\r
223 endif\r
224 ifeq ($(USE_CAIRO),1)\r
225 ____CAIRO_INCLUDEDIR_FILENAMES = -I$(CAIRO_ROOT)\include\cairo\r
226 endif\r
227 ifeq ($(SHARED),1)\r
228 __DLLFLAG_p = -DWXUSINGDLL\r
229 endif\r
230 ifeq ($(MONOLITHIC),0)\r
231 __WXLIB_NET_p = \\r
232         -lwxbase$(WXBASEPORT)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net
233 endif\r
234 ifeq ($(MONOLITHIC),0)\r
235 __WXLIB_BASE_p = \\r
236         -lwxbase$(WXBASEPORT)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
237 endif\r
238 ifeq ($(MONOLITHIC),1)\r
239 __WXLIB_MONO_p = \\r
240         -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)\r
241 endif\r
242 ifeq ($(USE_GUI),1)\r
243 __LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)\r
244 endif\r
245 ifeq ($(MSLU),1)\r
246 __UNICOWS_LIB_p = -lunicows\r
247 endif\r
248 ifeq ($(USE_CAIRO),1)\r
249 __CAIRO_LIB_p = -lcairo\r
250 endif\r
251 ifeq ($(USE_CAIRO),1)\r
252 ____CAIRO_LIBDIR_FILENAMES = -L$(CAIRO_ROOT)\lib\r
253 endif\r
254 ifeq ($(BUILD),debug)\r
255 ifeq ($(DEBUG_INFO),default)\r
256 __DEBUGINFO = -g\r
257 endif\r
258 endif\r
259 ifeq ($(BUILD),release)\r
260 ifeq ($(DEBUG_INFO),default)\r
261 __DEBUGINFO = \r
262 endif\r
263 endif\r
264 ifeq ($(DEBUG_INFO),0)\r
265 __DEBUGINFO = \r
266 endif\r
267 ifeq ($(DEBUG_INFO),1)\r
268 __DEBUGINFO = -g\r
269 endif\r
270 ifeq ($(USE_THREADS),0)\r
271 __THREADSFLAG = \r
272 endif\r
273 ifeq ($(USE_THREADS),1)\r
274 __THREADSFLAG = -mthreads\r
275 endif\r
276 \r
277 \r
278 all: $(OBJS)\r
279 $(OBJS):\r
280         -if not exist $(OBJS) mkdir $(OBJS)\r
281 \r
282 ### Targets: ###\r
283 \r
284 all: $(__client___depname) $(__server___depname) $(OBJS)\baseclient.exe $(OBJS)\baseserver.exe\r
285 \r
286 clean: \r
287         -if exist $(OBJS)\*.o del $(OBJS)\*.o\r
288         -if exist $(OBJS)\*.d del $(OBJS)\*.d\r
289         -if exist $(OBJS)\client.exe del $(OBJS)\client.exe\r
290         -if exist $(OBJS)\server.exe del $(OBJS)\server.exe\r
291         -if exist $(OBJS)\baseclient.exe del $(OBJS)\baseclient.exe\r
292         -if exist $(OBJS)\baseserver.exe del $(OBJS)\baseserver.exe\r
293 \r
294 ifeq ($(USE_GUI),1)\r
295 $(OBJS)\client.exe: $(CLIENT_OBJECTS) $(OBJS)\client_sample_rc.o\r
296         $(CXX) -o $@ $(CLIENT_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)  $(__WXLIB_CORE_p)  $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(LIB_GTK)  -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet
297 endif\r
298 \r
299 ifeq ($(USE_GUI),1)\r
300 $(OBJS)\server.exe: $(SERVER_OBJECTS) $(OBJS)\server_sample_rc.o\r
301         $(CXX) -o $@ $(SERVER_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)  $(__WXLIB_CORE_p)  $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(LIB_GTK)  -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet
302 endif\r
303 \r
304 $(OBJS)\baseclient.exe: $(BASECLIENT_OBJECTS)\r
305         $(CXX) -o $@ $(BASECLIENT_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME)  $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)  $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet\r
306 \r
307 $(OBJS)\baseserver.exe: $(BASESERVER_OBJECTS)\r
308         $(CXX) -o $@ $(BASESERVER_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME)  $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS)  $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_PNG_IF_MONO_p_1) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet\r
309 \r
310 $(OBJS)\client_sample_rc.o: ./../../samples/sample.rc\r
311         windres --use-temp-file -i$< -o$@    --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_0) $(__DEBUG_DEFINE_p_0) $(__NDEBUG_DEFINE_p_0) $(__EXCEPTIONS_DEFINE_p_0) $(__RTTI_DEFINE_p_0) $(__THREAD_DEFINE_p_0) $(__UNICODE_DEFINE_p_0) $(__MSLU_DEFINE_p_0) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_0) --include-dir ./../../samples --define NOPCH
312 \r
313 $(OBJS)\client_client.o: ./client.cpp\r
314         $(CXX) -c -o $@ $(CLIENT_CXXFLAGS) $(CPPDEPS) $<\r
315 \r
316 $(OBJS)\server_sample_rc.o: ./../../samples/sample.rc\r
317         windres --use-temp-file -i$< -o$@    --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_0) $(__DEBUG_DEFINE_p_0) $(__NDEBUG_DEFINE_p_0) $(__EXCEPTIONS_DEFINE_p_0) $(__RTTI_DEFINE_p_0) $(__THREAD_DEFINE_p_0) $(__UNICODE_DEFINE_p_0) $(__MSLU_DEFINE_p_0) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_0) --include-dir ./../../samples --define NOPCH
318 \r
319 $(OBJS)\server_server.o: ./server.cpp\r
320         $(CXX) -c -o $@ $(SERVER_CXXFLAGS) $(CPPDEPS) $<\r
321 \r
322 $(OBJS)\baseclient_baseclient.o: ./baseclient.cpp\r
323         $(CXX) -c -o $@ $(BASECLIENT_CXXFLAGS) $(CPPDEPS) $<\r
324 \r
325 $(OBJS)\baseserver_baseserver.o: ./baseserver.cpp\r
326         $(CXX) -c -o $@ $(BASESERVER_CXXFLAGS) $(CPPDEPS) $<\r
327 \r
328 .PHONY: all clean\r
329 \r
330 \r
331 SHELL := $(COMSPEC)\r
332 \r
333 # Dependencies tracking:\r
334 -include $(OBJS)/*.d\r