# Common rules & variables for building Docker images. # Calling makefiles just need to set IMAGE then include this file, e.g.,: # IMAGE = foobar # include ../docker.make ARM=arm64 INTEL=amd64 image: image_arm image_intel image_arm: Dockerfile docker buildx build -t $(IMAGE):$(ARM) --platform linux/$(ARM) . @touch $@ image_intel: Dockerfile docker buildx build -t $(IMAGE):$(INTEL) --platform linux/$(INTEL) . @touch $@ manifest: image_arm image_intel - docker manifest rm $(IMAGE) docker manifest create $(IMAGE) $(IMAGE):$(INTEL) $(IMAGE):$(ARM) @touch $@ push: manifest docker push $(IMAGE):$(ARM) docker push $(IMAGE):$(INTEL) docker manifest push $(IMAGE) debug: @echo "IMAGE=$(IMAGE)" @echo "ARM=$(ARM)" @echo "INTEL=$(INTEL)"