2026-02-07 19:36:48 +00:00
|
|
|
# ==============================================================================
|
|
|
|
|
# BUILD (Docker images and native for Incus)
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
|
2026-03-05 18:35:57 +00:00
|
|
|
.PHONY: build build-backend-api build-stream-server build-web
|
2026-02-07 19:36:48 +00:00
|
|
|
.PHONY: build-all build-all-native build-service
|
|
|
|
|
|
2026-03-05 18:35:57 +00:00
|
|
|
build: build-all ## [HIGH] Build all services (alias)
|
|
|
|
|
|
2026-02-07 19:36:48 +00:00
|
|
|
build-backend-api: ## [LOW] Build Go backend Docker image
|
|
|
|
|
@$(ECHO_CMD) "${BLUE}🔨 Building backend-api...${NC}"
|
|
|
|
|
@docker build -t $(PROJECT_NAME)-backend-api:latest -f $(ROOT)/$(SERVICE_DIR_backend-api)/Dockerfile.production $(ROOT)/$(SERVICE_DIR_backend-api) || \
|
|
|
|
|
($(ECHO_CMD) "${YELLOW}Using local Dockerfile...${NC}" && \
|
|
|
|
|
docker build -t $(PROJECT_NAME)-backend-api:latest -f $(ROOT)/$(SERVICE_DIR_backend-api)/Dockerfile $(ROOT)/$(SERVICE_DIR_backend-api))
|
|
|
|
|
|
|
|
|
|
build-stream-server: ## [LOW] Build Rust stream server Docker image
|
|
|
|
|
@$(ECHO_CMD) "${BLUE}🔨 Building stream-server...${NC}"
|
|
|
|
|
@docker build -t $(PROJECT_NAME)-stream-server:latest -f $(ROOT)/$(SERVICE_DIR_stream-server)/Dockerfile.production $(ROOT)/$(SERVICE_DIR_stream-server) || \
|
|
|
|
|
docker build -t $(PROJECT_NAME)-stream-server:latest -f $(ROOT)/$(SERVICE_DIR_stream-server)/Dockerfile $(ROOT)/$(SERVICE_DIR_stream-server))
|
|
|
|
|
|
|
|
|
|
build-web: ## [LOW] Build web frontend Docker image
|
|
|
|
|
@$(ECHO_CMD) "${BLUE}🔨 Building web...${NC}"
|
|
|
|
|
@docker build -t $(PROJECT_NAME)-web:latest -f $(ROOT)/$(SERVICE_DIR_web)/Dockerfile.production $(ROOT)/$(SERVICE_DIR_web) || \
|
|
|
|
|
docker build -t $(PROJECT_NAME)-web:latest -f $(ROOT)/$(SERVICE_DIR_web)/Dockerfile $(ROOT)/$(SERVICE_DIR_web))
|
|
|
|
|
|
|
|
|
|
build-all: ## [MID] Build all services (Docker images)
|
|
|
|
|
@$(ECHO_CMD) "${BLUE}🔨 Building all services...${NC}"
|
|
|
|
|
@$(MAKE) -s build-backend-api
|
|
|
|
|
@$(MAKE) -s build-stream-server
|
|
|
|
|
@$(MAKE) -s build-web
|
|
|
|
|
@$(ECHO_CMD) "${GREEN}✅ All services built.${NC}"
|
|
|
|
|
|
|
|
|
|
build-all-native: ## [MID] Build all services natively (for Incus)
|
|
|
|
|
@$(ECHO_CMD) "${BLUE}🔨 Building all services natively...${NC}"
|
|
|
|
|
@$(INCUS_SCRIPTS)/build-native.sh all
|
|
|
|
|
@$(ECHO_CMD) "${GREEN}✅ All services built natively.${NC}"
|
|
|
|
|
|
|
|
|
|
build-service: ## [MID] Build a specific service (usage: make build-service SERVICE=backend-api)
|
|
|
|
|
@if [ -z "$(SERVICE)" ]; then $(ECHO_CMD) "${RED}❌ Please specify SERVICE=name${NC}"; exit 1; fi
|
|
|
|
|
@$(ECHO_CMD) "${BLUE}🔨 Building $(SERVICE)...${NC}"
|
|
|
|
|
@$(MAKE) -s build-$(SERVICE)
|
|
|
|
|
@$(ECHO_CMD) "${GREEN}✅ $(SERVICE) built.${NC}"
|