mirror of
https://github.com/e1732a364fed/v2ray_simple.git
synced 2026-04-23 02:07:06 +08:00
76 lines
1.6 KiB
Makefile
76 lines
1.6 KiB
Makefile
# 本文件的一些解释请参考 Makefile_release.
|
|
# 本文件用于编译客户端版本的verysimple。
|
|
# 该版本使用cgo。
|
|
# gui因为开启了cgo,是较难交叉编译的,建议在目标平台上编译。或者搜索一下 "xgo"
|
|
|
|
prefix :=vs_gui
|
|
winsuffix :=.exe
|
|
|
|
cmd:=go build -tags "gui $(tags)" -trimpath -ldflags "-X 'main.Version=${BUILD_VERSION}' -s -w -buildid=" -o
|
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
detected_OS :=Windows
|
|
defaultSuffix :=${winsuffix}
|
|
else
|
|
detected_OS := $(shell sh -c 'uname 2>/dev/null || echo Unknown')
|
|
endif
|
|
|
|
ifdef PACK
|
|
define compile
|
|
CGO_ENABLED=1 GOOS=$(2) GOARCH=$(3) GOARM=$(5) $(cmd) ${prefix}_$(1)
|
|
mv ${prefix}_$(1) verysimple$(4)
|
|
tar -cJf ${prefix}_$(1).tar.xz verysimple$(4) -C ../../ examples/
|
|
rm verysimple$(4)
|
|
endef
|
|
|
|
else
|
|
|
|
ifeq ($(detected_OS),Windows)
|
|
|
|
define compile
|
|
set CGO_ENABLED=1&& set GOOS=$(2)&& set GOARCH=$(3)&& $(cmd) ${prefix}_$(1)$(4)
|
|
endef
|
|
|
|
else
|
|
define compile
|
|
CGO_ENABLED=1 GOOS=$(2) GOARCH=$(3) GOARM=$(5) $(cmd) ${prefix}_$(1)$(4)
|
|
endef
|
|
|
|
endif
|
|
|
|
|
|
endif
|
|
|
|
defaultOutFn :=${prefix}
|
|
|
|
${defaultOutFn}:
|
|
$(call compile,native,,,$(defaultSuffix))
|
|
|
|
all: linux_amd64 linux_arm64 macos macm win10 win10_arm
|
|
|
|
linux_amd64:
|
|
$(call compile,linux_amd64,linux,amd64)
|
|
|
|
linux_arm64:
|
|
$(call compile,linux_arm64,linux,arm64)
|
|
|
|
macos:
|
|
$(call compile,macOS_intel,darwin,amd64)
|
|
|
|
macm:
|
|
$(call compile,macOS_apple,darwin,arm64)
|
|
|
|
win10:
|
|
$(call compile,win10,windows,amd64,.exe)
|
|
|
|
win10_arm:
|
|
$(call compile,win10_arm64,windows,arm64,.exe)
|
|
|
|
|
|
clean:
|
|
rm -f ${prefix}
|
|
rm -f ${prefix}.exe
|
|
rm -f ${prefix}_*
|
|
rm -f *.tar.xz
|