blob: 8f9e48637532183c16b383488e5cab4a96b22789 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
APPNAME = RealtimeSync
prefix = /usr
BINDIR = $(DESTDIR)$(prefix)/bin
COMMON_COMPILE_FLAGS = -Wall -pipe `pkg-config --cflags gtk+-2.0` -O3 -pthread -DNDEBUG -DwxUSE_UNICODE -DFFS_LINUX -DTIXML_USE_STL -DWXINTL_NO_GETTEXT_MACRO
COMMON_LINK_FLAGS = -O3 -pthread
#default build
FFS_CPPFLAGS = $(COMMON_COMPILE_FLAGS) `wx-config --cxxflags --debug=no --unicode=yes`
LINKFLAGS = $(COMMON_LINK_FLAGS) `wx-config --libs --debug=no --unicode=yes` -lboost_thread
#static build used for precompiled release
ifeq ($(BUILD),release)
FFS_CPPFLAGS = $(COMMON_COMPILE_FLAGS) `wx-config --cxxflags --debug=no --unicode=yes --static=yes`
LINKFLAGS = $(COMMON_LINK_FLAGS) `wx-config --libs --debug=no --unicode=yes --static=yes` /usr/local/lib/libboost_thread.a
endif
FILE_LIST= #internal list of all *.cpp files needed for compilation
FILE_LIST+=application.cpp
FILE_LIST+=gui_generated.cpp
FILE_LIST+=main_dlg.cpp
FILE_LIST+=resources.cpp
FILE_LIST+=tray_menu.cpp
FILE_LIST+=watcher.cpp
FILE_LIST+=xml_proc.cpp
FILE_LIST+=xml_ffs.cpp
FILE_LIST+=../library/process_xml.cpp
FILE_LIST+=../structures.cpp
FILE_LIST+=../shared/util.cpp
FILE_LIST+=../shared/check_exist.cpp
FILE_LIST+=../shared/i18n.cpp
FILE_LIST+=../shared/localization.cpp
FILE_LIST+=../shared/inotify/inotify-cxx.cpp
FILE_LIST+=../shared/tinyxml/tinyxml.cpp
FILE_LIST+=../shared/tinyxml/tinyxmlerror.cpp
FILE_LIST+=../shared/tinyxml/tinyxmlparser.cpp
FILE_LIST+=../shared/global_func.cpp
FILE_LIST+=../shared/last_error.cpp
FILE_LIST+=../shared/dir_name.cpp
FILE_LIST+=../shared/zstring.cpp
FILE_LIST+=../shared/xml_base.cpp
FILE_LIST+=../shared/custom_button.cpp
FILE_LIST+=../shared/file_handling.cpp
FILE_LIST+=../shared/resolve_path.cpp
FILE_LIST+=../shared/file_traverser.cpp
FILE_LIST+=../shared/standard_paths.cpp
FILE_LIST+=../shared/help_provider.cpp
FILE_LIST+=../shared/file_io.cpp
#list of all *.o files
OBJECT_LIST=$(foreach file, $(FILE_LIST), ../OBJ/RTS_Release_GCC_Make/$(subst .cpp,.o,$(notdir $(file))))
#build list of all dependencies
DEP_LIST=$(foreach file, $(FILE_LIST), $(subst .cpp,.dep,$(file)))
all: RealtimeSync
init:
if [ ! -d ../OBJ ]; then mkdir ../OBJ; fi
if [ ! -d ../OBJ/RTS_Release_GCC_Make ]; then mkdir ../OBJ/RTS_Release_GCC_Make; fi
%.dep : %.cpp
#strip path information
g++ $(FFS_CPPFLAGS) -c $< -o ../OBJ/RTS_Release_GCC_Make/$(subst .cpp,.o,$(notdir $<))
RealtimeSync: init $(DEP_LIST)
#respect linker order: wxWidgets libraries last
g++ -o ../BUILD/$(APPNAME) $(OBJECT_LIST) $(LINKFLAGS)
clean:
rm -rf ../OBJ/RTS_Release_GCC_Make
rm -f ../BUILD/$(APPNAME)
install:
if [ ! -d $(BINDIR) ] ; then mkdir -p $(BINDIR); fi
cp ../BUILD/$(APPNAME) $(BINDIR)
|