1414
1515BUILD_MULTI_ARCH_IMAGES ?= false
1616DOCKER ?= docker
17- BUILDX =
18- ifeq ($(BUILD_MULTI_ARCH_IMAGES ) ,true)
19- BUILDX = buildx
20- endif
17+ BUILDX =
2118MKDIR ?= mkdir
2219
2320include $(CURDIR ) /versions.mk
@@ -42,9 +39,10 @@ OUT_IMAGE = $(OUT_IMAGE_NAME):$(OUT_IMAGE_TAG)
4239DEFAULT_PUSH_TARGET := ubuntu22.04
4340DISTRIBUTIONS := ubuntu22.04 ubi9
4441
45- BUILD_TARGETS := $(patsubst % ,build-% , $(DISTRIBUTIONS ) )
46- PUSH_TARGETS := $(patsubst % ,push-% , $(DISTRIBUTIONS ) )
47- TEST_TARGETS := $(patsubst % ,test-% , $(DISTRIBUTIONS ) )
42+ IMAGE_TARGETS := $(patsubst % ,image-% ,$(DISTRIBUTIONS ) )
43+ BUILD_TARGETS := $(patsubst % ,build-% ,$(DISTRIBUTIONS ) )
44+ PUSH_TARGETS := $(patsubst % ,push-% ,$(DISTRIBUTIONS ) )
45+ TEST_TARGETS := $(patsubst % ,test-% ,$(DISTRIBUTIONS ) )
4846
4947.PHONY : $(DISTRIBUTIONS ) $(PUSH_TARGETS ) $(BUILD_TARGETS ) $(TEST_TARGETS )
5048
@@ -66,6 +64,11 @@ ARCH = arm64
6664endif
6765endif
6866
67+ # If BUILD_MULTI_ARCH_IMAGES is still true for a given set of samples, we enable buildx.
68+ ifeq ($(BUILD_MULTI_ARCH_IMAGES ) ,true)
69+ BUILDX = buildx
70+ endif
71+
6972ifneq ($(BUILD_MULTI_ARCH_IMAGES ) ,true)
7073include $(CURDIR ) /deployments/container/native-only.mk
7174else
@@ -105,7 +108,7 @@ build-ubuntu%: DOCKERFILE_SUFFIX = ubuntu
105108build-ubi9 : DOCKERFILE_SUFFIX = ubi9
106109
107110# Use a generic build target to build the relevant images
108- $(BUILD_TARGETS ) : build -% :
111+ $(IMAGE_TARGETS ) : image -% :
109112 DOCKER_BUILDKIT=1 \
110113 $(DOCKER ) $(BUILDX ) build --pull \
111114 --provenance=false --sbom=false \
@@ -116,3 +119,20 @@ $(BUILD_TARGETS): build-%:
116119 --build-arg SAMPLE_NAME=$(SAMPLE ) \
117120 -f $(DOCKERFILE ) \
118121 $(CURDIR )
122+
123+ # Handle the default build target.
124+ .PHONY : build
125+ build : $(DEFAULT_PUSH_TARGET )
126+ $(DEFAULT_PUSH_TARGET ) : build-$(DEFAULT_PUSH_TARGET )
127+ $(DEFAULT_PUSH_TARGET ) : DIST = $(DEFAULT_PUSH_TARGET )
128+
129+ REGCTL ?= regctl
130+ $(PUSH_TARGETS ) : push-% :
131+ $(REGCTL ) \
132+ image copy \
133+ $(IMAGE ) $(OUT_IMAGE )
134+
135+ push-short :
136+ $(REGCTL ) \
137+ image copy \
138+ $(IMAGE ) $(OUT_IMAGE_NAME ) :$(OUT_IMAGE_VERSION )
0 commit comments