2025-12-24 16:44:53 +04:00

48 lines
1.6 KiB
Makefile

# Makefile for Logos Storage Go Bindings
LOGOS_STORAGE_NIM_DIR := vendor/logos-storage-nim
LOGOS_STORAGE_NIM_LIB_DIR := $(abspath $(LOGOS_STORAGE_NIM_DIR)/library)
LOGOS_STORAGE_NIM_BUILD_DIR := $(abspath $(LOGOS_STORAGE_NIM_DIR)/build)
CGO_CFLAGS := -I$(LOGOS_STORAGE_NIM_LIB_DIR)
CGO_LDFLAGS := -L$(LOGOS_STORAGE_NIM_BUILD_DIR) -lstorage -Wl,-rpath,$(LOGOS_STORAGE_NIM_BUILD_DIR)
.PHONY: all clean update libstorage build test
all: build
submodules:
@echo "Fetching submodules..."
@git submodule update --init --recursive
update: | submodules
@echo "Updating logos-storage-nim..."
@$(MAKE) -C $(LOGOS_STORAGE_NIM_DIR) update
libstorage:
@echo "Building libstorage..."
@$(MAKE) -C $(LOGOS_STORAGE_NIM_DIR) libstorage
libstorage-with-debug-api:
@echo "Building libstorage..."
@$(MAKE) -C $(LOGOS_STORAGE_NIM_DIR) libstorage STORAGE_LIB_PARAMS="-d:storage_enable_api_debug_peers"
build:
@echo "Building Logos Storage Go Bindings..."
CGO_ENABLED=1 CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" go build -o storage-go ./storage
test:
@echo "Running tests..."
CGO_ENABLED=1 CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" GOTESTFLAGS="-timeout=2m" gotestsum --packages="./..." -f testname -- $(if $(filter-out test,$(MAKECMDGOALS)),-run "$(filter-out test,$(MAKECMDGOALS))")
test-with-params:
@echo "Running tests..."
CGO_ENABLED=1 CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" GOTESTFLAGS="-timeout=2m" gotestsum --packages="./..." -f testname -- $(ARGS)
%:
@:
clean:
@echo "Cleaning up..."
@git submodule deinit -f $(LOGOS_STORAGE_NIM_DIR)
@rm -f storage-go