mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-01-07 08:23:06 +00:00
49 lines
1.1 KiB
Makefile
49 lines
1.1 KiB
Makefile
# Makefile for Waku Go Bindings
|
|
|
|
# Determine OS and set library extension
|
|
UNAME_S := $(shell uname -s)
|
|
ifeq ($(UNAME_S),Linux)
|
|
EXT := so
|
|
else ifeq ($(UNAME_S),Darwin)
|
|
EXT := so
|
|
else ifeq ($(OS),Windows_NT)
|
|
EXT := dll
|
|
else
|
|
$(error Unsupported OS: $(UNAME_S))
|
|
endif
|
|
|
|
THIRD_PARTY_DIR := $(shell pwd)/../third_party
|
|
NWAKU_REPO := https://github.com/waku-org/nwaku
|
|
NWAKU_DIR := $(THIRD_PARTY_DIR)/nwaku
|
|
LIBWAKU_HEADER := $(NWAKU_DIR)/libwaku.h
|
|
LIBWAKU := $(NWAKU_DIR)/libwaku.${EXT}
|
|
|
|
.PHONY: all clean build libwaku
|
|
|
|
# Default target
|
|
all: build
|
|
|
|
# Prepare third_party directory and clone nwaku
|
|
# NOTE: Currently we download a library release.
|
|
# In the future we should get nwaku from Nimble package manager.
|
|
$(LIBWAKU) $(LIBWAKU_HEADER):
|
|
@chmod +x ../scripts/download_nwaku.sh
|
|
@../scripts/download_nwaku.sh
|
|
|
|
libwaku: $(LIBWAKU) $(LIBWAKU_HEADER)
|
|
|
|
# Build libwaku
|
|
build-libwaku:
|
|
@echo "Building libwaku..."
|
|
@cd $(NWAKU_DIR) && make libwaku
|
|
|
|
# Build Waku Go Bindings
|
|
build: libwaku
|
|
@echo "Building Waku Go Bindings..."
|
|
go build ./...
|
|
|
|
# Clean up generated files
|
|
clean:
|
|
@echo "Cleaning up..."
|
|
@rm -f $(LIBWAKU_HEADER) $(LIBWAKU)
|
|
@rm -f waku-go-bindings
|