2015-09-15 22:38:54 +03:00
.PHONY : all
TRAEFIK_ENVS := \
-e OS_ARCH_ARG \
-e OS_PLATFORM_ARG \
2015-11-05 17:14:25 +03:00
-e TESTFLAGS \
-e CIRCLECI
2015-09-15 22:38:54 +03:00
2015-09-27 16:56:53 +03:00
BIND_DIR := "dist"
TRAEFIK_MOUNT := -v " $( CURDIR) / $( BIND_DIR) :/go/src/github.com/emilevauge/traefik/ $( BIND_DIR) "
2015-09-15 22:38:54 +03:00
GIT_BRANCH := $( shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
TRAEFIK_DEV_IMAGE := traefik-dev$( if $( GIT_BRANCH) ,:$( GIT_BRANCH) )
2015-09-16 19:07:58 +03:00
REPONAME := $( shell echo $( REPO) | tr '[:upper:]' '[:lower:]' )
TRAEFIK_IMAGE := $( if $( REPONAME) ,$( REPONAME) ,"emilevauge/traefik" )
2015-09-27 16:56:53 +03:00
INTEGRATION_OPTS := $( if $( MAKE_DOCKER_HOST) ,-e " DOCKER_HOST= $( MAKE_DOCKER_HOST) " , -v "/var/run/docker.sock:/var/run/docker.sock" )
2015-09-15 22:38:54 +03:00
2015-09-27 16:56:53 +03:00
DOCKER_RUN_TRAEFIK := docker run $( if $( CIRCLECI) ,,--rm) $( INTEGRATION_OPTS) -it $( TRAEFIK_ENVS) $( TRAEFIK_MOUNT) " $( TRAEFIK_DEV_IMAGE) "
2015-09-15 22:38:54 +03:00
2015-09-16 19:07:58 +03:00
print-% : ; @echo $*=$( $ *)
2015-09-15 22:38:54 +03:00
default : binary
2015-10-30 10:55:08 +03:00
all : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh
2015-09-15 22:38:54 +03:00
binary : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate binary
2015-09-27 16:56:53 +03:00
crossbinary : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate crossbinary
2015-09-15 22:38:54 +03:00
test : build
2015-09-27 16:56:53 +03:00
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate test-unit binary test-integration
2015-09-15 22:38:54 +03:00
test-unit : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate test-unit
test-integration : build
2015-09-27 16:56:53 +03:00
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate test-integration
2015-09-15 22:38:54 +03:00
validate : build
2015-11-06 20:11:57 +03:00
$( DOCKER_RUN_TRAEFIK) ./script/make.sh validate-gofmt validate-govet validate-golint
2015-09-15 22:38:54 +03:00
validate-gofmt : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh validate-gofmt
2015-09-23 22:15:21 +03:00
validate-govet : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh validate-govet
2015-11-06 20:11:57 +03:00
validate-golint : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh validate-golint
2015-09-15 22:38:54 +03:00
build : dist
docker build -t " $( TRAEFIK_DEV_IMAGE) " -f build.Dockerfile .
2015-10-01 13:04:25 +03:00
build-no-cache : dist
docker build --no-cache -t " $( TRAEFIK_DEV_IMAGE) " -f build.Dockerfile .
2015-09-22 12:29:41 +03:00
shell : build
$( DOCKER_RUN_TRAEFIK) /bin/bash
2015-09-15 22:38:54 +03:00
image : build
docker build -t $( TRAEFIK_IMAGE) .
dist :
mkdir dist
2015-09-19 14:02:59 +03:00
run-dev :
2015-09-24 12:39:18 +03:00
go generate
2015-09-19 14:02:59 +03:00
go build
./traefik