summaryrefslogtreecommitdiff
path: root/Makefile
blob: 633f8e4f1af68e846ac57b738c96ff9b6a0a8448 (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
CXX = g++
GIT = git
CXXFLAGS = -Wall -Wextra
SERVER_HDRS = socks5.hpp
SERVER_SRCS = socks5.cpp main.cpp

ifneq ($(ENABLE_SANITIZER),)
CXXFLAGS += -fsanitize=address -fsanitize=leak -fsanitize=undefined
else
ifneq ($(ENABLE_THREAD_SANITIZER),)
CXXFLAGS += -fsanitize=thread -fsanitize=undefined
endif
endif
ifneq ($(DEBUG),)
CXXFLAGS += -g3 #-DBOOST_ASIO_ENABLE_HANDLER_TRACKING=1
else
CXXFLAGS += -O3 -fomit-frame-pointer -flto
endif
ifneq ($(HANDLER_TRACKING),)
CXXFLAGS += -DBOOST_ASIO_ENABLE_HANDLER_TRACKING=1
endif

all: git server

git: boost-asio-fastbuffer/fastbuffer.hpp

boost-asio-fastbuffer/fastbuffer.hpp:
	$(GIT) submodule update --init

server: boost-asio-fastbuffer/fastbuffer.hpp $(SERVER_HDRS) $(SERVER_SRCS)
	$(CXX) $(CXXFLAGS) $(SERVER_SRCS) -o $@

clean:
	rm -f server

distclean: clean
	$(GIT) submodule deinit --all --force

.PHONY: all git clean distclean