69 lines
2.2 KiB
Makefile
Raw Normal View History

2024-11-27 12:08:50 +02:00
# Makefile for Waku Go Bindings
# Path to logos-delivery submodule
export LOGOS_DELIVERY_DIR ?= $(shell pwd)/../vendor/logos-delivery
2025-12-23 01:46:21 +05:30
# Debugging output
print-paths:
@echo "LOGOS_DELIVERY_DIR: $(LOGOS_DELIVERY_DIR)"
2025-12-23 01:46:21 +05:30
@echo "HEADER_PATH: $(LIBWAKU_HEADER_PATH)"
@echo "LIB_PATH: $(LIBWAKU_LIB_PATH)"
2025-12-16 17:15:06 +05:30
# Default paths for libwaku library and headers (can be overridden)
export LIBWAKU_HEADER_PATH ?= $(LOGOS_DELIVERY_DIR)/library
export LIBWAKU_LIB_PATH ?= $(LOGOS_DELIVERY_DIR)/build
2025-12-16 17:15:06 +05:30
export CGO_CFLAGS := -I$(LIBWAKU_HEADER_PATH)/
export CGO_LDFLAGS := -L$(LIBWAKU_LIB_PATH)/ -lwaku -Wl,-rpath,$(LIBWAKU_LIB_PATH)/
2024-11-27 12:08:50 +02:00
# Expected files
HEADER_FILE := $(LIBWAKU_HEADER_PATH)/libwaku.h
LIB_FILES := $(wildcard $(LIBWAKU_LIB_PATH)/libwaku.*)
2025-12-20 01:52:47 +05:30
.PHONY: all clean prepare build test build-auto test-auto build-libwaku
2024-11-27 12:08:50 +02:00
# Validate necessary folders and files
check-folders:
@echo Checking libwaku header directory ...
@if [ -z "$(LIBWAKU_HEADER_PATH)" ]; then \
echo "ERROR: LIBWAKU_HEADER_PATH not set"; exit 1; \
fi
@if [ ! -d "$(LIBWAKU_HEADER_PATH)" ]; then \
echo "ERROR: Header path does not exist: $(LIBWAKU_HEADER_PATH)"; exit 1; \
fi
@echo Checking libwaku lib directory ...
@if [ -z "$(LIBWAKU_LIB_PATH)" ]; then \
echo "ERROR: LIBWAKU_LIB_PATH not set"; exit 1; \
fi
@if [ ! -d "$(LIBWAKU_LIB_PATH)" ]; then \
echo "ERROR: Library path does not exist: $(LIBWAKU_LIB_PATH)"; exit 1; \
fi
@echo Checking for libwaku.h ...
@if [ ! -f "$(HEADER_FILE)" ]; then \
echo "ERROR: libwaku.h not found at: $(HEADER_FILE)"; exit 1; \
fi
2024-11-27 12:08:50 +02:00
@echo Checking for libwaku library file ...
@if [ -z "$(LIB_FILES)" ]; then \
echo "ERROR: No libwaku library file found in: $(LIBWAKU_LIB_PATH)"; exit 1; \
fi
2025-12-22 18:52:43 +05:30
build:
2026-01-08 23:27:46 +05:30
@echo "Building Logos Messaging Go Bindings (manual)..."
2025-12-23 02:21:12 +05:30
CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" go build -o waku-bindings .
2025-12-20 01:52:47 +05:30
test: build
@echo "Running tests (manual)..."
@if [ -z "$(TEST)" ]; then \
2025-12-23 02:21:12 +05:30
CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" go test .; \
2025-12-20 01:52:47 +05:30
else \
2025-12-23 02:21:12 +05:30
CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" go test . -count=1 -run $(TEST) -v; \
2025-12-20 01:52:47 +05:30
fi
2024-11-27 12:08:50 +02:00
# Clean up generated files
clean:
@echo "Cleaning up..."
2025-12-23 01:46:21 +05:30
@rm -f waku-bindings