SHELL := /usr/bin/env bash
VERSIONS ?= android-29 android-30 android-31 android-32 android-33 android-34

generate:
	for version in $(VERSIONS); do \
		mkdir -p ./build/$$version ; \
		sed "s/{{ platform }}/$$version/g" templates/Dockerfile > build/$$version/Dockerfile ; \
		sed "s/{{ platform }}/$$version/g" templates/config.ini > build/$$version/config.ini ; \
		sed "s/{{ platform }}/$$version/g" templates/start.sh > build/$$version/start.sh ; \
		sed "s/{{ platform }}/$$version/g" templates/Makefile > build/$$version/Makefile ; \
		sed "s/{{ platform }}/$$version/g" templates/snapshot.sh > build/$$version/snapshot.sh ; \
		sed "s/{{ platform }}/$$version/g" templates/snapshot.expect > build/$$version/snapshot.expect ; \
		sed "s/{{ platform }}/$$version/g" templates/take_snapshot.sh > build/$$version/take_snapshot.sh ; \
		cp base/* ./build/$$version ; \
	done

clean:
	rm -rf ./build

build: generate
	for version in $(VERSIONS); do \
		$(MAKE) -C build/$$version build; \
	done

lint: generate
	for version in $(VERSIONS); do \
		$(MAKE) -C build/$$version lint; \
	done

snapshot: generate build
	for version in $(VERSIONS); do \
		$(MAKE) -C build/$$version snapshot; \
	done

tag: generate
	for version in $(VERSIONS); do \
		$(MAKE) -C build/$$version tag; \
	done

REGISTRY ?= images.caffeinetux.com

login:
	@docker login -u "$(DOCKER_USER)" -p "$(DOCKER_PASS)" "$(REGISTRY)"

push: login
	for version in $(VERSIONS); do \
		$(MAKE) -C build/$$version push; \
	done
