diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4255138 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM ubuntu:24.04 + +RUN apt update && apt install -y \ + build-essential \ + cmake \ + gdb \ + valgrind \ + git \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /project + +COPY . . + +CMD ["bash"] diff --git a/Makefile b/Makefile index cbbd7e9..2a73121 100644 --- a/Makefile +++ b/Makefile @@ -29,3 +29,5 @@ clean: $(MAKE) -C logger clean $(MAKE) -C app clean $(MAKE) -C tests clean + +include docker.mk diff --git a/docker.mk b/docker.mk new file mode 100644 index 0000000..6ef7d25 --- /dev/null +++ b/docker.mk @@ -0,0 +1,36 @@ +DOCKER_IMAGE := threaded-logger-test + +.PHONY: docker-build docker-run docker-shell docker-test docker-clean + +docker-build: + docker build \ + -t $(DOCKER_IMAGE) \ + . + +docker-run: + docker run \ + --rm \ + -it \ + -v $(ROOT_DIR):/project \ + -w /project \ + $(DOCKER_IMAGE) + +docker-shell: + docker run \ + --rm \ + -it \ + -v $(ROOT_DIR):/project \ + -w /project \ + $(DOCKER_IMAGE) \ + bash + +docker-test: + docker run \ + --rm \ + -v $(ROOT_DIR):/project \ + -w /project \ + $(DOCKER_IMAGE) \ + make clean all + +docker-clean: + docker rmi $(DOCKER_IMAGE)