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 ./...