mirror of
https://github.com/amnezia-vpn/amnezia-xray-bindings.git
synced 2026-05-16 22:55:44 +03:00
48 lines
1.0 KiB
Makefile
48 lines
1.0 KiB
Makefile
BUILD_DIR = build
|
|
|
|
SOURCES := main.go
|
|
|
|
LIB_ARC = amnezia_xray.a
|
|
LIB_DLL = amnezia_xray.dll
|
|
LIB_LIB = amnezia_xray.lib
|
|
LIB_HDR = amnezia_xray.h
|
|
LIB_DEF = amnezia_xray.def
|
|
|
|
ifneq ($(shell which cmd 2>/dev/null),)
|
|
OS ?= windows
|
|
else
|
|
OS ?= unix
|
|
endif
|
|
|
|
ifeq ($(OS),macos)
|
|
SDK += macosx
|
|
else ifeq ($(OS),ios)
|
|
SDK := iphoneos
|
|
endif
|
|
|
|
ifneq ($(SDK),)
|
|
CGO_CFLAGS += -isysroot $(shell xcrun --sdk $(SDK) --show-sdk-path)
|
|
endif
|
|
|
|
ifeq ($(OS),windows)
|
|
all: $(BUILD_DIR)/$(LIB_LIB)
|
|
else
|
|
all: $(BUILD_DIR)/$(LIB_ARC)
|
|
endif
|
|
|
|
$(BUILD_DIR)/$(LIB_ARC): $(SOURCES)
|
|
CGO_CFLAGS="$(CGO_CFLAGS)" GOARCH=$(ARCH) CGO_ENABLED=1 go build -ldflags=-w -o $(BUILD_DIR)/$(LIB_ARC) -buildmode=c-archive
|
|
|
|
$(BUILD_DIR)/$(LIB_DLL): $(SOURCES)
|
|
@mkdir -p $(BUILD_DIR)
|
|
CGO_ENABLED=1 go build -ldflags=-w -o $(BUILD_DIR)/$(LIB_DLL) -buildmode=c-shared
|
|
|
|
$(BUILD_DIR)/$(LIB_LIB): $(BUILD_DIR)/$(LIB_DLL)
|
|
cd $(BUILD_DIR) && gendef $(LIB_DLL)
|
|
cd $(BUILD_DIR) && dlltool -d $(LIB_DEF) -l $(LIB_LIB) -D $(LIB_DLL)
|
|
rm $(BUILD_DIR)/$(LIB_DEF)
|
|
|
|
PHONY: clean
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|