COMPOSE:=docker-compose
CANARY:=node_modules/.yarn-integrity

.PHONY: all
all: develop

%/$(CANARY):
	$(eval image:=$(patsubst %/$(CANARY),%,$@))
	$(COMPOSE) build $(image)
	$(COMPOSE) run --rm $(image) yarn install --production=false

DFILES:=$(wildcard */Dockerfile)
IMAGES:=$(patsubst %/Dockerfile,%,$(DFILES))

.PHONY: develop
develop: $(patsubst %,%/$(CANARY),$(IMAGES))
	$(COMPOSE) up

.PHONY: production
production:
	$(COMPOSE) -f docker-compose.yml -f docker-compose.prod.yml build
	$(COMPOSE) -f docker-compose.yml -f docker-compose.prod.yml up -d