diff --git a/clitools/makefile b/clitools/makefile index 0b661fb..05a5f52 100644 --- a/clitools/makefile +++ b/clitools/makefile @@ -73,6 +73,15 @@ clean: $(BUILDINFO_FILE) \ $(OUT_DIR)/crds +dockerclean: + @echo "Removing tagged images..." + - docker rmi \ + localhost/monok8s/control-agent:$(VERSION) \ + 2>/dev/null || true + + @echo "Removing dangling images..." + - docker image prune -f + all: build build-agent build-local .PHONY: clean all run .buildinfo build build-local build-agent uboot-tools diff --git a/makefile b/makefile index 118d279..57574a0 100644 --- a/makefile +++ b/makefile @@ -45,7 +45,6 @@ BUILD_VERSION ?= $(KUBE_VERSION) BUILD_DATE := $(shell date -u +%Y-%m-%dT%H:%M:%SZ) BUILD_GIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo unknown) BUILD_INFO_FILE := $(OUT_DIR)/build-info -BUILD_BASE_TAG := $(shell docker image inspect monok8s/build-base:dev | jq -r '.[].Id' | cut -d':' -f2 | cut -c -8 || echo dev) # ---- File groups ------------------------------------------------------------- @@ -201,14 +200,15 @@ $(INITRAMFS): $(INITRAMFS_DEPS) | $(OUT_DIR) $(CLITOOLS_BIN): $(CLITOOLS_SRCS) $(MAKE) -C clitools build-agent -vpp: $(VPP_TAR) $(DPDK_TAR) $(FMLIB_TAR) $(FMC_TAR) $(NXP_TAR) +vpp: $(BUILD_BASE_STAMP) $(VPP_TAR) $(DPDK_TAR) $(FMLIB_TAR) $(FMC_TAR) $(NXP_TAR) + @build_base_tag=$$(docker image inspect $(DOCKER_IMAGE_ROOT)/build-base:$(TAG) | jq -r '.[0].Id' | cut -d':' -f2 | cut -c -8); \ @mkdir -p $(OUT_DIR)/vpp docker build \ -f docker/vpp.Dockerfile \ --build-arg APT_PROXY=$(APT_PROXY) \ --build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \ --build-arg TAG=$(TAG) \ - --build-arg BUILD_BASE_TAG=$(BUILD_BASE_TAG) \ + --build-arg BUILD_BASE_TAG=$$build_base_tag \ --build-arg NXP_VERSION=$(NXP_VERSION) \ --build-arg FMLIB_TAR=$(FMLIB_TAR) \ --build-arg FMLIB_VERSION=$(FMLIB_VERSION) \ @@ -240,6 +240,7 @@ $(BOARD_ITB): $(ITB_DEPS) | $(OUT_DIR) test -f $@ $(RELEASE_IMAGE): $(RELEASE_DEPS) | $(OUT_DIR) + @build_base_tag=$$(docker image inspect $(DOCKER_IMAGE_ROOT)/build-base:$(TAG) | jq -r '.[0].Id' | cut -d':' -f2 | cut -c -8); \ docker build \ -f docker/alpine.Dockerfile \ --no-cache \ @@ -250,7 +251,7 @@ $(RELEASE_IMAGE): $(RELEASE_DEPS) | $(OUT_DIR) --build-arg KUBE_VERSION=$(KUBE_VERSION) \ --build-arg CRIO_VERSION=$(CRIO_VERSION) \ --build-arg DEVICE_TREE_TARGET=$(DEVICE_TREE_TARGET) \ - --build-arg BUILD_BASE_TAG=$(BUILD_BASE_TAG) \ + --build-arg BUILD_BASE_TAG=$$build_base_tag \ -t $(DOCKER_IMAGE_ROOT)/buildenv-alpine:$(TAG) . @cid=$$(docker create \ @@ -315,6 +316,25 @@ clean: distclean: clean rm -rf $(OUT_DIR) +dockerclean: + $(MAKE) -C clitools dockerclean + @echo "Removing tagged images..." + - docker rmi \ + $(DOCKER_IMAGE_ROOT)/build-base:$(TAG) \ + $(DOCKER_IMAGE_ROOT)/vpp-source:$(TAG) \ + $(DOCKER_IMAGE_ROOT)/vpp:$(TAG) \ + $(DOCKER_IMAGE_ROOT)/buildenv-alpine:$(TAG) \ + 2>/dev/null || true + + @echo "Removing build-base IID tags..." + @docker images --format '{{.Repository}}:{{.Tag}}' \ + | grep '^$(DOCKER_IMAGE_ROOT)/build-base:' \ + | grep -v ':$(TAG)$$' \ + | xargs -r docker rmi 2>/dev/null || true + + @echo "Removing dangling images..." + - docker image prune -f + pkgclean: rm -rf $(PACKAGES_DIR)