diff --git a/docker-arm64/.build b/docker-arm64/.build new file mode 100644 index 0000000..e69de29 diff --git a/docker-arm64/Dockerfile b/docker-arm64/Dockerfile new file mode 100644 index 0000000..8ad1d8a --- /dev/null +++ b/docker-arm64/Dockerfile @@ -0,0 +1,8 @@ +FROM ubuntu:22.04 +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential pkg-config \ + libsdl2-dev libsdl2-image-dev \ + libavformat-dev libavcodec-dev libavutil-dev libswresample-dev \ + && rm -rf /var/lib/apt/lists/* +WORKDIR /workspace diff --git a/docker-arm64/Makefile b/docker-arm64/Makefile new file mode 100644 index 0000000..e5d79e8 --- /dev/null +++ b/docker-arm64/Makefile @@ -0,0 +1,25 @@ +.PHONY: shell build clean + +IMAGE_NAME = arm64-dev +PROJECT_DIR := $(shell cd .. && pwd) + +CONTAINER_NAME = $(shell docker ps -f "ancestor=$(IMAGE_NAME)" --format "{{.Names}}") + +.build: Dockerfile + docker build --platform linux/arm64 -t $(IMAGE_NAME) . + touch .build + +ifeq ($(CONTAINER_NAME),) +shell: .build + docker run --platform linux/arm64 -it --rm -v "$(PROJECT_DIR)":/workspace $(IMAGE_NAME) /bin/bash +else +shell: + docker exec -it $(CONTAINER_NAME) /bin/bash +endif + +build: .build + docker run --platform linux/arm64 --rm -v "$(PROJECT_DIR)":/workspace $(IMAGE_NAME) make + +clean: + docker rmi $(IMAGE_NAME) + rm -f .build