From 353657fa069326a4036f2c9872e420c85f44b4e9 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joel.grunbaum@imc.com>
Date: Wed, 12 Jan 2022 02:25:20 +0000
Subject: [PATCH] Added optimisation and test exchange selection in Makefile

---
 Makefile |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..94e9115
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,41 @@
+OS=$(shell uname)
+CXX=g++
+CXXFLAGS=-std=c++20
+DEV=1
+TEST=1
+
+ifeq ($(DEV),1)
+	CXXFLAGS += -Wall -g
+else
+	CXXFLAGS += -O3 -flto
+endif
+
+ifneq ($(OS),Darwin)
+CXXFLAGS += -static
+endif
+
+ifeq ($(TEST),1)
+	CXXFLAGS += -DTEST_EXCHANGE
+endif
+
+json=json.o
+ws=easywsclient/easywsclient.o
+main=${json} ${ws} protocol.o book.o
+
+default: test click bot
+
+test: test.o strat.o ${main}
+	${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ $^
+
+click: click.o ${main}
+	${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ $^
+
+bot: bot.o strat.o ${main}
+	${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ $^
+
+%.o: %.cpp
+	${CXX} ${CXXFLAGS} -c -o $@ $^
+
+.PHONY: clean
+clean:
+	rm -f ${main} test click bot

--
Gitblit v1.9.3