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 |   45 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index b57ea21..94e9115 100644
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,41 @@
-CC=clang
-CXX=clang
-CXXFLAGS=-g -Wall -std=c++20
+OS=$(shell uname)
+CXX=g++
+CXXFLAGS=-std=c++20
+DEV=1
+TEST=1
 
-.PHONY: default all
-default: all
+ifeq ($(DEV),1)
+	CXXFLAGS += -Wall -g
+else
+	CXXFLAGS += -O3 -flto
+endif
 
-all: exec
+ifneq ($(OS),Darwin)
+CXXFLAGS += -static
+endif
 
-exec: main.o book.o
-	${CXX} -o $@ $^
+ifeq ($(TEST),1)
+	CXXFLAGS += -DTEST_EXCHANGE
+endif
 
-%: %.cpp %.hpp
-	${CXX} ${CXXFLAGS} -o $@ $^
+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