# Copyright 2016 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

IMAGE_NAME=$(shell basename $(CURDIR))
STAGING_REPO=gcr.io/go-dashboard-dev
PROD_REPO=gcr.io/symbolic-datum-552

usage:
	echo "Use staging, prod, or dev targets. For dev, specify your Docker repository with the REPO=foo argument." ; exit 1

staging: Dockerfile
	docker build -t $(STAGING_REPO)/$(IMAGE_NAME):latest .
	docker push $(STAGING_REPO)/$(IMAGE_NAME):latest

prod: Dockerfile
	docker build -t $(PROD_REPO)/$(IMAGE_NAME):latest .
	docker push $(PROD_REPO)/$(IMAGE_NAME):latest

# You must provide a REPO=your-repo-name arg when you make
# this target. REPO is the name of the Docker repository
# that will be prefixed to the name of the image being built.
dev: Dockerfile
	docker build -t $(REPO)/$(IMAGE_NAME):latest .
	docker push $(REPO)/$(IMAGE_NAME):latest
