summaryrefslogtreecommitdiff
path: root/server/test/Makefile
blob: 95668dcbc2ea854658d980ec386a401bf3e512cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# +-----------------------------------------------------------+
# * Docker tests for the autobuild script
# +-----------------------------------------------------------+

# List of available OS.
DOCKER_OS = $(patsubst %.Dockerfile.in, %, \
		$(notdir $(wildcard docker/templates/*.Dockerfile.in)))

# Arguments to pass to docker build .
DOCKER_BUILD_ARGS = -q

# Advice make not to delete these "intermediate" files.
.PRECIOUS: docker/%.Dockerfile docker/.%.build

.PHONY: all test check docker/build

all: docker/test
test: docker/test
check: docker/test

# Create the Dockerfile
docker/%.Dockerfile: docker/templates/%.Dockerfile.in \
		     docker/templates/Dockerfile.in
	@echo Creating Dockerfile for target $*
	cat $^ > $@

# Build the Dockerfile
docker/.%.build: docker/%.Dockerfile ../autobuild docker/lib
	@echo Building target $*
	podman build $(DOCKER_BUILD_ARGS) -t epdfinfo/$* -f $< ../
	touch $@

# Run the Dockerfile
docker/%: docker/.%.build
	@echo Running tests on target $*
	podman run epdfinfo/$*

# Run all Dockerfiles
docker/test: docker/build $(patsubst %, docker/%, $(DOCKER_OS))

# Build all Dockerfiles
docker/build: $(patsubst %, docker/.%.build, $(DOCKER_OS))

clean:
	rm -f -- docker/.[^.]*.build
	rm -f -- docker/*.Dockerfile

print:
	@for os in $(DOCKER_OS); do echo $$os; done | sort