diff options
Diffstat (limited to 'app/tools')
-rw-r--r-- | app/tools/libwg-go/Makefile | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/app/tools/libwg-go/Makefile b/app/tools/libwg-go/Makefile index 300b3841..c54797c7 100644 --- a/app/tools/libwg-go/Makefile +++ b/app/tools/libwg-go/Makefile @@ -2,7 +2,9 @@ containing = $(foreach v,$2,$(if $(findstring $1,$v),$v)) FILES := $(wildcard ../wireguard-go/*/*.go) $(wildcard ../wireguard-go/*.go) FILES := $(filter-out %/main.go $(filter-out %_linux.go,$(call containing,_,$(FILES))),$(FILES)) -export GOPATH := $(CURDIR)/go +export GOPATH := $(CURDIR)/gopath +export GOROOT := $(CURDIR)/goroot +export PATH := $(GOROOT)/bin:$(PATH) CLANG_FLAGS := --target=$(ANDROID_LLVM_TRIPLE) --gcc-toolchain=$(ANDROID_TOOLCHAIN_ROOT) --sysroot=$(ANDROID_SYSROOT) export CGO_CFLAGS := $(CLANG_FLAGS) $(CFLAGS) export CGO_LDFLAGS := $(CLANG_FLAGS) $(LDFLAGS) @@ -12,7 +14,16 @@ export GOARCH := $(shell $(GO_ARCH_FILTER)) export GOOS := android export CGO_ENABLED := 1 -$(DESTDIR)/libwg-go.so: $(FILES) api-android.go jni.c +GORELEASETARBALL := https://dl.google.com/go/go1.10.1.$(shell uname -s | tr '[:upper:]' '[:lower:]')-amd64.tar.gz + +default: $(DESTDIR)/libwg-go.so + +$(GOROOT)/bin/go: + rm -rf "$(GOROOT)" + mkdir -p "$(GOROOT)" + curl "$(GORELEASETARBALL)" | tar -C "$(GOROOT)" --strip-components=1 -xzf - || rm -rf "$(GOROOT)" + +$(DESTDIR)/libwg-go.so: $(FILES) api-android.go jni.c $(GOROOT)/bin/go find . -name '*.go' -type l -delete find . -type d -empty -delete mkdir -p $(subst ../wireguard-go/,./,$(dir $(FILES))) |