Skip to content

Commit e9d0437

Browse files
committed
Adjust verbosity and overwrite vars
1 parent c0d77bb commit e9d0437

File tree

2 files changed

+51
-19
lines changed

2 files changed

+51
-19
lines changed

Makefile.docker

Lines changed: 47 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ ifneq (,)
22
.error This Makefile requires GNU Make.
33
endif
44

5+
ifndef VERBOSE
6+
MAKEFLAGS += --no-print-directory
7+
endif
8+
59

610
# -------------------------------------------------------------------------------------------------
711
# Docker required Variables
@@ -13,12 +17,12 @@ IMAGE =
1317
# -------------------------------------------------------------------------------------------------
1418
# Docker optional Variables
1519
# -------------------------------------------------------------------------------------------------
16-
NO_CACHE =
17-
ARGS =
18-
ARCH = linux/amd64
19-
TAG = latest
20-
DIR = .
21-
FILE = Dockerfile
20+
NO_CACHE =
21+
ARGS =
22+
ARCH = linux/amd64
23+
DOCKER_TAG = latest
24+
DIR = .
25+
FILE = Dockerfile
2226

2327

2428
# -------------------------------------------------------------------------------------------------
@@ -30,7 +34,7 @@ docker-help:
3034
@echo " NAME= # (req) Set label name"
3135
@echo " VERSION= # (req) Set label version"
3236
@echo " IMAGE= # (req) Set Docker image name"
33-
@echo " TAG= # (opt) Set Docker image tag"
37+
@echo " DOCKER_TAG= # (opt) Set Docker image tag"
3438
@echo " ARCH= # (opt) Specify Docker platform to build against"
3539
@echo " DIR= # (opt) Specify directory of Docker file"
3640
@echo " FILE= # (opt) Specify filename of Docker file"
@@ -61,7 +65,7 @@ docker-arch-build:
6165
false; \
6266
fi
6367
@echo "################################################################################"
64-
@echo "# Building $(IMAGE):$(TAG) (platform: $(ARCH))"
68+
@echo "# Building $(IMAGE):$(DOCKER_TAG) (platform: $(ARCH))"
6569
@echo "################################################################################"
6670
docker build \
6771
$(NO_CACHE) \
@@ -71,7 +75,7 @@ docker-arch-build:
7175
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \
7276
--label "org.opencontainers.image.name"="$(NAME)" \
7377
--label "org.opencontainers.image.version"="$(VERSION)" \
74-
--tag $(IMAGE):$(TAG) \
78+
--tag $(IMAGE):$(DOCKER_TAG) \
7579
--file $(DIR)/$(FILE) $(DIR)
7680

7781

@@ -83,44 +87,62 @@ docker-arch-rebuild: docker-arch-build
8387

8488
.PHONY: docker-arch-push
8589
docker-arch-push:
90+
@if [ "$(IMAGE)" = "" ]; then \
91+
echo "This make target requires the IMAGE variable to be set."; \
92+
echo "make docker-arch-push IMAGE="; \
93+
echo "Exiting."; \
94+
false; \
95+
fi
8696
@echo "################################################################################"
87-
@echo "# Pushing Docker Image $(IMAGE):$(TAG)-manifest-$(subst /,-,$(ARCH))"
97+
@echo "# Pushing Docker Image $(IMAGE):$(DOCKER_TAG)-manifest-$(subst /,-,$(ARCH))"
8898
@echo "################################################################################"
89-
docker tag $(IMAGE):$(TAG) $(IMAGE):$(TAG)-manifest-$(subst /,-,$(ARCH))
90-
docker push $(IMAGE):$(TAG)-manifest-$(subst /,-,$(ARCH))
99+
docker tag $(IMAGE):$(DOCKER_TAG) $(IMAGE):$(DOCKER_TAG)-manifest-$(subst /,-,$(ARCH))
100+
docker push $(IMAGE):$(DOCKER_TAG)-manifest-$(subst /,-,$(ARCH))
91101

92102

