# g++ and clang++ both have pretty garbage errors
CXX=g++
FLAGS=-std=c++17 -g
CXX_FLAGS=$(FLAGS) -c
L_FLAGS=$(FLAGS)
LIBS=-lsodium

bmc_test: bmc_test.o base64.o
	$(CXX) -o $@ $^ $(L_FLAGS) $(LIBS)

bmc_test.o: bmc_test.cpp
	$(CXX) -o $@ $(CXX_FLAGS) $<

base64.o: cpp-base64/base64.cpp cpp-base64/base64.h
	$(CXX) -o $@ $(CXX_FLAGS) $<

clean:
	rm bmc_test