]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/makefile.gcc
fix wxURI::GetUser() for URIs without password; added unit test case for it (closes...
[wxWidgets.git] / tests / makefile.gcc
index 042414e2bd6dfccfacf3bcaccfeff8b0dd9184a1..db755e8a1ce0899abb537600a35b0e0426273a7c 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.1.3 (http://bakefile.sourceforge.net)
+#     Bakefile 0.2.5 (http://www.bakefile.org)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
@@ -12,21 +12,122 @@ include ../build/msw/config.gcc
 
 ### Variables: ###
 
+CPPDEPS = -MT$@ -MF$@.d -MD -MP
+WX_RELEASE_NODOT = 29
+COMPILER_PREFIX = gcc
 OBJS = \
-       gcc_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
+       $(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
+LIBDIRNAME = .\..\lib\$(COMPILER_PREFIX)_$(LIBTYPE_SUFFIX)$(CFG)
 SETUPHDIR = \
        $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
-TEST_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG_2) $(GCCFLAGS) -DHAVE_W32API_H \
-       -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__UNICODE_DEFINE_p) \
-       -I.\..\include -I$(SETUPHDIR) -Wall -I. $(__DLLFLAG_p) $(CPPUNIT_CFLAGS) \
-       $(__EXCEPTIONSFLAG_4) $(__EXCEPTIONSFLAG_5) $(CPPFLAGS) $(CXXFLAGS)
+TEST_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \
+       -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \
+       $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
+       $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) $(__GFXCTX_DEFINE_p) \
+       -I$(SETUPHDIR) -I.\..\include -W -Wall -I. $(__DLLFLAG_p) -DwxUSE_GUI=0 \
+       $(CPPUNIT_CFLAGS) $(__RTTIFLAG) $(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy \
+       $(CPPFLAGS) $(CXXFLAGS)
 TEST_OBJECTS =  \
+       $(OBJS)\test_dummy.o \
        $(OBJS)\test_test.o \
-       $(OBJS)\test_main.o \
-       $(OBJS)\test_formatconverter.o \
-       $(OBJS)\test_regex.o \
-       $(OBJS)\test_filesys.o \
-       $(OBJS)\test_arrays.o
+       $(OBJS)\test_archivetest.o \
+       $(OBJS)\test_ziptest.o \
+       $(OBJS)\test_tartest.o \
+       $(OBJS)\test_arrays.o \
+       $(OBJS)\test_base64.o \
+       $(OBJS)\test_cmdlinetest.o \
+       $(OBJS)\test_fileconf.o \
+       $(OBJS)\test_datetimetest.o \
+       $(OBJS)\test_timertest.o \
+       $(OBJS)\test_filekind.o \
+       $(OBJS)\test_filenametest.o \
+       $(OBJS)\test_filesystest.o \
+       $(OBJS)\test_fontmaptest.o \
+       $(OBJS)\test_formatconvertertest.o \
+       $(OBJS)\test_hashes.o \
+       $(OBJS)\test_intltest.o \
+       $(OBJS)\test_lists.o \
+       $(OBJS)\test_longlongtest.o \
+       $(OBJS)\test_convautotest.o \
+       $(OBJS)\test_mbconvtest.o \
+       $(OBJS)\test_misctests.o \
+       $(OBJS)\test_ipc.o \
+       $(OBJS)\test_socket.o \
+       $(OBJS)\test_regextest.o \
+       $(OBJS)\test_wxregextest.o \
+       $(OBJS)\test_scopeguardtest.o \
+       $(OBJS)\test_iostream.o \
+       $(OBJS)\test_strings.o \
+       $(OBJS)\test_stdstrings.o \
+       $(OBJS)\test_tokenizer.o \
+       $(OBJS)\test_unichar.o \
+       $(OBJS)\test_unicode.o \
+       $(OBJS)\test_vararg.o \
+       $(OBJS)\test_crt.o \
+       $(OBJS)\test_vsnprintf.o \
+       $(OBJS)\test_bstream.o \
+       $(OBJS)\test_datastreamtest.o \
+       $(OBJS)\test_ffilestream.o \
+       $(OBJS)\test_fileback.o \
+       $(OBJS)\test_filestream.o \
+       $(OBJS)\test_iostreams.o \
+       $(OBJS)\test_largefile.o \
+       $(OBJS)\test_memstream.o \
+       $(OBJS)\test_socketstream.o \
+       $(OBJS)\test_sstream.o \
+       $(OBJS)\test_tempfile.o \
+       $(OBJS)\test_textstreamtest.o \
+       $(OBJS)\test_zlibstream.o \
+       $(OBJS)\test_textfiletest.o \
+       $(OBJS)\test_atomic.o \
+       $(OBJS)\test_queue.o \
+       $(OBJS)\test_tls.o \
+       $(OBJS)\test_uris.o \
+       $(OBJS)\test_vectors.o \
+       $(OBJS)\test_evtconnection.o \
+       $(OBJS)\test_weakref.o \
+       $(OBJS)\test_xlocale.o \
+       $(OBJS)\test_xmltest.o
+TEST_GUI_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
+       $(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
+       $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
+       $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I.\..\include -W -Wall -I. $(__DLLFLAG_p) \
+       -I.\..\samples -DNOPCH $(CPPUNIT_CFLAGS) $(__RTTIFLAG) $(__EXCEPTIONSFLAG) \
+       -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
+TEST_GUI_OBJECTS =  \
+       $(OBJS)\test_gui_sample_rc.o \
+       $(OBJS)\test_gui_dummy.o \
+       $(OBJS)\test_gui_test.o \
+       $(OBJS)\test_gui_rect.o \
+       $(OBJS)\test_gui_size.o \
+       $(OBJS)\test_gui_point.o \
+       $(OBJS)\test_gui_config.o \
+       $(OBJS)\test_gui_comboboxtest.o \
+       $(OBJS)\test_gui_headerctrltest.o \
+       $(OBJS)\test_gui_listctrltest.o \
+       $(OBJS)\test_gui_textctrltest.o \
+       $(OBJS)\test_gui_textentrytest.o \
+       $(OBJS)\test_gui_treectrltest.o \
+       $(OBJS)\test_gui_propagation.o \
+       $(OBJS)\test_gui_rawbmp.o \
+       $(OBJS)\test_gui_htmlwindow.o \
+       $(OBJS)\test_gui_guifuncs.o \
+       $(OBJS)\test_gui_selstoretest.o \
+       $(OBJS)\test_gui_garbage.o \
+       $(OBJS)\test_gui_socket.o \
+       $(OBJS)\test_gui_clientsize.o \
+       $(OBJS)\test_gui_setsize.o
+PRINTFBENCH_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
+       $(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
+       $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
+       $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I.\..\include -W -Wall -I. $(__DLLFLAG_p) \
+       -DwxUSE_GUI=0 $(CPPUNIT_CFLAGS) $(__RTTIFLAG) $(__EXCEPTIONSFLAG) \
+       -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
+PRINTFBENCH_OBJECTS =  \
+       $(OBJS)\printfbench_dummy.o \
+       $(OBJS)\printfbench_printfbench.o
 
 ### Conditionally set variables: ###
 
@@ -56,23 +157,112 @@ endif
 ifeq ($(SHARED),1)
 WXDLLFLAG = dll
 endif
+ifeq ($(SHARED),0)
+LIBTYPE_SUFFIX = lib
+endif
+ifeq ($(SHARED),1)
+LIBTYPE_SUFFIX = dll
+endif
+ifeq ($(MONOLITHIC),0)
+EXTRALIBS_FOR_BASE = 
+endif
+ifeq ($(MONOLITHIC),1)
+EXTRALIBS_FOR_BASE =  
+endif
+ifeq ($(USE_GUI),1)
+__test_gui___depname = $(OBJS)\test_gui.exe
+endif
+ifeq ($(WXUNIV),1)
+__WXUNIV_DEFINE_p_3 = --define __WXUNIVERSAL__
+endif
 ifeq ($(BUILD),debug)
-__OPTIMIZEFLAG_2 = -O0
+ifeq ($(DEBUG_FLAG),default)
+__DEBUG_DEFINE_p_3 = --define __WXDEBUG__
 endif
-ifeq ($(BUILD),release)
-__OPTIMIZEFLAG_2 = -O2
+endif
+ifeq ($(DEBUG_FLAG),1)
+__DEBUG_DEFINE_p_3 = --define __WXDEBUG__
 endif
 ifeq ($(USE_EXCEPTIONS),0)
-__EXCEPTIONSFLAG_4 = -fno-rtti
+__EXCEPTIONS_DEFINE_p_3 = --define wxNO_EXCEPTIONS
 endif
-ifeq ($(USE_EXCEPTIONS),1)
-__EXCEPTIONSFLAG_4 = 
+ifeq ($(USE_RTTI),0)
+__RTTI_DEFINE_p_3 = --define wxNO_RTTI
+endif
+ifeq ($(USE_THREADS),0)
+__THREAD_DEFINE_p_3 = --define wxNO_THREADS
+endif
+ifeq ($(UNICODE),0)
+__UNICODE_DEFINE_p_3 = --define wxUSE_UNICODE=0
+endif
+ifeq ($(UNICODE),1)
+__UNICODE_DEFINE_p_3 = --define _UNICODE
+endif
+ifeq ($(MSLU),1)
+__MSLU_DEFINE_p_3 = --define wxUSE_UNICODE_MSLU=1
+endif
+ifeq ($(USE_GDIPLUS),1)
+__GFXCTX_DEFINE_p_3 = --define wxUSE_GRAPHICS_CONTEXT=1
+endif
+ifeq ($(SHARED),1)
+__DLLFLAG_p_3 = --define WXUSINGDLL
+endif
+ifeq ($(MONOLITHIC),0)
+ifeq ($(USE_MEDIA),1)
+__WXLIB_MEDIA_p = \
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media
+endif
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_XRC_p = \
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_ADV_p = \
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_HTML_p = \
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_CORE_p = \
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core
+endif
+ifeq ($(USE_GUI),1)
+__LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
+endif
+ifeq ($(USE_GUI),1)
+__LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)
+endif
+ifeq ($(USE_GUI),1)
+__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_NET_p = \
+       -lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_XML_p = \
+       -lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml
+endif
+ifeq ($(BUILD),debug)
+__OPTIMIZEFLAG = -O0
+endif
+ifeq ($(BUILD),release)
+__OPTIMIZEFLAG = -O2
+endif
+ifeq ($(USE_RTTI),0)
+__RTTIFLAG = -fno-rtti
+endif
+ifeq ($(USE_RTTI),1)
+__RTTIFLAG = 
 endif
 ifeq ($(USE_EXCEPTIONS),0)
-__EXCEPTIONSFLAG_5 = -fno-exceptions
+__EXCEPTIONSFLAG = -fno-exceptions
 endif
 ifeq ($(USE_EXCEPTIONS),1)
-__EXCEPTIONSFLAG_5 = 
+__EXCEPTIONSFLAG = 
 endif
 ifeq ($(WXUNIV),1)
 __WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
@@ -85,36 +275,43 @@ endif
 ifeq ($(DEBUG_FLAG),1)
 __DEBUG_DEFINE_p = -D__WXDEBUG__
 endif
+ifeq ($(USE_EXCEPTIONS),0)
+__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
+endif
+ifeq ($(USE_RTTI),0)
+__RTTI_DEFINE_p = -DwxNO_RTTI
+endif
+ifeq ($(USE_THREADS),0)
+__THREAD_DEFINE_p = -DwxNO_THREADS
+endif
+ifeq ($(UNICODE),0)
+__UNICODE_DEFINE_p = -DwxUSE_UNICODE=0
+endif
 ifeq ($(UNICODE),1)
 __UNICODE_DEFINE_p = -D_UNICODE
 endif
+ifeq ($(MSLU),1)
+__MSLU_DEFINE_p = -DwxUSE_UNICODE_MSLU=1
+endif
+ifeq ($(USE_GDIPLUS),1)
+__GFXCTX_DEFINE_p = -DwxUSE_GRAPHICS_CONTEXT=1
+endif
 ifeq ($(SHARED),1)
 __DLLFLAG_p = -DWXUSINGDLL
 endif
 ifeq ($(MONOLITHIC),0)
-__WXLIB_BASE_p = -lwxbase25$(WXUNICODEFLAG)$(WXDEBUGFLAG)
+__WXLIB_BASE_p = \
+       -lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
 endif
 ifeq ($(MONOLITHIC),1)
 __WXLIB_MONO_p = \
-       -lwx$(PORTNAME)$(WXUNIVNAME)25$(WXUNICODEFLAG)$(WXDEBUGFLAG)
-endif
-ifeq ($(USE_GUI),1)
-__LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
-endif
-ifeq ($(USE_GUI),1)
-__LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)
-endif
-ifeq ($(USE_GUI),1)
-__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
 endif
 ifeq ($(MSLU),1)
 __UNICOWS_LIB_p = -lunicows
 endif
-ifeq ($(SHARED),0)
-LIBDIRNAME = .\..\lib\gcc_lib$(CFG)
-endif
-ifeq ($(SHARED),1)
-LIBDIRNAME = .\..\lib\gcc_dll$(CFG)
+ifeq ($(USE_GDIPLUS),1)
+__GDIPLUS_LIB_p = -lgdiplus
 endif
 ifeq ($(BUILD),debug)
 ifeq ($(DEBUG_INFO),default)
@@ -132,6 +329,12 @@ endif
 ifeq ($(DEBUG_INFO),1)
 __DEBUGINFO = -g
 endif
+ifeq ($(USE_THREADS),0)
+__THREADSFLAG = 
+endif
+ifeq ($(USE_THREADS),1)
+__THREADSFLAG = -mthreads
+endif
 
 
 all: $(OBJS)
@@ -140,31 +343,290 @@ $(OBJS):
 
 ### Targets: ###
 
-all: $(OBJS)\test.exe
+all: $(OBJS)\test.exe $(__test_gui___depname) data fr $(OBJS)\printfbench.exe
 
 clean: 
        -if exist $(OBJS)\*.o del $(OBJS)\*.o
+       -if exist $(OBJS)\*.d del $(OBJS)\*.d
        -if exist $(OBJS)\test.exe del $(OBJS)\test.exe
+       -if exist $(OBJS)\test_gui.exe del $(OBJS)\test_gui.exe
+       -if exist $(OBJS)\printfbench.exe del $(OBJS)\printfbench.exe
 
 $(OBJS)\test.exe: $(TEST_OBJECTS)
-       $(CXX) -o $@ $(TEST_OBJECTS) $(LDFLAGS) $(__DEBUGINFO) -mthreads -L$(LIBDIRNAME)  $(CPPUNIT_LIBS)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG)  -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG)  $(__UNICOWS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32
+       $(CXX) -o $@ $(TEST_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME)  $(CPPUNIT_LIBS) $(LDFLAGS)  $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_XML_p)  $(__WXLIB_MONO_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet
 
-$(OBJS)\test_test.o: ./test.cpp
-       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $<
+ifeq ($(USE_GUI),1)
+$(OBJS)\test_gui.exe: $(TEST_GUI_OBJECTS) $(OBJS)\test_gui_sample_rc.o
+       $(CXX) -o $@ $(TEST_GUI_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(CPPUNIT_LIBS)  $(LDFLAGS)  $(__WXLIB_MEDIA_p)  $(__WXLIB_XRC_p)  $(__WXLIB_XML_p)  $(__WXLIB_ADV_p)  $(__WXLIB_HTML_p)  $(__WXLIB_CORE_p)  $(__WXLIB_NET_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) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet
+endif
+
+data: 
+       if not exist $(OBJS) mkdir $(OBJS)
+       for %%f in (testdata.fc) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS)
 
-$(OBJS)\test_main.o: ./mbconv/main.cpp
-       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $<
+fr: 
+       if not exist $(OBJS)\intl\fr mkdir $(OBJS)\intl\fr
+       for %%f in (internat.po internat.mo) do if not exist $(OBJS)\intl\fr\%%f copy .\intl\fr\%%f $(OBJS)\intl\fr
 
-$(OBJS)\test_formatconverter.o: ./formatconverter/formatconverter.cpp
-       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $<
+$(OBJS)\printfbench.exe: $(PRINTFBENCH_OBJECTS)
+       $(CXX) -o $@ $(PRINTFBENCH_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME)  $(CPPUNIT_LIBS) $(LDFLAGS)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet
 
-$(OBJS)\test_regex.o: ./regex/regex.cpp
-       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $<
+$(OBJS)\test_dummy.o: ./dummy.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_test.o: ./test.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\test_filesys.o: ./filesys/filesys.cpp
-       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $<
+$(OBJS)\test_archivetest.o: ./archive/archivetest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_ziptest.o: ./archive/ziptest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_tartest.o: ./archive/tartest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\test_arrays.o: ./arrays/arrays.cpp
-       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $<
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_base64.o: ./base64/base64.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_cmdlinetest.o: ./cmdline/cmdlinetest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_fileconf.o: ./config/fileconf.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_datetimetest.o: ./datetime/datetimetest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_timertest.o: ./events/timertest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_filekind.o: ./filekind/filekind.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_filenametest.o: ./filename/filenametest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_filesystest.o: ./filesys/filesystest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_fontmaptest.o: ./fontmap/fontmaptest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_formatconvertertest.o: ./formatconverter/formatconvertertest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_hashes.o: ./hashes/hashes.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_intltest.o: ./intl/intltest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_lists.o: ./lists/lists.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_longlongtest.o: ./longlong/longlongtest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_convautotest.o: ./mbconv/convautotest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_mbconvtest.o: ./mbconv/mbconvtest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_misctests.o: ./misc/misctests.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_ipc.o: ./net/ipc.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_socket.o: ./net/socket.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_regextest.o: ./regex/regextest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_wxregextest.o: ./regex/wxregextest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_scopeguardtest.o: ./scopeguard/scopeguardtest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_iostream.o: ./strings/iostream.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_strings.o: ./strings/strings.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_stdstrings.o: ./strings/stdstrings.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_tokenizer.o: ./strings/tokenizer.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_unichar.o: ./strings/unichar.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_unicode.o: ./strings/unicode.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_vararg.o: ./strings/vararg.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_crt.o: ./strings/crt.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_vsnprintf.o: ./strings/vsnprintf.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_bstream.o: ./streams/bstream.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_datastreamtest.o: ./streams/datastreamtest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_ffilestream.o: ./streams/ffilestream.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_fileback.o: ./streams/fileback.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_filestream.o: ./streams/filestream.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_iostreams.o: ./streams/iostreams.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_largefile.o: ./streams/largefile.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_memstream.o: ./streams/memstream.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_socketstream.o: ./streams/socketstream.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_sstream.o: ./streams/sstream.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_tempfile.o: ./streams/tempfile.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_textstreamtest.o: ./streams/textstreamtest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_zlibstream.o: ./streams/zlibstream.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_textfiletest.o: ./textfile/textfiletest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_atomic.o: ./thread/atomic.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_queue.o: ./thread/queue.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_tls.o: ./thread/tls.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_uris.o: ./uris/uris.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_vectors.o: ./vectors/vectors.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_evtconnection.o: ./weakref/evtconnection.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_weakref.o: ./weakref/weakref.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_xlocale.o: ./xlocale/xlocale.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_xmltest.o: ./xml/xmltest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_sample_rc.o: ./../samples/sample.rc
+       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 --include-dir . $(__DLLFLAG_p_3) --include-dir ./../samples --define NOPCH
+
+$(OBJS)\test_gui_dummy.o: ./dummy.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_test.o: ./test.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_rect.o: ./geometry/rect.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_size.o: ./geometry/size.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_point.o: ./geometry/point.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_config.o: ./config/config.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_comboboxtest.o: ./controls/comboboxtest.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_headerctrltest.o: ./controls/headerctrltest.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_listctrltest.o: ./controls/listctrltest.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_textctrltest.o: ./controls/textctrltest.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_textentrytest.o: ./controls/textentrytest.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_treectrltest.o: ./controls/treectrltest.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_propagation.o: ./events/propagation.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_rawbmp.o: ./image/rawbmp.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_htmlwindow.o: ./html/htmlwindow.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_guifuncs.o: ./misc/guifuncs.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_selstoretest.o: ./misc/selstoretest.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_garbage.o: ./misc/garbage.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_socket.o: ./net/socket.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_clientsize.o: ./window/clientsize.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\test_gui_setsize.o: ./window/setsize.cpp
+       $(CXX) -c -o $@ $(TEST_GUI_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\printfbench_dummy.o: ./dummy.cpp
+       $(CXX) -c -o $@ $(PRINTFBENCH_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\printfbench_printfbench.o: ./benchmarks/printfbench.cpp
+       $(CXX) -c -o $@ $(PRINTFBENCH_CXXFLAGS) $(CPPDEPS) $<
+
+.PHONY: all clean data fr
+
+
+SHELL := $(COMSPEC)
 
-.PHONY: all clean
+# Dependencies tracking:
+-include $(OBJS)/*.d