93103
# -------------------------------------------------------------------------------------------------
94104
# Docker Manifest Targets
95105
# -------------------------------------------------------------------------------------------------
96106
.PHONY: docker-manifest-create
97107
docker-manifest-create:
108+
@if [ "$(IMAGE)" = "" ]; then \
109+
echo "This make target requires the IMAGE variable to be set."; \
110+
echo "make docker-manifest-create IMAGE="; \
111+
echo "Exiting."; \
112+
false; \
113+
fi
98114
@if [ "$(ARCHES)" = "" ]; then \
99115
echo "This make target requires the ARCHES variable to be set."; \
100116
echo "make docker-manifest-create ARCHES="; \
101117
echo "Exiting."; \
102118
false; \
103119
fi
104120
@echo "################################################################################"
105-
@echo "# Creating Manifest $(IMAGE):$(TAG) ($(ARCHES))"
121+
@echo "# Creating Manifest $(IMAGE):$(DOCKER_TAG) ($(ARCHES))"
106122
@echo "################################################################################"
107123
@echo "docker manifest create \
108-
$(IMAGE):$(TAG) \
109-
$$( echo $(ARCHES) | sed 's/,/ /g' | sed 's|/|-|g' | xargs -n1 sh -c 'printf -- " --amend $(IMAGE):$(TAG)-manifest-$${1}"' -- )" \
124+
$(IMAGE):$(DOCKER_TAG) \
125+
$$( echo $(ARCHES) | sed 's/,/ /g' | sed 's|/|-|g' | xargs -n1 sh -c 'printf -- " --amend $(IMAGE):$(DOCKER_TAG)-manifest-$${1}"' -- )" \
110126
| sed 's/\s\s*/ /g' \
111127
| sed 's/--/\\\n --/g'
112128
@echo "docker manifest create \
113-
$(IMAGE):$(TAG) \
114-
$$( echo $(ARCHES) | sed 's/,/ /g' | sed 's|/|-|g' | xargs -n1 sh -c 'printf -- " --amend $(IMAGE):$(TAG)-manifest-$${1}"' -- )" \
129+
$(IMAGE):$(DOCKER_TAG) \
130+
$$( echo $(ARCHES) | sed 's/,/ /g' | sed 's|/|-|g' | xargs -n1 sh -c 'printf -- " --amend $(IMAGE):$(DOCKER_TAG)-manifest-$${1}"' -- )" \
115131
| bash
116132

117133

118134
.PHONY: docker-manifest-push
119135
docker-manifest-push:
136+
@if [ "$(IMAGE)" = "" ]; then \
137+
echo "This make target requires the IMAGE variable to be set."; \
138+
echo "make docker-manifest-push IMAGE="; \
139+
echo "Exiting."; \
140+
false; \
141+
fi
120142
@echo "################################################################################"
121-
@echo "# Pushing Manifest $(IMAGE):$(TAG)"
143+
@echo "# Pushing Manifest $(IMAGE):$(DOCKER_TAG)"
122144
@echo "################################################################################"
123-
docker manifest push $(IMAGE):$(TAG)
145+
docker manifest push $(IMAGE):$(DOCKER_TAG)
124146

125147

126148
# -------------------------------------------------------------------------------------------------
@@ -136,6 +158,12 @@ docker-pull-base-image:
136158

137159
.PHONY: docker-enter
138160
docker-enter:
161+
@if [ "$(IMAGE)" = "" ]; then \
162+
echo "This make target requires the IMAGE variable to be set."; \
163+
echo "make docker-enter IMAGE="; \
164+
echo "Exiting."; \
165+
false; \
166+
fi
139167
docker run --rm --platform=$(ARCH) -it --entrypoint=bash $(ARG) $(IMAGE)
140168

141169

Makefile.lint

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ ifneq (,)
22
.error This Makefile requires GNU Make.
33
endif
44

5+
ifndef VERBOSE
6+
MAKEFLAGS += --no-print-directory
7+
endif
8+
59

610
# -------------------------------------------------------------------------------------------------
711
# Default configuration

0 commit comments

Comments
 (0)