# 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: bmc_main.o base64.o expiring_signature.o receiver.o sender.o signing_key.o sodium_helpers.o string_helpers.o time_helpers.o $(CXX) -o $@ $^ $(L_FLAGS) $(LIBS) bmc_main.o: bmc_main.cpp expiring_signature.h receiver.h sender.h signing_key.h sodium_helpers.h string_helpers.h time_helpers.h $(CXX) -o $@ $(CXX_FLAGS) $< base64.o: cpp-base64/base64.cpp cpp-base64/base64.h $(CXX) -o $@ $(CXX_FLAGS) $< expiring_signature.o: expiring_signature.cpp expiring_signature.h time_helpers.h $(CXX) -o $@ $(CXX_FLAGS) $< receiver.o: receiver.cpp receiver.h expiring_signature.h sodium_helpers.h string_helpers.h time_helpers.h $(CXX) -o $@ $(CXX_FLAGS) $< sender.o: sender.cpp sender.h expiring_signature.h signing_key.h sodium_helpers.h time_helpers.h $(CXX) -o $@ $(CXX_FLAGS) $< signing_key.o: signing_key.cpp signing_key.h expiring_signature.h sodium_helpers.h time_helpers.h $(CXX) -o $@ $(CXX_FLAGS) $< sodium_helpers.o: sodium_helpers.cpp sodium_helpers.h $(CXX) -o $@ $(CXX_FLAGS) $< string_helpers.o: string_helpers.cpp string_helpers.h cpp-base64/base64.h $(CXX) -o $@ $(CXX_FLAGS) $< time_helpers.o: time_helpers.cpp time_helpers.h $(CXX) -o $@ $(CXX_FLAGS) $< clean: rm -f bmc bmc_main.o base64.o expiring_signature.o receiver.o sender.o signing_key.o sodium_helpers.o string_helpers.o time_helpers.o