Merge pull request #20 from andyz-dev/makefile-cleanup

Makefile cleanup
pull/21/head
Thorsten Klein 5 years ago committed by GitHub
commit 60c622e822
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 24
      Makefile
  2. 6
      README.md

@ -24,25 +24,34 @@ GOFLAGS :=
BINDIR := $(CURDIR)/bin
BINARIES := k3d
# Go Package required
PKG_GOX := github.com/mitchellh/gox
PKG_GOLANGCI_LINT := github.com/golangci/golangci-lint/cmd/golangci-lint
export GO111MODULE=on
# go source files, ignore vendor directory
SRC = $(shell find . -type f -name '*.go' -not -path "./*/*")
.PHONY: all build build-cross clean fmt simplify check
.PHONY: all build build-cross clean fmt simplify check extra-clean install-tools
all: clean fmt check build
build:
build:
$(GO) build -i $(GOFLAGS) -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o '$(BINDIR)/$(BINARIES)'
build-cross: LDFLAGS += -extldflags "-static"
build-cross:
build-cross:
CGO_ENABLED=0 gox -parallel=3 -output="_dist/$(BINARIES)-{{.OS}}-{{.Arch}}" -osarch='$(TARGETS)' $(GOFLAGS) $(if $(TAGS),-tags '$(TAGS)',) -ldflags '$(LDFLAGS)'
clean:
@rm -rf $(BINDIR) _dist/
extra-clean: clean
go clean -i $(PKG_GOX)
go clean -i $(PKG_GOLANGCI_LINT)
fmt:
@gofmt -l -w $(SRC)
@ -54,13 +63,14 @@ check:
@golangci-lint run
@go vet ${SRC}
# Check for required executables
# Check for required executables
HAS_GOX := $(shell command -v gox 2> /dev/null)
HAS_GOLANGCI := $(shell command -v golangci-lint 2> /dev/null)
install-tools:
ifndef HAS_GOX
go get -u github.com/mitchellh/gox
(export GO111MODULE=off; go get -u $(PKG_GOX))
endif
ifndef HAS_GOLANGCI
go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
endif
(export GO111MODULE=off; go get -u $(PKG_GOLANGCI_LINT))
endif

@ -17,7 +17,7 @@ This repository is based on [@zeerorg](https://github.com/zeerorg/)'s [zeerorg/k
You have several options there:
- use the install script to grab the latest release:
- use the install script to grab the latest release:
- wget: `wget -q -O - https://raw.githubusercontent.com/rancher/k3d/master/install.sh | bash`
- curl: `curl -s https://raw.githubusercontent.com/rancher/k3d/master/install.sh | bash`
- Grab a release from the [release tab](https://github.com/rancher/k3d/releases) and install it yourself.
@ -29,7 +29,9 @@ or...
1. Clone this repo, e.g. via `go get -u github.com/rancher/k3d`
2. Inside the repo run
- `make` to build for your current system
- 'make install-tools' to make sure required go packages are installed
3. Inside the repo run
- `make build` to build for your current system
- `go install` to install it to your `GOPATH`
- `make build-cross` to build for all systems

Loading…
Cancel
Save