Bubble android client. Fork of https://git.zx2c4.com/wireguard-android/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

40 lines
1.6 KiB

  1. containing = $(foreach v,$2,$(if $(findstring $1,$v),$v))
  2. FILES := $(wildcard ../wireguard-go/*/*.go) $(wildcard ../wireguard-go/*.go)
  3. FILES := $(filter-out %/main.go $(filter-out %_linux.go,$(call containing,_,$(FILES))),$(FILES))
  4. NDK_GO_ARCH_MAP_x86 := 386
  5. NDK_GO_ARCH_MAP_x86_64 := amd64
  6. NDK_GO_ARCH_MAP_arm := arm
  7. NDK_GO_ARCH_MAP_arm64 := arm64
  8. NDK_GO_ARCH_MAP_mips := mipsx
  9. NDK_GO_ARCH_MAP_mips64 := mips64x
  10. export GOPATH := $(CURDIR)/gopath
  11. export GOROOT := $(CURDIR)/goroot
  12. export PATH := $(GOROOT)/bin:$(PATH)
  13. CLANG_FLAGS := --target=$(ANDROID_LLVM_TRIPLE) --gcc-toolchain=$(ANDROID_TOOLCHAIN_ROOT) --sysroot=$(ANDROID_SYSROOT)
  14. export CGO_CFLAGS := $(CLANG_FLAGS) $(CFLAGS)
  15. export CGO_LDFLAGS := $(CLANG_FLAGS) $(LDFLAGS)
  16. export CC := $(ANDROID_C_COMPILER)
  17. export GOARCH := $(NDK_GO_ARCH_MAP_$(ANDROID_ARCH_NAME))
  18. export GOOS := android
  19. export CGO_ENABLED := 1
  20. GORELEASEVERSION := 1.10.1
  21. GORELEASETARBALL := https://dl.google.com/go/go$(GORELEASEVERSION).$(shell uname -s | tr '[:upper:]' '[:lower:]')-$(NDK_GO_ARCH_MAP_$(shell uname -m)).tar.gz
  22. default: $(DESTDIR)/libwg-go.so
  23. $(GOROOT)/bin/go:
  24. rm -rf "$(GOROOT)"
  25. mkdir -p "$(GOROOT)"
  26. curl "$(GORELEASETARBALL)" | tar -C "$(GOROOT)" --strip-components=1 -xzf - || rm -rf "$(GOROOT)"
  27. $(DESTDIR)/libwg-go.so: $(FILES) api-android.go jni.c $(GOROOT)/bin/go
  28. find . -name '*.go' -type l -delete
  29. find . -type d -empty -delete
  30. mkdir -p $(subst ../wireguard-go/,./,$(dir $(FILES)))
  31. $(foreach FILE,$(FILES),ln -sfrt $(subst ../wireguard-go/,./,$(dir $(FILE))) $(FILE);)
  32. go get -v -d
  33. go build -v -o $(DESTDIR)/libwg-go.so -buildmode c-shared