# Copyright (C) 2024 - Tillitis AB # SPDX-License-Identifier: GPL-2.0-only # image produced by build-image targets BUILDIMAGE=tkey-builder-local # default image used when running a container IMAGE=ghcr.io/tillitis/tkey-builder:4 all: @echo "Targets:" @echo "run Run a shell using image '$(IMAGE)' (Podman)" @echo "run-make Build the FPGA bitstream using image '$(IMAGE)' (Podman)" @echo "run-tb Run all the testbenches using image '$(IMAGE)' (Podman)" @echo "run-make-no-clean Like run-make but without cleaning first, useful for iterative firmware dev" @echo "run-make-clean_fw Like run-make but cleans only firmware" @echo "flash Program the SPI flash on the TKey - needs an existing bitstream" @echo "pull Pull down the image '$(IMAGE)' (Podman)" @echo "build-image Build a toolchain image named '$(BUILDIMAGE)' (Podman)" @echo " A newly built image can be used like: make IMAGE=$(BUILDIMAGE) run" @echo "docker-run Run a shell using image '$(IMAGE)' (Docker)" @echo "docker-build-image Build a toolchain image named '$(BUILDIMAGE)' (Docker)" run: podman run --rm --mount type=bind,source="`pwd`/../",target=/build -w /build -it \ $(IMAGE) /usr/bin/bash docker-run: docker run --rm --mount type=bind,source="`pwd`/../",target=/build -w /build -it \ $(IMAGE) /usr/bin/bash run-make: podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \ $(IMAGE) make clean application_fpga.bin run-make-spi: podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \ $(IMAGE) make clean application_fpga.bin YOSYS_FLAG=-DINCLUDE_SPI_MASTER run-tb: podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \ $(IMAGE) make tb run-make-testfw: podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \ $(IMAGE) make clean application_fpga_testfw.bin run-make-no-clean: podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \ $(IMAGE) make application_fpga.bin run-make-clean_fw: podman run --rm --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build -w /build -it \ $(IMAGE) make clean_fw application_fpga.bin flash: podman run --rm \ --device /dev/bus/usb/$(lsusb | grep -m 1 1209:8886 | awk '{ printf "%s/%s", $2, substr($4,1,3) }') \ --mount type=bind,source="`pwd`/../hw/application_fpga",target=/build \ -w /build/hw/application_fpga \ -it $(IMAGE) tillitis-iceprog /build/application_fpga.bin pull: podman pull $(IMAGE) build-image: podman build -t $(BUILDIMAGE) . docker-build-image: docker build -t $(BUILDIMAGE) .