COMPOSE:=sudo 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