OS=$(shell uname) 
 | 
CXX=g++ 
 | 
CXXFLAGS=-std=c++20 -DNOSSL 
 | 
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 
 | 
  
 | 
ws=easywsclient/easywsclient.o 
 | 
xml=ftplibpp/ftplib.o 
 | 
main=${ws} ${xml} 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 
 |