-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
110 lines (84 loc) · 3.12 KB
/
Copy pathMakefile
File metadata and controls
110 lines (84 loc) · 3.12 KB
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
CXX:=$(shell sh -c 'type $(CXX) >/dev/null 2>/dev/null && echo $(CXX) || echo g++')
MYSQL_C_INC ?= $(shell mysql_config --cflags)
MYSQL_C_LIBS ?= $(shell mysql_config --libs)
GMIME_INCLUDES ?= $(shell pkg-config gmime-2.6 --cflags)
GMIME_LIBS ?= $(shell pkg-config gmime-2.6 --libs)
CLD_INCLUDES = -I/usr/local/include/cld
CLD_LIBS = -lcld2
OPTIMIZATION = -O0
WARNINGS = \
-Wall \
-Wno-sign-compare \
-Wno-deprecated-register \
-Wno-unused-function
DEBUG =-g
STDC = -std=c++1y
LDFLAGS = -lstdc++ -pthread
INCLUDES =
ASIO_STANDALONE_FLAG = -DASIO_STANDALONE
CXXFLAGS = $(OPTIMIZATION) -fPIC -fstack-protector $(CFLAGS) $(WARNINGS) $(DEBUG) $(STDC) -DUSE_CXX0X
STDLIB =
ifeq ($(shell uname -s), FreeBSD)
STDLIB += -stdlib=libc++
LIBXML_INCLUDES =
LIBXML_INCLUDES = -I/usr/local/include/libxml2
FREEBSD_ASIO_INCLUDE ?= -I/raspberry/asio/product/include
INCLUDES += $(FREEBSD_ASIO_INCLUDE)
endif
CXXFLAGS += $(STDLIB)
CFLAGS=-c -Wall
SOURCES = async_daemon.cpp \
HUtils/HStrings.cpp \
HUtils/BTreeStore.cpp \
HUtils/BTreeStoreCPP.cpp \
HUtils/MLocker.cpp \
HUtils/AsyncQueue.cpp \
HUtils/HFiles.cpp \
HUtils/HDaemon.cpp \
HUtils/HNet.cpp \
AsyncEvent/SMTP/AEvConnection.cpp \
AsyncEvent/SMTP/AEvAcceptor.cpp \
AsyncEvent/SMTP/SmtpBuffer.cpp \
AsyncEvent/SMTP/SmtpTypes.cpp \
AsyncEvent/SMTP/IncSmtpState.cpp \
AsyncEvent/SMTP/Modules/BaseMod.cpp \
AsyncEvent/HDFS/AEvHdfs.cpp \
AsyncEvent/HDFS/HdfsBuffer.cpp \
AsyncEvent/HDFS/HdfsUtils.cpp \
AsyncEvent/DNS/DnsBuffer.cpp \
AsyncEvent/DNS/AEvDnsClient.cpp \
AsyncEvent/DNS/DnsUtils.cpp \
AsyncEvent/SysSig/AEvSysSig.cpp \
AsyncEvent/AEvBase/AEventAbstract.cpp \
AsyncEvent/AEvBase/AEventUtilBase.cpp \
AsyncEvent/BufferBase/PBufferAbstract.cpp \
AsyncEvent/BufferBase/BuffAbstract.cpp \
Logger/Logger.cpp \
Config/GlobalConf.cpp
EXECUTABLE = aevdaemon
OBJECTS=$(SOURCES:.cpp=.o)
TESTING_SOURCES = testing.cpp \
HUtils/HStrings.cpp \
HUtils/BTreeStore.cpp \
HUtils/BTreeStoreCPP.cpp \
HUtils/MLocker.cpp \
HUtils/AsyncQueue.cpp \
HUtils/HFiles.cpp \
HUtils/HDaemon.cpp \
HUtils/HNet.cpp \
AsyncEvent/BufferBase/PBufferAbstract.cpp \
AsyncEvent/BufferBase/BuffAbstract.cpp \
Logger/Logger.cpp \
Config/GlobalConf.cpp \
Atomic/AtomicTypes.cpp
TESTING_EXEC = testing
TESTING_OBJ=$(TESTING_SOURCES:.cpp=.o)
all: $(SOURCES) $(EXECUTABLE) $(TESTING_EXEC)
$(EXECUTABLE): $(OBJECTS)
$(CXX) $(LDFLAGS) $(OBJECTS) -o $@
$(TESTING_EXEC): $(TESTING_OBJ)
$(CXX) $(LDFLAGS) $(TESTING_OBJ) -o $@
.cpp.o:
$(CXX) $(ASIO_STANDALONE_FLAG) $(INCLUDES) $(CXXFLAGS) $< -o $@
clean:
rm $(OBJECTS) $(EXECUTABLE) $(TESTING_OBJ) $(TESTING_EXEC)