|  |  | 
 |  |  | CC=clang | 
 |  |  | CXX=clang | 
 |  |  | CXXFLAGS=-g -Wall -std=c++20 | 
 |  |  | OS=$(shell uname) | 
 |  |  | CXX=g++ | 
 |  |  | CXXFLAGS=-g -Wall --std=c++20 | 
 |  |  |  | 
 |  |  | .PHONY: default all | 
 |  |  | default: all | 
 |  |  | ifneq ($(OS),Darwin) | 
 |  |  | CXXFLAGS += -static | 
 |  |  | endif | 
 |  |  |  | 
 |  |  | all: exec | 
 |  |  | json=json.o | 
 |  |  | ws=easywsclient/easywsclient.o | 
 |  |  | main=${json} ${ws} protocol.o book.o | 
 |  |  |  | 
 |  |  | exec: main.o book.o | 
 |  |  |    ${CXX} -o $@ $^ | 
 |  |  | default: test click bot | 
 |  |  |  | 
 |  |  | %: %.cpp %.hpp | 
 |  |  |    ${CXX} ${CXXFLAGS} -o $@ $^ | 
 |  |  | 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 |