Makefile 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. FORCE_REBUILD ?= 0
  2. JITSI_RELEASE ?= stable
  3. JITSI_BUILD ?= latest
  4. JITSI_REPO ?= jitsi
  5. JITSI_SERVICES ?= base base-java web prosody jicofo jvb jigasi jibri spot
  6. BUILD_ARGS := --build-arg JITSI_REPO=$(JITSI_REPO) --build-arg JITSI_RELEASE=$(JITSI_RELEASE)
  7. ifeq ($(FORCE_REBUILD), 1)
  8. BUILD_ARGS := $(BUILD_ARGS) --no-cache
  9. endif
  10. all: build-all
  11. release: tag-all push-all
  12. build:
  13. docker build $(BUILD_ARGS) --progress plain --tag $(JITSI_REPO)/$(JITSI_SERVICE) $(JITSI_SERVICE)/
  14. $(addprefix build_,$(JITSI_SERVICES)):
  15. $(MAKE) --no-print-directory JITSI_SERVICE=$(patsubst build_%,%,$@) build
  16. tag:
  17. docker tag $(JITSI_REPO)/$(JITSI_SERVICE):latest $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_BUILD)
  18. push:
  19. docker push $(JITSI_REPO)/$(JITSI_SERVICE):latest
  20. docker push $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_BUILD)
  21. %-all:
  22. @$(foreach SERVICE, $(JITSI_SERVICES), $(MAKE) --no-print-directory JITSI_SERVICE=$(SERVICE) $(subst -all,;,$@))
  23. clean:
  24. docker-compose stop
  25. docker-compose rm
  26. docker network prune
  27. prepare:
  28. docker pull debian:buster-slim
  29. FORCE_REBUILD=1 $(MAKE)
  30. .PHONY: all build tag push clean prepare release $(addprefix build_,$(JITSI_SERVICES))