github.com/weaveworks/common@v0.0.0-20230728070032-dd9e68f319d5/tools/socks/Makefile (about) 1 .PHONY: all clean 2 3 IMAGE_TAR=image.tar 4 IMAGE_NAME=weaveworks/socksproxy 5 GIT_REVISION := $(shell git rev-parse HEAD) 6 PROXY_EXE=proxy 7 NETGO_CHECK=@strings $@ | grep cgo_stub\\\.go >/dev/null || { \ 8 rm $@; \ 9 echo "\nYour go standard library was built without the 'netgo' build tag."; \ 10 echo "To fix that, run"; \ 11 echo " sudo go clean -i net"; \ 12 echo " sudo go install -tags netgo std"; \ 13 false; \ 14 } 15 16 all: $(IMAGE_TAR) 17 18 $(IMAGE_TAR): Dockerfile $(PROXY_EXE) 19 docker build --build-arg=revision=$(GIT_REVISION) -t $(IMAGE_NAME) . 20 docker save $(IMAGE_NAME):latest > $@ 21 22 $(PROXY_EXE): *.go 23 go get -tags netgo ./$(@D) 24 go build -ldflags "-extldflags \"-static\" -linkmode=external" -tags netgo -o $@ ./$(@D) 25 $(NETGO_CHECK) 26 27 clean: 28 -docker rmi $(IMAGE_NAME) 29 rm -rf $(PROXY_EXE) $(IMAGE_TAR) 30 go clean ./...