include build.env export TAG ?= dev PACKAGES_DIR := packages BUSYBOX_TAR := $(PACKAGES_DIR)/busybox-$(BUSYBOX_VERSION).tar.gz ALPINE_TAR := $(PACKAGES_DIR)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz NXP_TAR := $(PACKAGES_DIR)/$(NXP_VERSION).tar.gz CRIO_TAR := $(PACKAGES_DIR)/$(CRIO_VERSION).tar.gz $(BUSYBOX_TAR): @mkdir -p $(PACKAGES_DIR) curl -L -o $@ "https://github.com/mirror/busybox/archive/refs/tags/$(BUSYBOX_VERSION).tar.gz" $(ALPINE_TAR): @mkdir -p $(PACKAGES_DIR) curl -L -o $@ "https://dl-cdn.alpinelinux.org/alpine/v$(ALPINE_SERIES)/releases/$(ALPINE_ARCH)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz" $(NXP_TAR): @mkdir -p $(PACKAGES_DIR) curl -L -o $@ "https://github.com/nxp-qoriq/linux/archive/refs/tags/$(NXP_VERSION).tar.gz" $(CRIO_TAR): @mkdir -p $(PACKAGES_DIR) curl -L -o $@ "https://storage.googleapis.com/cri-o/artifacts/$(CRIO_VERSION).tar.gz" build-base: docker build \ -f docker/build-base.Dockerfile \ --build-arg TAG=$(TAG) \ -t $(DOCKER_IMAGE_ROOT)/build-base:$(TAG) . kernel-build: build-base $(NXP_TAR) docker build \ -f docker/kernel-build.Dockerfile \ --build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \ --build-arg TAG=$(TAG) \ --build-arg ARCH=$(ARCH) \ --build-arg CROSS_COMPILE=$(CROSS_COMPILE) \ --build-arg NXP_VERSION=$(NXP_VERSION) \ --build-arg DEVICE_TREE_TARGET=$(DEVICE_TREE_TARGET) \ -t $(DOCKER_IMAGE_ROOT)/kernel-build:$(TAG) . fit-build: kernel-build $(BUSYBOX_TAR) docker build \ -f docker/fit-build.Dockerfile \ --build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \ --build-arg TAG=$(TAG) \ --build-arg ARCH=$(ARCH) \ --build-arg CROSS_COMPILE=$(CROSS_COMPILE) \ --build-arg BUSYBOX_VERSION=$(BUSYBOX_VERSION) \ -t $(DOCKER_IMAGE_ROOT)/fit-build:$(TAG) . itb: fit-build docker build \ -f docker/itb.Dockerfile \ --build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \ --build-arg TAG=$(TAG) \ --build-arg ARCH=$(ARCH) \ --build-arg DEVICE_TREE_TARGET=$(DEVICE_TREE_TARGET) \ --output type=local,dest=./out \ -t $(DOCKER_IMAGE_ROOT)/itb:$(TAG) . buildenv-alpine: build-base $(ALPINE_TAR) $(CRIO_TAR) docker build \ -f docker/alpine.Dockerfile \ --build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \ --build-arg TAG=$(TAG) \ --build-arg ALPINE_ARCH=$(ALPINE_ARCH) \ --build-arg ALPINE_VER=$(ALPINE_VER) \ --build-arg CRIO_VERSION=$(CRIO_VERSION) \ -t $(DOCKER_IMAGE_ROOT)/buildenv-alpine:$(TAG) . alpine-rootfs: buildenv-alpine kernel-build docker run --rm -it \ --privileged \ -v /cache/apk:/var/cache/apk \ -v /cache/artifacts:/artifacts \ -e ROOTFS=/out/rootfs \ -e ARTIFACT_DIR=/artifacts \ $(DOCKER_IMAGE_ROOT)/buildenv-alpine:$(TAG) \ bash -lc '/build-rootfs.sh'