2024-03-12 17:37:14 +08:00
|
|
|
export PATH := $(PATH):`go env GOPATH`/bin
|
2020-03-20 20:54:22 +08:00
|
|
|
export GO111MODULE=on
|
2017-03-28 00:27:30 +08:00
|
|
|
LDFLAGS := -s -w
|
2016-04-11 17:27:14 +08:00
|
|
|
|
2024-04-12 21:21:28 +08:00
|
|
|
os-archs=darwin:amd64 darwin:arm64 freebsd:amd64 linux:amd64 linux:arm linux:arm:6 linux:arm64 windows:amd64 windows:arm64 linux:mips64 linux:mips64le linux:mips:softfloat linux:mipsle:softfloat linux:riscv64 android:arm64
|
2021-03-15 21:02:56 +08:00
|
|
|
|
2016-04-11 17:27:14 +08:00
|
|
|
all: build
|
|
|
|
|
2017-01-04 22:56:08 +08:00
|
|
|
build: app
|
2016-04-11 17:27:14 +08:00
|
|
|
|
|
|
|
app:
|
2024-04-12 21:21:28 +08:00
|
|
|
@$(foreach n, $(os-archs), \
|
|
|
|
os=$(shell echo "$(n)" | cut -d : -f 1); \
|
|
|
|
arch=$(shell echo "$(n)" | cut -d : -f 2); \
|
|
|
|
extra=$(shell echo "$(n)" | cut -d : -f 3); \
|
|
|
|
flags=''; \
|
|
|
|
target_suffix=$${os}_$${arch}; \
|
|
|
|
if [ "$${os}" = "linux" ] && [ "$${arch}" = "arm" ] && [ "$${extra}" != "" ] ; then \
|
|
|
|
flags=GOARM=$${extra}; \
|
|
|
|
target_suffix=$${os}_$${arch}_$${extra}; \
|
2024-04-22 19:50:58 +08:00
|
|
|
elif [ "$${os}" = "linux" ] && ([ "$${arch}" = "mips" ] || [ "$${arch}" = "mipsle" ]) && [ "$${extra}" != "" ] ; then \
|
2024-04-12 21:21:28 +08:00
|
|
|
flags=GOMIPS=$${extra}; \
|
|
|
|
fi; \
|
|
|
|
echo "Build $${os}-$${arch}$${extra:+ ($${extra})}..."; \
|
|
|
|
env CGO_ENABLED=0 GOOS=$${os} GOARCH=$${arch} $${flags} go build -trimpath -ldflags "$(LDFLAGS)" -tags frpc -o ./release/frpc_$${target_suffix} ./cmd/frpc; \
|
|
|
|
env CGO_ENABLED=0 GOOS=$${os} GOARCH=$${arch} $${flags} go build -trimpath -ldflags "$(LDFLAGS)" -tags frps -o ./release/frps_$${target_suffix} ./cmd/frps; \
|
|
|
|
echo "Build $${os}-$${arch}$${extra:+ ($${extra})} done"; \
|
2021-03-15 21:02:56 +08:00
|
|
|
)
|
|
|
|
@mv ./release/frpc_windows_amd64 ./release/frpc_windows_amd64.exe
|
|
|
|
@mv ./release/frps_windows_amd64 ./release/frps_windows_amd64.exe
|
2023-02-10 13:25:04 +08:00
|
|
|
@mv ./release/frpc_windows_arm64 ./release/frpc_windows_arm64.exe
|
|
|
|
@mv ./release/frps_windows_arm64 ./release/frps_windows_arm64.exe
|