jsonnet-bundler/Makefile
2019-07-23 13:37:23 -07:00

45 lines
1.2 KiB
Makefile

all: check-license build generate test
GITHUB_URL=github.com/jsonnet-bundler/jsonnet-bundler
GOOS?=$(shell uname -s | tr A-Z a-z)
GOARCH?=$(subst x86_64,amd64,$(patsubst i%86,386,$(shell uname -m)))
OUT_DIR=_output
BIN?=jb
VERSION?=$(shell cat VERSION)
PKGS=$(shell go list ./... | grep -v /vendor/)
check-license:
@echo ">> checking license headers"
@./scripts/check_license.sh
crossbuild:
@GOOS=linux ARCH=amd64 $(MAKE) -s build
build:
@$(eval OUTPUT=$(OUT_DIR)/$(GOOS)/$(GOARCH)/$(BIN))
@echo ">> building for $(GOOS)/$(GOARCH) to $(OUTPUT)"
@mkdir -p $(OUT_DIR)/$(GOOS)/$(GOARCH)
@CGO_ENABLED=0 go build --installsuffix cgo -o $(OUTPUT) $(GITHUB_URL)/cmd/$(BIN)
install: build
@$(eval OUTPUT=$(OUT_DIR)/$(GOOS)/$(GOARCH)/$(BIN))
@echo ">> copying $(BIN) into $(GOPATH)/bin/$(BIN)"
@cp $(OUTPUT) $(GOPATH)/bin/$(BIN)
test:
@echo ">> running all unit tests"
@go test $(PKGS)
test-integration:
@echo ">> running all integration tests"
go test -v -tags=integration $(PKGS)
generate: embedmd
@echo ">> generating docs"
@./scripts/generate-help-txt.sh
@$(GOPATH)/bin/embedmd -w `find ./ -path ./vendor -prune -o -name "*.md" -print`
embedmd:
@go get github.com/campoy/embedmd
.PHONY: all check-license crossbuild build install test generate embedmd