mirror of
https://github.com/mayflower/docker-ls.git
synced 2026-10-24 13:39:17 +03:00
78 lines
1.8 KiB
Makefile
78 lines
1.8 KiB
Makefile
GO ?= go
|
|
GO_BUILDFLAGS = -v
|
|
GO_TESTFLAGS = -cover -v
|
|
|
|
GO_BUILDDIR = ./build
|
|
GO_SRCDIRS = cli lib
|
|
GO_PACKAGE_PREFIX = github.com/mayflower/docker-ls
|
|
GO_PACKAGES = \
|
|
cli/docker-ls \
|
|
cli/docker-ls/response \
|
|
cli/docker-rm \
|
|
cli/util \
|
|
lib \
|
|
lib/auth \
|
|
lib/connector
|
|
GO_DEPENDENCIES = gopkg.in/yaml.v2 golang.org/x/crypto/ssh/terminal
|
|
|
|
GO_DEBUG_MAIN = github.com/mayflower/docker-ls/cli/docker-ls
|
|
GO_DEBUG_BINARY = ./docker-ls.debug
|
|
|
|
GIT = git
|
|
GIT_COMMITFLAGS = -a
|
|
|
|
GARBAGE = $(GO_BUILDDIR) $(GO_DEBUG_BINARY)
|
|
|
|
packages = $(GO_PACKAGES:%=$(GO_PACKAGE_PREFIX)/$(GO_SRCDIR)/%)
|
|
execute_go = GOPATH=`pwd`/$(GO_BUILDDIR) $(GO) $(1) $(2) $(packages)
|
|
|
|
all: install
|
|
|
|
install: $(GO_BUILDDIR)
|
|
$(call execute_go,generate)
|
|
$(call execute_go,install,$(GO_BUILDFLAGS))
|
|
|
|
fmt: $(GO_BUILDDIR)
|
|
$(call execute_go,fmt)
|
|
|
|
goclean: $(GO_BUILDDIR)
|
|
$(call execute_go,clean)
|
|
|
|
test: $(GO_BUILDDIR)
|
|
$(call execute_go,test,$(GO_TESTFLAGS))
|
|
|
|
vet: $(GO_BUILDDIR)
|
|
$(call execute_go,vet)
|
|
|
|
commit: fmt
|
|
$(GIT) commit $(GIT_COMMITFLAGS)
|
|
|
|
godebug:
|
|
GOPATH="`pwd`/$(GO_BUILDDIR):$$GOPATH" \
|
|
godebug build \
|
|
-instrument `for i in $(packages); do echo -n $$i,; done` \
|
|
-o $(GO_DEBUG_BINARY) $(GO_DEBUG_MAIN)
|
|
|
|
godebug_run: godebug
|
|
$(GO_DEBUG_BINARY)
|
|
|
|
godebug_test:
|
|
@if test -z "$(PKG)"; then echo you need to set PKG to the package to test; exit 1; fi
|
|
GOPATH="`pwd`/$(GO_BUILDDIR):$$GOPATH" \
|
|
godebug test \
|
|
-instrument `for i in $(packages); do echo -n $$i,; done` \
|
|
$(GO_PACKAGE_PREFIX)/$(PKG)
|
|
|
|
$(GO_BUILDDIR):
|
|
mkdir -p ./$(GO_BUILDDIR)/src/$(GO_PACKAGE_PREFIX)
|
|
for srcdir in $(GO_SRCDIRS); \
|
|
do \
|
|
ln -s `pwd`/$$srcdir ./$(GO_BUILDDIR)/src/$(GO_PACKAGE_PREFIX)/$$srcdir; \
|
|
done
|
|
if test -n "$(GO_DEPENDENCIES)"; then GOPATH=`pwd`/$(GO_BUILDDIR) $(GO) get $(GO_DEPENDENCIES); fi
|
|
|
|
clean:
|
|
-rm -fr $(GARBAGE)
|
|
|
|
.PHONY: clean all install fmt goclean test
|