2015-09-15 22:38:54 +03:00
.PHONY : all
TRAEFIK_ENVS := \
-e OS_ARCH_ARG \
-e OS_PLATFORM_ARG \
-e TESTFLAGS
BIND_DIR := $( if $( DOCKER_HOST) ,,dist)
TRAEFIK_MOUNT := $( if $( BIND_DIR) ,-v " $( CURDIR) / $( BIND_DIR) :/go/src/github.com/emilevauge/traefik/ $( BIND_DIR) " )
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-15 22:38:54 +03:00
DOCKER_RUN_TRAEFIK := docker run $( if $( CIRCLECI) ,,--rm) -it $( TRAEFIK_ENVS) $( TRAEFIK_MOUNT) " $( TRAEFIK_DEV_IMAGE) "
2015-09-16 19:07:58 +03:00
print-% : ; @echo $*=$( $ *)
2015-09-15 22:38:54 +03:00
default : binary
binary : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate binary
test : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate test-unit test-integration
test-unit : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate test-unit
test-integration : build
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate binary test-integration
validate : build
2015-09-23 22:15:21 +03:00
$( DOCKER_RUN_TRAEFIK) ./script/make.sh validate-gofmt validate-govet
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-09-15 22:38:54 +03:00
build : dist
docker build -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
if ! [ -a dist/traefik_linux-386 ] ; \
then \
$( DOCKER_RUN_TRAEFIK) ./script/make.sh generate binary; \
fi ;
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