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 else CXXFLAGS += -I/usr/local/opt/curl/include LDFLAGS += -L/usr/local/opt/curl/lib endif ifeq ($(TEST),1) CXXFLAGS += -DTEST_EXCHANGE endif ws=easywsclient/easywsclient.o main=${ws} json.o bom.o 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