blob: f397c6d7b75ab7246c3ab14dfe90f4aa882d4ae9 [file] [log] [blame]
## Copyright 2018 Istio Authors
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
.PHONY: docker
.PHONY: docker.all
.PHONY: docker.save
.PHONY: docker.push
### Docker commands ###
# Below provides various commands to build/push docker images.
# These are all wrappers around ./tools/docker, the binary that controls docker builds.
# Builds can also be done through direct ./tools/docker invocations.
# When using these commands the flow is:
# 1) make target calls ./tools/docker
# 2) ./tools/docker calls `make build.docker.x` targets to compute the dependencies required
# 3) ./tools/docker triggers the actual docker commands required
# As a result, there are two layers of make involved.
docker: ## Build all docker images
./tools/docker
docker.save: ## Build docker images and save to tar.gz
./tools/docker --save
docker.push: ## Build all docker images and push to
./tools/docker --push
# Legacy command aliases
docker.all: docker
@:
dockerx.save: docker.save
@:
dockerx.push: docker.push
@:
dockerx.pushx: docker.push
@:
dockerx: docker
@:
# Support individual images like `dockerx.pilot`
# Docker commands defines some convenience targets
# Build individual docker image and push it. Ex: push.docker.pilot
push.docker.%:
DOCKER_TARGETS=docker.$* ./tools/docker --push
# Build individual docker image and save it. Ex: tar.docker.pilot
tar.docker.%:
DOCKER_TARGETS=docker.$* ./tools/docker --save
# Build individual docker image. Ex: docker.pilot
docker.%:
DOCKER_TARGETS=docker.$* ./tools/docker
# Build individual docker image. Ex: dockerx.pilot
dockerx.docker.%:
DOCKER_TARGETS=docker.$* ./tools/docker
### End docker commands ###