diff --git a/Makefile b/Makefile index bcb8312d..a708d860 100644 --- a/Makefile +++ b/Makefile @@ -4,14 +4,15 @@ GOBUILD=$(GOCMD) build GOCLEAN=$(GOCMD) clean VERSION=$(shell git describe --tags) DEBUG_LDFLAGS='' -RELEASE_LDFLAGS='-s -w -X main.version=$(VERSION)' +RELEASE_LDFLAGS=-s -w -X main.version=$(VERSION) BUILD_TAGS?=socks BUILDDIR=$(shell pwd)/build CMDDIR=$(shell pwd)/cmd/tun2socks PROGRAM=tun2socks -BUILD_CMD="cd $(CMDDIR) && $(GOBUILD) -ldflags $(RELEASE_LDFLAGS) -o $(BUILDDIR)/$(PROGRAM) -v -tags '$(BUILD_TAGS)'" -XBUILD_CMD="cd $(BUILDDIR) && $(XGOCMD) -ldflags $(RELEASE_LDFLAGS) -tags '$(BUILD_TAGS)' --targets=*/* $(CMDDIR)" +BUILD_CMD="cd $(CMDDIR) && $(GOBUILD) -ldflags '$(RELEASE_LDFLAGS)' -o $(BUILDDIR)/$(PROGRAM) -v -tags '$(BUILD_TAGS)'" +BUILD_MUSL_CMD="cd $(CMDDIR) && CC=musl-gcc $(GOBUILD) -ldflags '$(RELEASE_LDFLAGS) -linkmode external -extldflags \"-static\" ' -o $(BUILDDIR)/$(PROGRAM) -v -tags '$(BUILD_TAGS)'" +XBUILD_CMD="cd $(BUILDDIR) && $(XGOCMD) -ldflags '$(RELEASE_LDFLAGS)' -tags '$(BUILD_TAGS)' --targets=*/* $(CMDDIR)" all: build @@ -19,6 +20,11 @@ build: mkdir -p $(BUILDDIR) eval $(BUILD_CMD) +build_musl: + mkdir -p $(BUILDDIR) + eval $(BUILD_CMD) + + xbuild: mkdir -p $(BUILDDIR) eval $(XBUILD_CMD) diff --git a/README.md b/README.md index eb32bfd0..59422fe1 100644 --- a/README.md +++ b/README.md @@ -20,3 +20,13 @@ The following projects are using go-tun2socks: - https://github.com/mellow-io/mellow - https://github.com/eycorsican/kitsunebi-android + +------- +## build for musl +This build target depends on musl-gcc which can find in system path + +You can build for musl system by using this command +```bash +make build_musl +``` +