# 切换到 bash SHELL := /bin/bash # 定义变量 REGISTRY_MARK ?= registry.yqxpro.com REGISTRY ?= crpi-kbfsbvlqwt19zxum-vpc.cn-hongkong.personal.cr.aliyuncs.com/registry-yqxpro GIT_SHA := $(shell git rev-parse --short HEAD) # 定义所有需要构建的子目录 SUBDIRS = common-base develop-base universal-base # 默认目标:按顺序构建所有子目录 all: $(SUBDIRS) # 定义每个子目录的构建规则 $(SUBDIRS): @echo "Building $@..." @pushd $@ && \ npx devcontainer build \ --platform linux/amd64,linux/arm64 \ --image-name devcontainers/$@ \ --cache-to type=local,src=$(HOME)/docker-buildcache/devcontainers-$@,mode=max \ --cache-from type=local,src=$(HOME)/docker-buildcache/devcontainers-$@ && \ docker tag devcontainers/$@ $(REGISTRY_MARK)/devcontainers/$@ && \ docker tag devcontainers/$@ $(REGISTRY)/devcontainers-$@:$(GIT_SHA) && \ docker push $(REGISTRY)/devcontainers-$@:$(GIT_SHA) && \ popd # 伪目标声明 .PHONY: all parallel clean $(SUBDIRS)