Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lintest/myrulib.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKandrashin Denis <mail@lintest.ru>2009-11-07 13:26:11 +0300
committerKandrashin Denis <mail@lintest.ru>2009-11-07 13:26:11 +0300
commit095bd893b99fc2d729615e273af7aff4db7ec7b4 (patch)
tree33d93b5ae3573f3b979eb44227e7a29a3942f567
parent77bd8cc3f822647d7bd0744ae24865eacf82ffc2 (diff)
Version 0.120.12
-rw-r--r--GNUmakefile10
-rw-r--r--MyRuLib/FbBookMenu.cpp2
-rw-r--r--MyRuLib/FbBookPanel.cpp99
-rw-r--r--MyRuLib/FbDataPath.cpp73
-rw-r--r--MyRuLib/FbDataPath.h20
-rw-r--r--MyRuLib/FbDatabase.cpp1
-rw-r--r--MyRuLib/FbDownloader.cpp3
-rw-r--r--MyRuLib/FbFrameDownld.cpp31
-rw-r--r--MyRuLib/FbFrameDownld.h2
-rw-r--r--MyRuLib/FbMainMenu.cpp2
-rw-r--r--MyRuLib/FbParams.cpp1
-rw-r--r--MyRuLib/FbUpdateThread.cpp65
-rw-r--r--MyRuLib/FbUpdateThread.h32
-rw-r--r--MyRuLib/MyRuLib.cbp84
-rw-r--r--MyRuLib/MyRuLibApp.cpp62
-rw-r--r--MyRuLib/MyRuLibApp.h12
-rw-r--r--MyRuLib/SettingsDlg.cpp2
-rw-r--r--MyRuLib/ZipReader.cpp3
-rw-r--r--makefile.gcc868
-rw-r--r--myrulib.bkl2
20 files changed, 731 insertions, 643 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 5643d4ee..803b1e70 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,6 +1,6 @@
# =========================================================================
# This makefile was generated by
-# Bakefile 0.2.6 (http://www.bakefile.org)
+# Bakefile 0.2.8 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
@@ -97,6 +97,7 @@ MYRULIB_OBJECTS = \
build/myrulib_FbConst.o \
build/myrulib_FbDatabase.o \
build/myrulib_FbDataOpenDlg.o \
+ build/myrulib_FbDataPath.o \
build/myrulib_FbDownloader.o \
build/myrulib_FbFrameAuthor.o \
build/myrulib_FbFrameBase.o \
@@ -114,6 +115,7 @@ MYRULIB_OBJECTS = \
build/myrulib_FbManager.o \
build/myrulib_FbParams.o \
build/myrulib_FbTreeListCtrl.o \
+ build/myrulib_FbUpdateThread.o \
build/myrulib_ImpContext.o \
build/myrulib_ImpThread.o \
build/myrulib_InfoCash.o \
@@ -246,6 +248,9 @@ build/myrulib_FbDatabase.o: ./MyRuLib/FbDatabase.cpp
build/myrulib_FbDataOpenDlg.o: ./MyRuLib/FbDataOpenDlg.cpp
$(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+build/myrulib_FbDataPath.o: ./MyRuLib/FbDataPath.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
build/myrulib_FbDownloader.o: ./MyRuLib/FbDownloader.cpp
$(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
@@ -297,6 +302,9 @@ build/myrulib_FbParams.o: ./MyRuLib/FbParams.cpp
build/myrulib_FbTreeListCtrl.o: ./MyRuLib/FbTreeListCtrl.cpp
$(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+build/myrulib_FbUpdateThread.o: ./MyRuLib/FbUpdateThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
build/myrulib_ImpContext.o: ./MyRuLib/ImpContext.cpp
$(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
diff --git a/MyRuLib/FbBookMenu.cpp b/MyRuLib/FbBookMenu.cpp
index baa8f451..738beff3 100644
--- a/MyRuLib/FbBookMenu.cpp
+++ b/MyRuLib/FbBookMenu.cpp
@@ -35,7 +35,7 @@ FbBookMenu::FbBookMenu(int id, int iFolder, int iType)
Append(ID_OPEN_BOOK, _("Открыть книгу\tEnter"));
if (iType == FT_DOWNLOAD) {
Append(ID_DELETE_DOWNLOAD, _("Удалить закачку"));
- if (iFolder == -2) Append(ID_DOWNLOAD_BOOK, _("Скачать повторно"));
+ if (iFolder < 0) Append(ID_DOWNLOAD_BOOK, _("Скачать повторно"));
} else {
Append(ID_DOWNLOAD_BOOK, _("Скачать файл"));
}
diff --git a/MyRuLib/FbBookPanel.cpp b/MyRuLib/FbBookPanel.cpp
index dcb23e98..7d646be1 100644
--- a/MyRuLib/FbBookPanel.cpp
+++ b/MyRuLib/FbBookPanel.cpp
@@ -6,6 +6,7 @@
#include "FbBookMenu.h"
#include "MyRuLibApp.h"
#include "FbDownloader.h"
+#include "FbUpdateThread.h"
BEGIN_EVENT_TABLE(FbBookPanel, wxSplitterWindow)
EVT_MENU(ID_BOOKINFO_UPDATE, FbBookPanel::OnInfoUpdate)
@@ -221,97 +222,6 @@ void FbBookPanel::OnOpenBook(wxCommandEvent & event)
if (data) FbManager::OpenBook(data->GetId(), data->file_type);
}
-class FbFolderUpdateThread: public wxThread
-{
- public:
- FbFolderUpdateThread(const wxString &sql, const int folder, const FbFolderType type, const wxString &sql2 = wxEmptyString)
- :m_sql(sql), m_folder(folder), m_type(type), m_sql2(sql2) {};
- protected:
- static wxCriticalSection sm_queue;
- virtual void ExecSQL(FbDatabase &database, const wxString &sql);
- void * Entry();
- wxString m_sql;
- int m_folder;
- FbFolderType m_type;
- wxString m_sql2;
-};
-
-class FbCreateDownloadThread: public FbFolderUpdateThread
-{
- public:
- FbCreateDownloadThread(const wxString &sql, const int folder, const FbFolderType type, const wxString &sql2 = wxEmptyString)
- :FbFolderUpdateThread(sql, folder, type, sql2) {};
- protected:
- void * Entry();
-};
-
-wxCriticalSection FbFolderUpdateThread::sm_queue;
-
-void * FbFolderUpdateThread::Entry()
-{
- wxCriticalSectionLocker locker(sm_queue);
-
- FbCommonDatabase database;
- database.AttachConfig();
-
- ExecSQL(database, m_sql);
- if (!m_sql2.IsEmpty()) ExecSQL(database, m_sql2);
-
- FbFolderEvent(ID_UPDATE_FOLDER, m_folder, m_type).Post();
-
- return NULL;
-}
-
-void FbFolderUpdateThread::ExecSQL(FbDatabase &database, const wxString &sql)
-{
- try {
- database.ExecuteUpdate(sql);
- } catch (wxSQLite3Exception & e) {
- wxLogError(e.GetMessage());
- }
-}
-
-
-class FbIncrementFunction : public wxSQLite3ScalarFunction
-{
- public:
- FbIncrementFunction(): m_increment(0) {};
- virtual void Execute(wxSQLite3FunctionContext& ctx);
- private:
- int m_increment;
-};
-
-void FbIncrementFunction::Execute(wxSQLite3FunctionContext& ctx)
-{
- int argCount = ctx.GetArgCount();
- if (argCount != 1) {
- ctx.SetResultError(wxString::Format(_("INCREMENT called with wrong number of arguments: %d."), argCount));
- return;
- }
-
- m_increment++;
- int id = ctx.GetInt(0);
- id += m_increment;
- ctx.SetResult(id);
-}
-
-void * FbCreateDownloadThread::Entry()
-{
- wxCriticalSectionLocker locker(sm_queue);
-
- FbCommonDatabase database;
- FbIncrementFunction function;
- database.CreateFunction(wxT("INCREMENT"), 1, function);
- database.AttachConfig();
-
- ExecSQL(database, m_sql);
- if (!m_sql2.IsEmpty()) ExecSQL(database, m_sql2);
-
- FbFolderEvent(ID_UPDATE_FOLDER, m_folder, m_type).Post();
-
- return NULL;
-}
-
void FbBookPanel::OnFavoritesAdd(wxCommandEvent & event)
{
DoFolderAdd( 0 );
@@ -330,7 +240,7 @@ void FbBookPanel::DoFolderAdd(const int folder)
SELECT DISTINCT %d, md5sum FROM books WHERE id IN (%s) \
"), folder, sel.c_str());
- wxThread * thread = new FbFolderUpdateThread( sql, folder, FT_FOLDER );
+ wxThread * thread = new FbUpdateThread( sql, folder, FT_FOLDER );
if ( thread->Create() == wxTHREAD_NO_ERROR ) thread->Run();
}
@@ -392,7 +302,7 @@ void FbBookPanel::OnChangeRating(wxCommandEvent& event)
AND NOT EXISTS (SELECT rating FROM states WHERE states.md5sum = books.md5sum) \
"), iRating, sel.c_str());
- wxThread * thread = new FbFolderUpdateThread( sql1, iRating, FT_RATING, sql2 );
+ wxThread * thread = new FbUpdateThread( sql1, iRating, FT_RATING, sql2 );
if ( thread->Create() == wxTHREAD_NO_ERROR ) thread->Run();
}
@@ -403,7 +313,7 @@ void FbBookPanel::DoDeleteDownload(const wxString &sel, const int folder)
(SELECT DISTINCT md5sum FROM books WHERE id>0 AND id IN (%s)) \
"), folder, sel.c_str());
- wxThread * thread = new FbFolderUpdateThread( sql1, folder, FT_DOWNLOAD );
+ wxThread * thread = new FbUpdateThread( sql1, folder, FT_DOWNLOAD );
if ( thread->Create() == wxTHREAD_NO_ERROR ) thread->Run();
}
@@ -585,3 +495,4 @@ void FbBookPanel::OnSystemDownload(wxCommandEvent & event)
wxLaunchDefaultBrowser(url);
}
}
+
diff --git a/MyRuLib/FbDataPath.cpp b/MyRuLib/FbDataPath.cpp
new file mode 100644
index 00000000..19ce6c50
--- /dev/null
+++ b/MyRuLib/FbDataPath.cpp
@@ -0,0 +1,73 @@
+#include "FbDataPath.h"
+#include "MyRuLibApp.h"
+#include "FbParams.h"
+
+wxString FbStandardPaths::GetUserConfigDir() const
+{
+#if defined(__WIN32__)
+ wxString result = wxStandardPaths::GetUserConfigDir();
+#else
+ wxString result = wxStandardPaths::GetUserConfigDir() + wxT("/.config/");
+#endif
+
+ if (!wxFileName::DirExists(result)) wxFileName::Mkdir(result);
+
+ result = AppendAppName(result);
+ if (!wxFileName::DirExists(result)) wxFileName::Mkdir(result);
+
+ return result;
+}
+
+wxString FbStandardPaths::GetAppFileName() const
+{
+ if (wxGetApp().argc) {
+ return wxString(wxGetApp().argv[0]);
+ } else {
+ return wxGetApp().GetAppName();
+ }
+}
+
+wxString FbStandardPaths::GetDataFile() const
+{
+ wxFileName filename = GetDatabaseFilename();
+ filename.Normalize();
+ return filename.GetFullPath();
+}
+
+wxFileName FbStandardPaths::GetDatabaseFilename() const
+{
+ wxFileName filename = GetAppFileName();
+ filename.SetExt(wxT("db"));
+
+ if (wxGetApp().argc > 1) {
+ wxString arg = wxGetApp().argv[1];
+ if (wxFileName::DirExists(arg)) {
+ wxFileName filename = wxGetApp().GetAppName() + wxT(".db");
+ filename.SetPath(arg);
+ return filename;
+ }
+ return wxFileName(arg);
+ }
+
+ if (filename.FileExists()) return filename;
+
+ filename.SetPath(GetUserConfigDir());
+ return filename;
+}
+
+wxString FbStandardPaths::GetConfigFile() const
+{
+ wxFileName filename = GetAppFileName();
+ filename.SetExt(wxT("cfg"));
+ filename.SetPath(GetUserConfigDir());
+ filename.Normalize();
+ return filename.GetFullPath();
+}
+
+wxString FbStandardPaths::GetDownloadDir(bool bMustExist) const
+{
+ wxString path = FbParams::GetText(FB_DOWNLOAD_DIR);
+ if ( bMustExist && !wxFileName::DirExists(path))
+ wxFileName::Mkdir(path, 0777, wxPATH_MKDIR_FULL);
+ return path;
+}
diff --git a/MyRuLib/FbDataPath.h b/MyRuLib/FbDataPath.h
new file mode 100644
index 00000000..05acc4b4
--- /dev/null
+++ b/MyRuLib/FbDataPath.h
@@ -0,0 +1,20 @@
+#ifndef __FBDATAPATH_H__
+#define __FBDATAPATH_H__
+
+#include <wx/wx.h>
+#include <wx/filename.h>
+#include <wx/stdpaths.h>
+
+class FbStandardPaths: public wxStandardPaths
+{
+ public:
+ virtual wxString GetDataFile() const;
+ virtual wxString GetConfigFile() const;
+ virtual wxString GetAppFileName() const;
+ virtual wxString GetUserConfigDir() const;
+ virtual wxString GetDownloadDir(bool bMustExist = false) const;
+ private:
+ wxFileName GetDatabaseFilename() const;
+};
+
+#endif // __FBDATAPATH_H__
diff --git a/MyRuLib/FbDatabase.cpp b/MyRuLib/FbDatabase.cpp
index 86635ade..7ac1ed96 100644
--- a/MyRuLib/FbDatabase.cpp
+++ b/MyRuLib/FbDatabase.cpp
@@ -1,6 +1,7 @@
#include "FbDatabase.h"
#include "FbConst.h"
#include "MyRuLibApp.h"
+#include "FbDataPath.h"
wxCriticalSection FbDatabase::sm_queue;
diff --git a/MyRuLib/FbDownloader.cpp b/MyRuLib/FbDownloader.cpp
index 2af92211..d9c01273 100644
--- a/MyRuLib/FbDownloader.cpp
+++ b/MyRuLib/FbDownloader.cpp
@@ -10,6 +10,7 @@
#include <wx/filename.h>
#include <wx/wfstream.h>
#include <wx/zipstrm.h>
+#include "FbDataPath.h"
class FbInternetBook
{
@@ -163,7 +164,7 @@ void FbInternetBook::SaveFile(const bool success)
{
if (success) {
wxFileName zipname = m_md5sum + (m_zipped ? wxT(".zip") : wxEmptyString);
- zipname.SetPath( FbStandardPaths().GetUserConfigDir() );
+ zipname.SetPath( FbStandardPaths().GetDownloadDir(true) );
wxRenameFile(m_filename, zipname.GetFullPath(), true);
} else {
wxRemoveFile(m_filename);
diff --git a/MyRuLib/FbFrameDownld.cpp b/MyRuLib/FbFrameDownld.cpp
index 97b49f38..79c405d3 100644
--- a/MyRuLib/FbFrameDownld.cpp
+++ b/MyRuLib/FbFrameDownld.cpp
@@ -7,12 +7,15 @@
#include "FbManager.h"
#include "FbFrameBaseThread.h"
#include "FbDownloader.h"
+#include "FbUpdateThread.h"
#include "res/start.xpm"
#include "res/pause.xpm"
BEGIN_EVENT_TABLE(FbFrameDownld, FbFrameBase)
EVT_MENU(ID_START, FbFrameDownld::OnStart)
EVT_MENU(ID_PAUSE, FbFrameDownld::OnPause)
+ EVT_MENU(wxID_UP, FbFrameDownld::OnMoveUp)
+ EVT_MENU(wxID_DOWN, FbFrameDownld::OnMoveDown)
EVT_TREE_SEL_CHANGED(ID_MASTER_LIST, FbFrameDownld::OnFolderSelected)
END_EVENT_TABLE()
@@ -195,3 +198,31 @@ void FbFrameDownld::OnPause(wxCommandEvent & event)
{
FbDownloader::Pause();
}
+
+void FbFrameDownld::OnMoveUp(wxCommandEvent& event)
+{
+ wxString sel = m_BooksPanel.m_BookList->GetSelected();
+ if (sel.IsEmpty()) return;
+
+ wxString sql1 = wxString::Format(wxT("\
+ UPDATE states SET download=download+1 WHERE download>0 AND md5sum NOT IN \
+ (SELECT DISTINCT md5sum FROM books WHERE id IN (%s)) \
+ "), sel.c_str());
+
+ wxThread * thread = new FbUpdateThread( sql1, 1, FT_DOWNLOAD );
+ if ( thread->Create() == wxTHREAD_NO_ERROR ) thread->Run();
+}
+
+void FbFrameDownld::OnMoveDown(wxCommandEvent& event)
+{
+ wxString sel = m_BooksPanel.m_BookList->GetSelected();
+ if (sel.IsEmpty()) return;
+
+ wxString sql1 = wxString::Format(wxT("\
+ UPDATE states SET download=download+1 WHERE download>0 AND md5sum IN \
+ (SELECT DISTINCT md5sum FROM books WHERE id IN (%s)) \
+ "), sel.c_str());
+
+ wxThread * thread = new FbUpdateThread( sql1, 1, FT_DOWNLOAD );
+ if ( thread->Create() == wxTHREAD_NO_ERROR ) thread->Run();
+}
diff --git a/MyRuLib/FbFrameDownld.h b/MyRuLib/FbFrameDownld.h
index d49c39a9..529248ba 100644
--- a/MyRuLib/FbFrameDownld.h
+++ b/MyRuLib/FbFrameDownld.h
@@ -40,6 +40,8 @@ private:
void OnStart(wxCommandEvent & event);
void OnPause(wxCommandEvent & event);
void OnFolderSelected(wxTreeEvent & event);
+ void OnMoveUp(wxCommandEvent& event);
+ void OnMoveDown(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
};
diff --git a/MyRuLib/FbMainMenu.cpp b/MyRuLib/FbMainMenu.cpp
index abb9fb21..b262c2b2 100644
--- a/MyRuLib/FbMainMenu.cpp
+++ b/MyRuLib/FbMainMenu.cpp
@@ -17,7 +17,7 @@ FbMenuBar::MenuFrame::MenuFrame()
FbMenuBar::MenuLib::MenuLib()
{
- Append(ID_MENU_DB_OPEN, _("Открыть (создать) коллекцию"));
+// Append(ID_MENU_DB_OPEN, _("Открыть (создать) коллекцию"));
Append(ID_MENU_DB_INFO, _("Информация о коллекции"));
Append(ID_MENU_VACUUM, _("Реструктуризация БД"));
AppendSeparator();
diff --git a/MyRuLib/FbParams.cpp b/MyRuLib/FbParams.cpp
index 70f7adcc..bb3f5c67 100644
--- a/MyRuLib/FbParams.cpp
+++ b/MyRuLib/FbParams.cpp
@@ -2,6 +2,7 @@
#include <wx/filename.h>
#include "FbParams.h"
#include "MyRuLibApp.h"
+#include "FbDataPath.h"
WX_DEFINE_OBJARRAY(ParamArray);
diff --git a/MyRuLib/FbUpdateThread.cpp b/MyRuLib/FbUpdateThread.cpp
new file mode 100644
index 00000000..0f2fa65a
--- /dev/null
+++ b/MyRuLib/FbUpdateThread.cpp
@@ -0,0 +1,65 @@
+#include "FbUpdateThread.h"
+#include "FbConst.h"
+
+
+wxCriticalSection FbUpdateThread::sm_queue;
+
+void * FbUpdateThread::Entry()
+{
+ wxCriticalSectionLocker locker(sm_queue);
+
+ FbCommonDatabase database;
+ database.AttachConfig();
+
+ ExecSQL(database, m_sql);
+ if (!m_sql2.IsEmpty()) ExecSQL(database, m_sql2);
+
+ FbFolderEvent(ID_UPDATE_FOLDER, m_folder, m_type).Post();
+
+ return NULL;
+}
+
+void FbUpdateThread::ExecSQL(FbDatabase &database, const wxString &sql)
+{
+ try {
+ database.ExecuteUpdate(sql);
+ } catch (wxSQLite3Exception & e) {
+ wxLogError(e.GetMessage());
+ }
+}
+
+
+class FbIncrementFunction : public wxSQLite3ScalarFunction
+{
+ public:
+ FbIncrementFunction(): m_increment(0) {};
+ virtual void Execute(wxSQLite3FunctionContext& ctx);
+ private:
+ int m_increment;
+};
+
+void FbIncrementFunction::Execute(wxSQLite3FunctionContext& ctx)
+{
+ int id = ctx.GetArgCount()>0 ? ctx.GetInt(0) : 0;
+ m_increment++;
+ id += m_increment;
+ ctx.SetResult(id);
+}
+
+void * FbCreateDownloadThread::Entry()
+{
+ wxCriticalSectionLocker locker(sm_queue);
+
+ FbCommonDatabase database;
+ FbIncrementFunction function;
+ database.CreateFunction(wxT("INCREMENT"), 1, function);
+ database.AttachConfig();
+
+ ExecSQL(database, m_sql);
+ if (!m_sql2.IsEmpty()) ExecSQL(database, m_sql2);
+
+ FbFolderEvent(ID_UPDATE_FOLDER, m_folder, m_type).Post();
+
+ return NULL;
+}
+
diff --git a/MyRuLib/FbUpdateThread.h b/MyRuLib/FbUpdateThread.h
new file mode 100644
index 00000000..bc102891
--- /dev/null
+++ b/MyRuLib/FbUpdateThread.h
@@ -0,0 +1,32 @@
+#ifndef __FBUPDATETHREAD_H__
+#define __FBUPDATETHREAD_H__
+
+#include <wx/wx.h>
+#include "FbBookEvent.h"
+#include "FbDatabase.h"
+
+class FbUpdateThread: public wxThread
+{
+ public:
+ FbUpdateThread(const wxString &sql, const int folder, const FbFolderType type, const wxString &sql2 = wxEmptyString)
+ :m_sql(sql), m_folder(folder), m_type(type), m_sql2(sql2) {};
+ protected:
+ static wxCriticalSection sm_queue;
+ void ExecSQL(FbDatabase &database, const wxString &sql);
+ virtual void * Entry();
+ wxString m_sql;
+ int m_folder;
+ FbFolderType m_type;
+ wxString m_sql2;
+};
+
+class FbCreateDownloadThread: public FbUpdateThread
+{
+ public:
+ FbCreateDownloadThread(const wxString &sql, const int folder, const FbFolderType type, const wxString &sql2 = wxEmptyString)
+ :FbUpdateThread(sql, folder, type, sql2) {};
+ protected:
+ virtual void * Entry();
+};
+
+#endif // __FBUPDATETHREAD_H__
diff --git a/MyRuLib/MyRuLib.cbp b/MyRuLib/MyRuLib.cbp
index 6a490d91..b943003d 100644
--- a/MyRuLib/MyRuLib.cbp
+++ b/MyRuLib/MyRuLib.cbp
@@ -8,9 +8,9 @@
<Build>
<Target title="LinDebug">
<Option platforms="Unix;" />
- <Option output="..\build\LinDebug\myrulib" prefix_auto="1" extension_auto="1" />
- <Option working_dir="..\build\LinDebug\" />
- <Option object_output="..\build\LinDebug\" />
+ <Option output="../build/LinDebug/myrulib" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="../build/LinDebug/" />
+ <Option object_output="../build/LinDebug/" />
<Option type="0" />
<Option compiler="gcc" />
<Option projectLinkerOptionsRelation="2" />
@@ -21,14 +21,14 @@
</Compiler>
<Linker>
<Add option="`wx-config --libs`" />
- <Add directory="..\build\LinDebug" />
+ <Add directory="../build/LinDebug" />
</Linker>
</Target>
<Target title="LinRelease">
<Option platforms="Unix;" />
- <Option output="..\build\LinRelease\myrulib" prefix_auto="1" extension_auto="1" />
- <Option working_dir="..\build\LinRelease\" />
- <Option object_output="..\build\LinRelease\" />
+ <Option output="../build/LinRelease/myrulib" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="../build/LinRelease/" />
+ <Option object_output="../build/LinRelease/" />
<Option type="0" />
<Option compiler="gcc" />
<Option projectLinkerOptionsRelation="2" />
@@ -40,14 +40,14 @@
<Linker>
<Add option="-s" />
<Add option="`wx-config --libs`" />
- <Add directory="..\build\LinRelease" />
+ <Add directory="../build/LinRelease" />
</Linker>
</Target>
<Target title="WinDebug">
<Option platforms="Windows;" />
- <Option output="..\build\WinDebug\myrulib" prefix_auto="1" extension_auto="1" />
- <Option working_dir="..\build\WinDebug\" />
- <Option object_output="..\build\WinDebug\" />
+ <Option output="../build/WinDebug/myrulib" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="../build/WinDebug/" />
+ <Option object_output="../build/WinDebug/" />
<Option type="0" />
<Option compiler="gcc" />
<Compiler>
@@ -58,13 +58,13 @@
<Add option="-D__GNUWIN32__" />
<Add option="-D__WXMSW__" />
<Add option="-DwxUSE_UNICODE" />
- <Add directory="$(WXWIN)\lib\gcc_lib\mswud" />
- <Add directory="$(WXWIN)\include" />
- <Add directory="$(WXWIN)\contrib\include" />
+ <Add directory="$(WXWIN)/lib/gcc_lib/mswud" />
+ <Add directory="$(WXWIN)/include" />
+ <Add directory="$(WXWIN)/contrib/include" />
</Compiler>
<ResourceCompiler>
- <Add directory="$(WXWIN)\lib\gcc_lib\mswud" />
- <Add directory="$(WXWIN)\include" />
+ <Add directory="$(WXWIN)/lib/gcc_lib/mswud" />
+ <Add directory="$(WXWIN)/include" />
</ResourceCompiler>
<Linker>
<Add library="libwxmsw28u_aui.a" />
@@ -93,15 +93,15 @@
<Add library="liboleaut32.a" />
<Add library="libuuid.a" />
<Add library="libshlwapi.a" />
- <Add directory="$(WXWIN)\lib\gcc_lib" />
- <Add directory="..\build\WinDebug\" />
+ <Add directory="$(WXWIN)/lib/gcc_lib" />
+ <Add directory="../build/WinDebug/" />
</Linker>
</Target>
<Target title="WinRelease">
<Option platforms="Windows;" />
- <Option output="..\build\WinRelease\myrulib" prefix_auto="1" extension_auto="1" />
- <Option working_dir="..\build\WinRelease\" />
- <Option object_output="..\build\WinRelease\" />
+ <Option output="../build/WinRelease/myrulib" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="../build/WinRelease/" />
+ <Option object_output="../build/WinRelease/" />
<Option type="0" />
<Option compiler="gcc" />
<Compiler>
@@ -112,13 +112,13 @@
<Add option="-D__GNUWIN32__" />
<Add option="-D__WXMSW__" />
<Add option="-DwxUSE_UNICODE" />
- <Add directory="$(WXWIN)\lib\gcc_lib\mswu" />
- <Add directory="$(WXWIN)\include" />
- <Add directory="$(WXWIN)\contrib\include" />
+ <Add directory="$(WXWIN)/lib/gcc_lib/mswu" />
+ <Add directory="$(WXWIN)/include" />
+ <Add directory="$(WXWIN)/contrib/include" />
</Compiler>
<ResourceCompiler>
- <Add directory="$(WXWIN)\lib\gcc_lib\mswu" />
- <Add directory="$(WXWIN)\include" />
+ <Add directory="$(WXWIN)/lib/gcc_lib/mswu" />
+ <Add directory="$(WXWIN)/include" />
</ResourceCompiler>
<Linker>
<Add option="-s" />
@@ -148,16 +148,16 @@
<Add library="liboleaut32.a" />
<Add library="libuuid.a" />
<Add library="libshlwapi.a" />
- <Add directory="$(WXWIN)\lib\gcc_lib" />
- <Add directory="..\build\WinRelease\" />
+ <Add directory="$(WXWIN)/lib/gcc_lib" />
+ <Add directory="../build/WinRelease/" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-DDONT_USE_DATABASE_LAYER_EXCEPTIONS" />
- <Add directory="..\SQLite3" />
- <Add directory="..\Expat" />
- <Add directory="..\WxSQLite3" />
+ <Add directory="../SQLite3" />
+ <Add directory="../Expat" />
+ <Add directory="../WxSQLite3" />
</Compiler>
<Linker>
<Add option="`wx-config --libs`" />
@@ -195,6 +195,8 @@
<Unit filename="FbConst.h" />
<Unit filename="FbDataOpenDlg.cpp" />
<Unit filename="FbDataOpenDlg.h" />
+ <Unit filename="FbDataPath.cpp" />
+ <Unit filename="FbDataPath.h" />
<Unit filename="FbDatabase.cpp" />
<Unit filename="FbDatabase.h" />
<Unit filename="FbDownloader.cpp" />
@@ -233,6 +235,8 @@
<Unit filename="FbParams.h" />
<Unit filename="FbTreeListCtrl.cpp" />
<Unit filename="FbTreeListCtrl.h" />
+ <Unit filename="FbUpdateThread.cpp" />
+ <Unit filename="FbUpdateThread.h" />
<Unit filename="ImpContext.cpp" />
<Unit filename="ImpContext.h" />
<Unit filename="ImpThread.cpp" />
@@ -261,19 +265,19 @@
<Unit filename="md5.c">
<Option compilerVar="CC" />
</Unit>
- <Unit filename="res\checked.xpm" />
- <Unit filename="res\checkout.xpm" />
- <Unit filename="res\nocheck.xpm" />
- <Unit filename="res\resource.rc">
+ <Unit filename="res/checked.xpm" />
+ <Unit filename="res/checkout.xpm" />
+ <Unit filename="res/nocheck.xpm" />
+ <Unit filename="res/resource.rc">
<Option compilerVar="WINDRES" />
<Option target="WinDebug" />
<Option target="WinRelease" />
</Unit>
- <Unit filename="sha1\sha1.h" />
- <Unit filename="wx\base64.cpp" />
- <Unit filename="wx\base64.h" />
- <Unit filename="wx\treelistctrl.cpp" />
- <Unit filename="wx\treelistctrl.h" />
+ <Unit filename="sha1/sha1.h" />
+ <Unit filename="wx/base64.cpp" />
+ <Unit filename="wx/base64.h" />
+ <Unit filename="wx/treelistctrl.cpp" />
+ <Unit filename="wx/treelistctrl.h" />
<Extensions>
<code_completion />
<debugger />
diff --git a/MyRuLib/MyRuLibApp.cpp b/MyRuLib/MyRuLibApp.cpp
index 854e3a9d..93d082c1 100644
--- a/MyRuLib/MyRuLibApp.cpp
+++ b/MyRuLib/MyRuLibApp.cpp
@@ -11,6 +11,7 @@
#include <wx/image.h>
#include <wx/fs_mem.h>
#include "MyRuLibApp.h"
+#include "FbDataPath.h"
#include "FbMainFrame.h"
#include "FbLogStream.h"
#include "FbParams.h"
@@ -63,64 +64,3 @@ bool MyRuLibApp::ConnectToDatabase()
return true;
}
-wxString FbStandardPaths::GetUserConfigDir() const
-{
-#if defined(__WIN32__)
- wxString result = wxStandardPaths::GetUserConfigDir();
-#else
- wxString result = wxStandardPaths::GetUserConfigDir() + wxT("/.config/");
-#endif
-
- if (!wxFileName::DirExists(result)) wxFileName::Mkdir(result);
-
- result = AppendAppName(result);
- if (!wxFileName::DirExists(result)) wxFileName::Mkdir(result);
-
- return result;
-}
-
-wxString FbStandardPaths::GetAppFileName() const
-{
- if (wxGetApp().argc) {
- return wxString(wxGetApp().argv[0]);
- } else {
- return wxGetApp().GetAppName();
- }
-}
-
-wxString FbStandardPaths::GetDataFile() const
-{
- wxFileName filename = GetDatabaseFilename();
- filename.Normalize();
- return filename.GetFullPath();
-}
-
-wxFileName FbStandardPaths::GetDatabaseFilename() const
-{
- wxFileName filename = GetAppFileName();
- filename.SetExt(wxT("db"));
-
- if (wxGetApp().argc > 1) {
- wxString arg = wxGetApp().argv[1];
- if (wxFileName::DirExists(arg)) {
- wxFileName filename = wxGetApp().GetAppName() + wxT(".db");
- filename.SetPath(arg);
- return filename;
- }
- return wxFileName(arg);
- }
-
- if (filename.FileExists()) return filename;
-
- filename.SetPath(GetUserConfigDir());
- return filename;
-}
-
-wxString FbStandardPaths::GetConfigFile() const
-{
- wxFileName filename = GetAppFileName();
- filename.SetExt(wxT("cfg"));
- filename.SetPath(GetUserConfigDir());
- filename.Normalize();
- return filename.GetFullPath();
-}
diff --git a/MyRuLib/MyRuLibApp.h b/MyRuLib/MyRuLibApp.h
index fd0f1ab5..50a4fb8b 100644
--- a/MyRuLib/MyRuLibApp.h
+++ b/MyRuLib/MyRuLibApp.h
@@ -13,20 +13,8 @@
#include <wx/wx.h>
#include <wx/thread.h>
#include <wx/filename.h>
-#include <wx/stdpaths.h>
#include "FbDatabase.h"
-class FbStandardPaths: public wxStandardPaths
-{
- public:
- virtual wxString GetDataFile() const;
- virtual wxString GetConfigFile() const;
- virtual wxString GetAppFileName() const;
- virtual wxString GetUserConfigDir() const;
- private:
- wxFileName GetDatabaseFilename() const;
-};
-
class MyRuLibApp : public wxApp
{
public:
diff --git a/MyRuLib/SettingsDlg.cpp b/MyRuLib/SettingsDlg.cpp
index 621ae6f1..d988360a 100644
--- a/MyRuLib/SettingsDlg.cpp
+++ b/MyRuLib/SettingsDlg.cpp
@@ -136,7 +136,7 @@ SettingsDlg::SettingsDlg( wxWindow* parent, wxWindowID id, const wxString& title
m_staticText6 = new wxStaticText( m_panel1, wxID_ANY, _("Папка для хранения скачиваемых файлов:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText6->Wrap( -1 );
- bSizer2->Add( m_staticText6, 0, wxTOP|wxLEFT|wxBOTTOM|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+ bSizer2->Add( m_staticText6, 0, wxTOP|wxLEFT|wxRIGHT|wxEXPAND, 5 );
wxBoxSizer* bSizer14 = new wxBoxSizer( wxHORIZONTAL );
diff --git a/MyRuLib/ZipReader.cpp b/MyRuLib/ZipReader.cpp
index d8268df2..f9477c4e 100644
--- a/MyRuLib/ZipReader.cpp
+++ b/MyRuLib/ZipReader.cpp
@@ -9,6 +9,7 @@
#include "BookExtractInfo.h"
#include "FbDatabase.h"
#include "MyRuLibApp.h"
+#include "FbDataPath.h"
class ZipThread : public BaseThread
{
@@ -120,7 +121,7 @@ void ZipReader::OpenDownload(FbDatabase &database)
}
wxFileName zip_file = md5sum;
- zip_file.SetPath( FbStandardPaths().GetUserConfigDir() );
+ zip_file.SetPath( FbStandardPaths().GetDownloadDir() );
m_zipOk = zip_file.FileExists();
if (m_zipOk) {
m_file = new wxFFileInputStream(zip_file.GetFullPath());
diff --git a/makefile.gcc b/makefile.gcc
index ae9e5024..ed43def0 100644
--- a/makefile.gcc
+++ b/makefile.gcc
@@ -1,430 +1,438 @@
-# =========================================================================
-# This makefile was generated by
-# Bakefile 0.2.6 (http://www.bakefile.org)
-# Do not modify, all changes will be overwritten!
-# =========================================================================
-
-
-
-# -------------------------------------------------------------------------
-# These are configurable options:
-# -------------------------------------------------------------------------
-
-# C compiler
-CC = gcc
-
-# C++ compiler
-CXX = g++
-
-# Standard flags for CC
-CFLAGS ?=
-
-# Standard flags for C++
-CXXFLAGS ?=
-
-# Standard preprocessor flags (common for CC and CXX)
-CPPFLAGS ?=
-
-# Standard linker flags
-LDFLAGS ?= -static
-
-# Use DLL build of wx library? [0,1]
-WX_SHARED ?= 0
-
-# Use Unicode build of wxWidgets? [0,1]
-WX_UNICODE ?= 1
-
-# Use debug build of wxWidgets (define __WXDEBUG__)? [0,1]
-WX_DEBUG ?= 0
-
-# Version of the wx library to build against.
-WX_VERSION ?= 28
-
-# Use monolithic build of wxWidgets? [0,1]
-WX_MONOLITHIC ?= 0
-
-# The directory where wxWidgets library is installed
-WX_DIR ?= $(WXWIN)
-
-
-
-# -------------------------------------------------------------------------
-# Do not modify the rest of this file!
-# -------------------------------------------------------------------------
-
-### Variables: ###
-
-CPPDEPS = -MT$@ -MF$@.d -MD -MP
-EXPAT_STATIC_CFLAGS = -DHAVE_W32API_H $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \
- $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
- -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include \
- -DHAVE_EXPAT_CONFIG_H -IExpat $(CPPFLAGS) $(CFLAGS)
-EXPAT_STATIC_OBJECTS = \
- build\expat_static_xmlparse.o \
- build\expat_static_xmlrole.o \
- build\expat_static_xmltok.o \
- build\expat_static_xmltok_impl.o \
- build\expat_static_xmltok_ns.o
-SQLITE3_STATIC_CFLAGS = -DHAVE_W32API_H $(____WX_SHARED) \
- $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
- -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include $(CPPFLAGS) \
- $(CFLAGS)
-SQLITE3_STATIC_OBJECTS = \
- build\sqlite3_static_sqlite3.o
-WXSQLITE3_STATIC_CXXFLAGS = -DHAVE_W32API_H $(____WX_SHARED) \
- $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
- -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include -ISQLite3 \
- -IWxSQLite3 -IWxSQLite3 $(CPPFLAGS) $(CXXFLAGS)
-WXSQLITE3_STATIC_OBJECTS = \
- build\wxsqlite3_static_wxsqlite3.o
-MYRULIB_CFLAGS = -DHAVE_W32API_H $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \
- $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
- -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include \
- -DXML_STATIC -IWxSQLite3 -IExpat -ISQLite3 -O2 $(CPPFLAGS) $(CFLAGS)
-MYRULIB_CXXFLAGS = -DHAVE_W32API_H $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \
- $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
- -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include \
- -DXML_STATIC -IWxSQLite3 -IExpat -ISQLite3 -O2 $(CPPFLAGS) $(CXXFLAGS)
-MYRULIB_OBJECTS = \
- build\myrulib_BaseThread.o \
- build\myrulib_BookExtractInfo.o \
- build\myrulib_ExpThread.o \
- build\myrulib_ExternalDlg.o \
- build\myrulib_FbAboutDlg.o \
- build\myrulib_FbAuthorList.o \
- build\myrulib_FbBookData.o \
- build\myrulib_FbBookEvent.o \
- build\myrulib_FbBookList.o \
- build\myrulib_FbBookMenu.o \
- build\myrulib_FbBookPanel.o \
- build\myrulib_FbBookThread.o \
- build\myrulib_FbConfigDlg.o \
- build\myrulib_FbConst.o \
- build\myrulib_FbDatabase.o \
- build\myrulib_FbDataOpenDlg.o \
- build\myrulib_FbDownloader.o \
- build\myrulib_FbFrameAuthor.o \
- build\myrulib_FbFrameBase.o \
- build\myrulib_FbFrameBaseThread.o \
- build\myrulib_FbFrameDownld.o \
- build\myrulib_FbFrameFolder.o \
- build\myrulib_FbFrameInfo.o \
- build\myrulib_FbFrameHtml.o \
- build\myrulib_FbFrameGenres.o \
- build\myrulib_FbFrameSearch.o \
- build\myrulib_FbGenres.o \
- build\myrulib_FbLogStream.o \
- build\myrulib_FbMainFrame.o \
- build\myrulib_FbMainMenu.o \
- build\myrulib_FbManager.o \
- build\myrulib_FbParams.o \
- build\myrulib_FbTreeListCtrl.o \
- build\myrulib_ImpContext.o \
- build\myrulib_ImpThread.o \
- build\myrulib_InfoCash.o \
- build\myrulib_InfoThread.o \
- build\myrulib_LimitedTextCtrl.o \
- build\myrulib_MyRuLibApp.o \
- build\myrulib_ParseCtx.o \
- build\myrulib_ProgressBar.o \
- build\myrulib_SettingsDlg.o \
- build\myrulib_TitleThread.o \
- build\myrulib_VacuumThread.o \
- build\myrulib_ZipReader.o \
- build\myrulib_md5.o \
- build\myrulib_base64.o \
- build\myrulib_treelistctrl.o \
- build\myrulib_resource_rc.o
-
-### Conditionally set variables: ###
-
-ifeq ($(WX_DEBUG),1)
-WX3RDPARTYLIBPOSTFIX = d
-endif
-ifeq ($(WX_SHARED),0)
-____WX_SHARED_3_p_1 =
-endif
-ifeq ($(WX_SHARED),1)
-____WX_SHARED_3_p_1 = --define WXUSINGDLL
-endif
-ifeq ($(WX_UNICODE),1)
-__WXUNICODE_DEFINE_p_4 = --define _UNICODE
-endif
-ifeq ($(WX_DEBUG),1)
-__WXDEBUG_DEFINE_p_4 = --define __WXDEBUG__
-endif
-ifeq ($(WX_MONOLITHIC),0)
-__WXLIB_AUI_NAME_p = -lwxmsw$(WX_VERSION)$(WXLIBPOSTFIX)_aui
-endif
-ifeq ($(WX_MONOLITHIC),0)
-__WXLIB_HTML_NAME_p = -lwxmsw$(WX_VERSION)$(WXLIBPOSTFIX)_html
-endif
-ifeq ($(WX_MONOLITHIC),0)
-__WXLIB_CORE_NAME_p = -lwxmsw$(WX_VERSION)$(WXLIBPOSTFIX)_core
-endif
-ifeq ($(WX_MONOLITHIC),0)
-__WXLIB_NET_NAME_p = -lwxbase$(WX_VERSION)$(WXLIBPOSTFIX)_net
-endif
-ifeq ($(WX_MONOLITHIC),0)
-__WXLIB_BASE_NAME_p = -lwxbase$(WX_VERSION)$(WXLIBPOSTFIX)
-endif
-ifeq ($(WX_MONOLITHIC),1)
-__WXLIB_BASE_NAME_p = -lwxmsw$(WX_VERSION)$(WXLIBPOSTFIX)
-endif
-ifeq ($(WX_SHARED),0)
-____WX_SHARED =
-endif
-ifeq ($(WX_SHARED),1)
-____WX_SHARED = -DWXUSINGDLL
-endif
-ifeq ($(WX_UNICODE),1)
-__WXUNICODE_DEFINE_p = -D_UNICODE
-endif
-ifeq ($(WX_DEBUG),1)
-__WXDEBUG_DEFINE_p = -D__WXDEBUG__
-endif
-ifeq ($(WX_DEBUG),0)
-ifeq ($(WX_UNICODE),1)
-WXLIBPOSTFIX = u
-endif
-endif
-ifeq ($(WX_DEBUG),1)
-ifeq ($(WX_UNICODE),0)
-WXLIBPOSTFIX = d
-endif
-endif
-ifeq ($(WX_DEBUG),1)
-ifeq ($(WX_UNICODE),1)
-WXLIBPOSTFIX = ud
-endif
-endif
-ifeq ($(WX_SHARED),0)
-WXLIBPATH = \lib\gcc_lib
-endif
-ifeq ($(WX_SHARED),1)
-WXLIBPATH = \lib\gcc_dll
-endif
-
-
-all: build
-build:
- -if not exist build mkdir build
-
-### Targets: ###
-
-all: test_for_selected_wxbuild build\libexpat_static.a build\libsqlite3_static.a build\libwxsqlite3_static.a build\myrulib.exe
-
-clean:
- -if exist build\*.o del build\*.o
- -if exist build\*.d del build\*.d
- -if exist build\libexpat_static.a del build\libexpat_static.a
- -if exist build\libsqlite3_static.a del build\libsqlite3_static.a
- -if exist build\libwxsqlite3_static.a del build\libwxsqlite3_static.a
- -if exist build\myrulib.exe del build\myrulib.exe
-
-test_for_selected_wxbuild:
- @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
- echo ----------------------------------------------------------------------------
- @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
- echo The selected wxWidgets build is not available!
- @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
- echo Please use the options prefixed with WX_ to select another wxWidgets build.
- @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
- echo ----------------------------------------------------------------------------
- @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
- exit 1
-
-build\libexpat_static.a: $(EXPAT_STATIC_OBJECTS)
- if exist $@ del $@
- ar rcu $@ $(EXPAT_STATIC_OBJECTS)
- ranlib $@
-
-build\libsqlite3_static.a: $(SQLITE3_STATIC_OBJECTS)
- if exist $@ del $@
- ar rcu $@ $(SQLITE3_STATIC_OBJECTS)
- ranlib $@
-
-build\libwxsqlite3_static.a: $(WXSQLITE3_STATIC_OBJECTS)
- if exist $@ del $@
- ar rcu $@ $(WXSQLITE3_STATIC_OBJECTS)
- ranlib $@
-
-build\myrulib.exe: $(MYRULIB_OBJECTS) build\libwxsqlite3_static.a build\myrulib_resource_rc.o build\libexpat_static.a build\libsqlite3_static.a
- $(CXX) -o $@ $(MYRULIB_OBJECTS) -L$(WX_DIR)$(WXLIBPATH) -Wl,--subsystem,windows -mwindows $(LDFLAGS) build\libwxsqlite3_static.a build\libexpat_static.a build\libsqlite3_static.a $(__WXLIB_AUI_NAME_p) $(__WXLIB_HTML_NAME_p) $(__WXLIB_CORE_NAME_p) $(__WXLIB_NET_NAME_p) $(__WXLIB_BASE_NAME_p) -lwxtiff$(WX3RDPARTYLIBPOSTFIX) -lwxjpeg$(WX3RDPARTYLIBPOSTFIX) -lwxpng$(WX3RDPARTYLIBPOSTFIX) -lwxzlib$(WX3RDPARTYLIBPOSTFIX) -lwxregex$(WXLIBPOSTFIX) -lwxexpat$(WX3RDPARTYLIBPOSTFIX) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32
- strip ./build/myrulib.exe
-
-build\expat_static_xmlparse.o: ./Expat/xmlparse.c
- $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
-
-build\expat_static_xmlrole.o: ./Expat/xmlrole.c
- $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
-
-build\expat_static_xmltok.o: ./Expat/xmltok.c
- $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
-
-build\expat_static_xmltok_impl.o: ./Expat/xmltok_impl.c
- $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
-
-build\expat_static_xmltok_ns.o: ./Expat/xmltok_ns.c
- $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
-
-build\sqlite3_static_sqlite3.o: ./SQLite3/sqlite3.c
- $(CC) -c -o $@ $(SQLITE3_STATIC_CFLAGS) $(CPPDEPS) $<
-
-build\wxsqlite3_static_wxsqlite3.o: ./WxSQLite3/wxsqlite3.cpp
- $(CXX) -c -o $@ $(WXSQLITE3_STATIC_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_BaseThread.o: ./MyRuLib/BaseThread.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_BookExtractInfo.o: ./MyRuLib/BookExtractInfo.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_ExpThread.o: ./MyRuLib/ExpThread.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_ExternalDlg.o: ./MyRuLib/ExternalDlg.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbAboutDlg.o: ./MyRuLib/FbAboutDlg.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbAuthorList.o: ./MyRuLib/FbAuthorList.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbBookData.o: ./MyRuLib/FbBookData.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbBookEvent.o: ./MyRuLib/FbBookEvent.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbBookList.o: ./MyRuLib/FbBookList.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbBookMenu.o: ./MyRuLib/FbBookMenu.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbBookPanel.o: ./MyRuLib/FbBookPanel.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbBookThread.o: ./MyRuLib/FbBookThread.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbConfigDlg.o: ./MyRuLib/FbConfigDlg.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbConst.o: ./MyRuLib/FbConst.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbDatabase.o: ./MyRuLib/FbDatabase.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbDataOpenDlg.o: ./MyRuLib/FbDataOpenDlg.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbDownloader.o: ./MyRuLib/FbDownloader.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbFrameAuthor.o: ./MyRuLib/FbFrameAuthor.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbFrameBase.o: ./MyRuLib/FbFrameBase.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbFrameBaseThread.o: ./MyRuLib/FbFrameBaseThread.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbFrameDownld.o: ./MyRuLib/FbFrameDownld.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbFrameFolder.o: ./MyRuLib/FbFrameFolder.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbFrameInfo.o: ./MyRuLib/FbFrameInfo.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbFrameHtml.o: ./MyRuLib/FbFrameHtml.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbFrameGenres.o: ./MyRuLib/FbFrameGenres.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbFrameSearch.o: ./MyRuLib/FbFrameSearch.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbGenres.o: ./MyRuLib/FbGenres.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbLogStream.o: ./MyRuLib/FbLogStream.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbMainFrame.o: ./MyRuLib/FbMainFrame.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbMainMenu.o: ./MyRuLib/FbMainMenu.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbManager.o: ./MyRuLib/FbManager.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbParams.o: ./MyRuLib/FbParams.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_FbTreeListCtrl.o: ./MyRuLib/FbTreeListCtrl.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_ImpContext.o: ./MyRuLib/ImpContext.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_ImpThread.o: ./MyRuLib/ImpThread.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_InfoCash.o: ./MyRuLib/InfoCash.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_InfoThread.o: ./MyRuLib/InfoThread.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_LimitedTextCtrl.o: ./MyRuLib/LimitedTextCtrl.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_MyRuLibApp.o: ./MyRuLib/MyRuLibApp.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_ParseCtx.o: ./MyRuLib/ParseCtx.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_ProgressBar.o: ./MyRuLib/ProgressBar.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_SettingsDlg.o: ./MyRuLib/SettingsDlg.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_TitleThread.o: ./MyRuLib/TitleThread.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_VacuumThread.o: ./MyRuLib/VacuumThread.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_ZipReader.o: ./MyRuLib/ZipReader.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_md5.o: ./MyRuLib/md5.c
- $(CC) -c -o $@ $(MYRULIB_CFLAGS) $(CPPDEPS) $<
-
-build\myrulib_base64.o: ./MyRuLib/wx/base64.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_treelistctrl.o: ./MyRuLib/wx/treelistctrl.cpp
- $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
-
-build\myrulib_resource_rc.o: ./MyRuLib/res/resource.rc
- windres --use-temp-file -i$< -o$@ --define HAVE_W32API_H $(____WX_SHARED_3_p_1) $(__WXUNICODE_DEFINE_p_4) $(__WXDEBUG_DEFINE_p_4) --define __WXMSW__ --include-dir $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) --include-dir $(WX_DIR)/include --define XML_STATIC --include-dir WxSQLite3 --include-dir Expat --include-dir SQLite3
-
-.PHONY: all clean
-
-
-SHELL := $(COMSPEC)
-
-# Dependencies tracking:
--include build/*.d
+# =========================================================================
+# This makefile was generated by
+# Bakefile 0.2.8 (http://www.bakefile.org)
+# Do not modify, all changes will be overwritten!
+# =========================================================================
+
+
+
+# -------------------------------------------------------------------------
+# These are configurable options:
+# -------------------------------------------------------------------------
+
+# C compiler
+CC = gcc
+
+# C++ compiler
+CXX = g++
+
+# Standard flags for CC
+CFLAGS ?=
+
+# Standard flags for C++
+CXXFLAGS ?=
+
+# Standard preprocessor flags (common for CC and CXX)
+CPPFLAGS ?=
+
+# Standard linker flags
+LDFLAGS ?= -static
+
+# Use DLL build of wx library? [0,1]
+WX_SHARED ?= 0
+
+# Use Unicode build of wxWidgets? [0,1]
+WX_UNICODE ?= 1
+
+# Use debug build of wxWidgets (define __WXDEBUG__)? [0,1]
+WX_DEBUG ?= 0
+
+# Version of the wx library to build against.
+WX_VERSION ?= 28
+
+# Use monolithic build of wxWidgets? [0,1]
+WX_MONOLITHIC ?= 0
+
+# The directory where wxWidgets library is installed
+WX_DIR ?= $(WXWIN)
+
+
+
+# -------------------------------------------------------------------------
+# Do not modify the rest of this file!
+# -------------------------------------------------------------------------
+
+### Variables: ###
+
+CPPDEPS = -MT$@ -MF$@.d -MD -MP
+EXPAT_STATIC_CFLAGS = -DHAVE_W32API_H $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \
+ $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
+ -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include \
+ -DHAVE_EXPAT_CONFIG_H -IExpat $(CPPFLAGS) $(CFLAGS)
+EXPAT_STATIC_OBJECTS = \
+ build\expat_static_xmlparse.o \
+ build\expat_static_xmlrole.o \
+ build\expat_static_xmltok.o \
+ build\expat_static_xmltok_impl.o \
+ build\expat_static_xmltok_ns.o
+SQLITE3_STATIC_CFLAGS = -DHAVE_W32API_H $(____WX_SHARED) \
+ $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
+ -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include $(CPPFLAGS) \
+ $(CFLAGS)
+SQLITE3_STATIC_OBJECTS = \
+ build\sqlite3_static_sqlite3.o
+WXSQLITE3_STATIC_CXXFLAGS = -DHAVE_W32API_H $(____WX_SHARED) \
+ $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
+ -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include -ISQLite3 \
+ -IWxSQLite3 -IWxSQLite3 $(CPPFLAGS) $(CXXFLAGS)
+WXSQLITE3_STATIC_OBJECTS = \
+ build\wxsqlite3_static_wxsqlite3.o
+MYRULIB_CFLAGS = -DHAVE_W32API_H $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \
+ $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
+ -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include \
+ -DXML_STATIC -IWxSQLite3 -IExpat -ISQLite3 -O2 $(CPPFLAGS) $(CFLAGS)
+MYRULIB_CXXFLAGS = -DHAVE_W32API_H $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \
+ $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \
+ -I$(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) -I$(WX_DIR)\include \
+ -DXML_STATIC -IWxSQLite3 -IExpat -ISQLite3 -O2 $(CPPFLAGS) $(CXXFLAGS)
+MYRULIB_OBJECTS = \
+ build\myrulib_BaseThread.o \
+ build\myrulib_BookExtractInfo.o \
+ build\myrulib_ExpThread.o \
+ build\myrulib_ExternalDlg.o \
+ build\myrulib_FbAboutDlg.o \
+ build\myrulib_FbAuthorList.o \
+ build\myrulib_FbBookData.o \
+ build\myrulib_FbBookEvent.o \
+ build\myrulib_FbBookList.o \
+ build\myrulib_FbBookMenu.o \
+ build\myrulib_FbBookPanel.o \
+ build\myrulib_FbBookThread.o \
+ build\myrulib_FbConfigDlg.o \
+ build\myrulib_FbConst.o \
+ build\myrulib_FbDatabase.o \
+ build\myrulib_FbDataOpenDlg.o \
+ build\myrulib_FbDataPath.o \
+ build\myrulib_FbDownloader.o \
+ build\myrulib_FbFrameAuthor.o \
+ build\myrulib_FbFrameBase.o \
+ build\myrulib_FbFrameBaseThread.o \
+ build\myrulib_FbFrameDownld.o \
+ build\myrulib_FbFrameFolder.o \
+ build\myrulib_FbFrameInfo.o \
+ build\myrulib_FbFrameHtml.o \
+ build\myrulib_FbFrameGenres.o \
+ build\myrulib_FbFrameSearch.o \
+ build\myrulib_FbGenres.o \
+ build\myrulib_FbLogStream.o \
+ build\myrulib_FbMainFrame.o \
+ build\myrulib_FbMainMenu.o \
+ build\myrulib_FbManager.o \
+ build\myrulib_FbParams.o \
+ build\myrulib_FbTreeListCtrl.o \
+ build\myrulib_FbUpdateThread.o \
+ build\myrulib_ImpContext.o \
+ build\myrulib_ImpThread.o \
+ build\myrulib_InfoCash.o \
+ build\myrulib_InfoThread.o \
+ build\myrulib_LimitedTextCtrl.o \
+ build\myrulib_MyRuLibApp.o \
+ build\myrulib_ParseCtx.o \
+ build\myrulib_ProgressBar.o \
+ build\myrulib_SettingsDlg.o \
+ build\myrulib_TitleThread.o \
+ build\myrulib_VacuumThread.o \
+ build\myrulib_ZipReader.o \
+ build\myrulib_md5.o \
+ build\myrulib_base64.o \
+ build\myrulib_treelistctrl.o \
+ build\myrulib_resource_rc.o
+
+### Conditionally set variables: ###
+
+ifeq ($(WX_DEBUG),1)
+WX3RDPARTYLIBPOSTFIX = d
+endif
+ifeq ($(WX_SHARED),0)
+____WX_SHARED_3_p_1 =
+endif
+ifeq ($(WX_SHARED),1)
+____WX_SHARED_3_p_1 = --define WXUSINGDLL
+endif
+ifeq ($(WX_UNICODE),1)
+__WXUNICODE_DEFINE_p_4 = --define _UNICODE
+endif
+ifeq ($(WX_DEBUG),1)
+__WXDEBUG_DEFINE_p_4 = --define __WXDEBUG__
+endif
+ifeq ($(WX_MONOLITHIC),0)
+__WXLIB_AUI_NAME_p = -lwxmsw$(WX_VERSION)$(WXLIBPOSTFIX)_aui
+endif
+ifeq ($(WX_MONOLITHIC),0)
+__WXLIB_HTML_NAME_p = -lwxmsw$(WX_VERSION)$(WXLIBPOSTFIX)_html
+endif
+ifeq ($(WX_MONOLITHIC),0)
+__WXLIB_CORE_NAME_p = -lwxmsw$(WX_VERSION)$(WXLIBPOSTFIX)_core
+endif
+ifeq ($(WX_MONOLITHIC),0)
+__WXLIB_NET_NAME_p = -lwxbase$(WX_VERSION)$(WXLIBPOSTFIX)_net
+endif
+ifeq ($(WX_MONOLITHIC),0)
+__WXLIB_BASE_NAME_p = -lwxbase$(WX_VERSION)$(WXLIBPOSTFIX)
+endif
+ifeq ($(WX_MONOLITHIC),1)
+__WXLIB_BASE_NAME_p = -lwxmsw$(WX_VERSION)$(WXLIBPOSTFIX)
+endif
+ifeq ($(WX_SHARED),0)
+____WX_SHARED =
+endif
+ifeq ($(WX_SHARED),1)
+____WX_SHARED = -DWXUSINGDLL
+endif
+ifeq ($(WX_UNICODE),1)
+__WXUNICODE_DEFINE_p = -D_UNICODE
+endif
+ifeq ($(WX_DEBUG),1)
+__WXDEBUG_DEFINE_p = -D__WXDEBUG__
+endif
+ifeq ($(WX_DEBUG),0)
+ifeq ($(WX_UNICODE),1)
+WXLIBPOSTFIX = u
+endif
+endif
+ifeq ($(WX_DEBUG),1)
+ifeq ($(WX_UNICODE),0)
+WXLIBPOSTFIX = d
+endif
+endif
+ifeq ($(WX_DEBUG),1)
+ifeq ($(WX_UNICODE),1)
+WXLIBPOSTFIX = ud
+endif
+endif
+ifeq ($(WX_SHARED),0)
+WXLIBPATH = \lib\gcc_lib
+endif
+ifeq ($(WX_SHARED),1)
+WXLIBPATH = \lib\gcc_dll
+endif
+
+
+all: build
+build:
+ -if not exist build mkdir build
+
+### Targets: ###
+
+all: test_for_selected_wxbuild build\libexpat_static.a build\libsqlite3_static.a build\libwxsqlite3_static.a build\myrulib.exe
+
+clean:
+ -if exist build\*.o del build\*.o
+ -if exist build\*.d del build\*.d
+ -if exist build\libexpat_static.a del build\libexpat_static.a
+ -if exist build\libsqlite3_static.a del build\libsqlite3_static.a
+ -if exist build\libwxsqlite3_static.a del build\libwxsqlite3_static.a
+ -if exist build\myrulib.exe del build\myrulib.exe
+
+test_for_selected_wxbuild:
+ @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
+ echo ----------------------------------------------------------------------------
+ @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
+ echo The selected wxWidgets build is not available!
+ @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
+ echo Please use the options prefixed with WX_ to select another wxWidgets build.
+ @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
+ echo ----------------------------------------------------------------------------
+ @if not exist $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX)\wx\setup.h \
+ exit 1
+
+build\libexpat_static.a: $(EXPAT_STATIC_OBJECTS)
+ if exist $@ del $@
+ ar rcu $@ $(EXPAT_STATIC_OBJECTS)
+ ranlib $@
+
+build\libsqlite3_static.a: $(SQLITE3_STATIC_OBJECTS)
+ if exist $@ del $@
+ ar rcu $@ $(SQLITE3_STATIC_OBJECTS)
+ ranlib $@
+
+build\libwxsqlite3_static.a: $(WXSQLITE3_STATIC_OBJECTS)
+ if exist $@ del $@
+ ar rcu $@ $(WXSQLITE3_STATIC_OBJECTS)
+ ranlib $@
+
+build\myrulib.exe: $(MYRULIB_OBJECTS) build\libwxsqlite3_static.a build\myrulib_resource_rc.o build\libexpat_static.a build\libsqlite3_static.a
+ $(CXX) -o $@ $(MYRULIB_OBJECTS) -L$(WX_DIR)$(WXLIBPATH) -Wl,--subsystem,windows -mwindows $(LDFLAGS) build\libwxsqlite3_static.a build\libexpat_static.a build\libsqlite3_static.a $(__WXLIB_AUI_NAME_p) $(__WXLIB_HTML_NAME_p) $(__WXLIB_CORE_NAME_p) $(__WXLIB_NET_NAME_p) $(__WXLIB_BASE_NAME_p) -lwxtiff$(WX3RDPARTYLIBPOSTFIX) -lwxjpeg$(WX3RDPARTYLIBPOSTFIX) -lwxpng$(WX3RDPARTYLIBPOSTFIX) -lwxzlib$(WX3RDPARTYLIBPOSTFIX) -lwxregex$(WXLIBPOSTFIX) -lwxexpat$(WX3RDPARTYLIBPOSTFIX) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32
+ strip ./build/myrulib.exe
+
+build\expat_static_xmlparse.o: ./Expat/xmlparse.c
+ $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
+
+build\expat_static_xmlrole.o: ./Expat/xmlrole.c
+ $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
+
+build\expat_static_xmltok.o: ./Expat/xmltok.c
+ $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
+
+build\expat_static_xmltok_impl.o: ./Expat/xmltok_impl.c
+ $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
+
+build\expat_static_xmltok_ns.o: ./Expat/xmltok_ns.c
+ $(CC) -c -o $@ $(EXPAT_STATIC_CFLAGS) $(CPPDEPS) $<
+
+build\sqlite3_static_sqlite3.o: ./SQLite3/sqlite3.c
+ $(CC) -c -o $@ $(SQLITE3_STATIC_CFLAGS) $(CPPDEPS) $<
+
+build\wxsqlite3_static_wxsqlite3.o: ./WxSQLite3/wxsqlite3.cpp
+ $(CXX) -c -o $@ $(WXSQLITE3_STATIC_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_BaseThread.o: ./MyRuLib/BaseThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_BookExtractInfo.o: ./MyRuLib/BookExtractInfo.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_ExpThread.o: ./MyRuLib/ExpThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_ExternalDlg.o: ./MyRuLib/ExternalDlg.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbAboutDlg.o: ./MyRuLib/FbAboutDlg.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbAuthorList.o: ./MyRuLib/FbAuthorList.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbBookData.o: ./MyRuLib/FbBookData.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbBookEvent.o: ./MyRuLib/FbBookEvent.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbBookList.o: ./MyRuLib/FbBookList.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbBookMenu.o: ./MyRuLib/FbBookMenu.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbBookPanel.o: ./MyRuLib/FbBookPanel.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbBookThread.o: ./MyRuLib/FbBookThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbConfigDlg.o: ./MyRuLib/FbConfigDlg.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbConst.o: ./MyRuLib/FbConst.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbDatabase.o: ./MyRuLib/FbDatabase.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbDataOpenDlg.o: ./MyRuLib/FbDataOpenDlg.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbDataPath.o: ./MyRuLib/FbDataPath.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbDownloader.o: ./MyRuLib/FbDownloader.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbFrameAuthor.o: ./MyRuLib/FbFrameAuthor.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbFrameBase.o: ./MyRuLib/FbFrameBase.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbFrameBaseThread.o: ./MyRuLib/FbFrameBaseThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbFrameDownld.o: ./MyRuLib/FbFrameDownld.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbFrameFolder.o: ./MyRuLib/FbFrameFolder.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbFrameInfo.o: ./MyRuLib/FbFrameInfo.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbFrameHtml.o: ./MyRuLib/FbFrameHtml.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbFrameGenres.o: ./MyRuLib/FbFrameGenres.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbFrameSearch.o: ./MyRuLib/FbFrameSearch.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbGenres.o: ./MyRuLib/FbGenres.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbLogStream.o: ./MyRuLib/FbLogStream.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbMainFrame.o: ./MyRuLib/FbMainFrame.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbMainMenu.o: ./MyRuLib/FbMainMenu.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbManager.o: ./MyRuLib/FbManager.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbParams.o: ./MyRuLib/FbParams.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbTreeListCtrl.o: ./MyRuLib/FbTreeListCtrl.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_FbUpdateThread.o: ./MyRuLib/FbUpdateThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_ImpContext.o: ./MyRuLib/ImpContext.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_ImpThread.o: ./MyRuLib/ImpThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_InfoCash.o: ./MyRuLib/InfoCash.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_InfoThread.o: ./MyRuLib/InfoThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_LimitedTextCtrl.o: ./MyRuLib/LimitedTextCtrl.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_MyRuLibApp.o: ./MyRuLib/MyRuLibApp.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_ParseCtx.o: ./MyRuLib/ParseCtx.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_ProgressBar.o: ./MyRuLib/ProgressBar.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_SettingsDlg.o: ./MyRuLib/SettingsDlg.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_TitleThread.o: ./MyRuLib/TitleThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_VacuumThread.o: ./MyRuLib/VacuumThread.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_ZipReader.o: ./MyRuLib/ZipReader.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_md5.o: ./MyRuLib/md5.c
+ $(CC) -c -o $@ $(MYRULIB_CFLAGS) $(CPPDEPS) $<
+
+build\myrulib_base64.o: ./MyRuLib/wx/base64.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_treelistctrl.o: ./MyRuLib/wx/treelistctrl.cpp
+ $(CXX) -c -o $@ $(MYRULIB_CXXFLAGS) $(CPPDEPS) $<
+
+build\myrulib_resource_rc.o: ./MyRuLib/res/resource.rc
+ windres --use-temp-file -i$< -o$@ --define HAVE_W32API_H $(____WX_SHARED_3_p_1) $(__WXUNICODE_DEFINE_p_4) $(__WXDEBUG_DEFINE_p_4) --define __WXMSW__ --include-dir $(WX_DIR)$(WXLIBPATH)\msw$(WXLIBPOSTFIX) --include-dir $(WX_DIR)/include --define XML_STATIC --include-dir WxSQLite3 --include-dir Expat --include-dir SQLite3
+
+.PHONY: all clean
+
+
+SHELL := $(COMSPEC)
+
+# Dependencies tracking:
+-include build/*.d
diff --git a/myrulib.bkl b/myrulib.bkl
index 8b205f91..2825857e 100644
--- a/myrulib.bkl
+++ b/myrulib.bkl
@@ -61,6 +61,7 @@
<sources>MyRuLib/FbConst.cpp</sources>
<sources>MyRuLib/FbDatabase.cpp</sources>
<sources>MyRuLib/FbDataOpenDlg.cpp</sources>
+ <sources>MyRuLib/FbDataPath.cpp</sources>
<sources>MyRuLib/FbDownloader.cpp</sources>
<sources>MyRuLib/FbFrameAuthor.cpp</sources>
<sources>MyRuLib/FbFrameBase.cpp</sources>
@@ -78,6 +79,7 @@
<sources>MyRuLib/FbManager.cpp</sources>
<sources>MyRuLib/FbParams.cpp</sources>
<sources>MyRuLib/FbTreeListCtrl.cpp</sources>
+ <sources>MyRuLib/FbUpdateThread.cpp</sources>
<sources>MyRuLib/ImpContext.cpp</sources>
<sources>MyRuLib/ImpThread.cpp</sources>
<sources>MyRuLib/InfoCash.cpp</sources>