CXX ?= g++
CXXFLAGS ?= -std=c++20 -O2 -Wall -Wextra

HTTP_TEST := http_test
SVG_TEST := svg_renderer_test
RTLSDR_TEST := rtlsdr_r820t_test

.PHONY: all check clean

all: $(HTTP_TEST) $(SVG_TEST) $(RTLSDR_TEST)

$(HTTP_TEST): http_test.cpp
	$(CXX) $(CXXFLAGS) -I../programs/include \
		-I../programs/lib/bearssl/inc $< -o $@

$(SVG_TEST): svg_renderer_test.cpp ../programs/include/gui/svg.hpp
	$(CXX) $(CXXFLAGS) -I../programs/include $< -o $@

$(RTLSDR_TEST): rtlsdr_r820t_test.cpp ../programs/src/rtlsdr/r820t.cpp
	$(CXX) $(CXXFLAGS) -I../programs/src/rtlsdr $^ -o $@

check: $(HTTP_TEST) $(SVG_TEST) $(RTLSDR_TEST)
	./$(HTTP_TEST)
	./$(SVG_TEST)
	./$(RTLSDR_TEST)

clean:
	rm -f $(HTTP_TEST) $(SVG_TEST) $(RTLSDR_TEST)
