SQLITE_AMALGAMATION_ROOT := sqlite-amalgamation-3360000
SQLITE_AMALGAMATION_ZIP := $(SQLITE_AMALGAMATION_ROOT).zip
SQLITE_AMALGAMATION_URL := https://sqlite.org/2021/$(SQLITE_AMALGAMATION_ZIP)

LIBB64_BASE_NAME := libb64
LIBB64_RELEASE_NAME := Release-1.2.1
LIBB64_ROOT := $(LIBB64_BASE_NAME)-$(LIBB64_RELEASE_NAME)
LIBB64_ZIP := $(LIBB64_RELEASE_NAME).zip
LIBB64_URL := https://github.com/gorb314/libb64/archive/refs/tags/$(LIBB64_ZIP)

TEST_DEPENDENCIES := test-dependencies

TEST_SQLITE_AMALGAMATION_DIR := $(TEST_DEPENDENCIES)/$(SQLITE_AMALGAMATION_ROOT)
TEST_SQLITE3 := $(TEST_SQLITE_AMALGAMATION_DIR)/sqlite3.c

TEST_LIBB64_DIR := $(TEST_DEPENDENCIES)/$(LIBB64_ROOT)
TEST_LIBB64_CENCODE := $(TEST_LIBB64_DIR)/src/cencode.c
TEST_LIBB64_CDECODE := $(TEST_LIBB64_DIR)/src/cdecode.c

TEST_INCLUDE_FLAGS := \
	-I$(TEST_LIBB64_DIR)/include \
	-I$(TEST_LIBB64_DIR)/include/b64 \
	-I$(TEST_SQLITE_AMALGAMATION_DIR)

$(TEST_SQLITE3):
	mkdir -p $(TEST_DEPENDENCIES)
	(cd $(TEST_DEPENDENCIES) && curl -OL $(SQLITE_AMALGAMATION_URL) && unzip $(SQLITE_AMALGAMATION_ZIP))

$(TEST_LIBB64_CENCODE):
	mkdir -p $(TEST_DEPENDENCIES)
	(cd $(TEST_DEPENDENCIES) && curl -OL $(LIBB64_URL) && unzip $(LIBB64_ZIP))

$(TEST_LIBB64_CDECODE):
	mkdir -p $(TEST_DEPENDENCIES)
	(cd $(TEST_DEPENDENCIES) && curl -OL $(LIBB64_URL) && unzip $(LIBB64_ZIP))

all-test-dependencies: $(TEST_SQLITE3) $(TEST_LIBB64_CENCODE) $(TEST_LIBB64_CDECODE)

clean-test-dependencies:
	rm -rf $(TEST_DEPENDENCIES)
