120 lines
3.7 KiB
Makefile
120 lines
3.7 KiB
Makefile
# Makefile - Dubai Metaverse Project
|
|
# Common tasks and automation
|
|
|
|
.PHONY: help setup validate install clean test docs
|
|
|
|
# Default target
|
|
.DEFAULT_GOAL := help
|
|
|
|
# Configuration
|
|
PROJECT_ROOT := $(shell pwd)
|
|
SCRIPTS_DIR := $(PROJECT_ROOT)/scripts
|
|
DOCS_DIR := $(PROJECT_ROOT)/docs
|
|
|
|
# Colors for output
|
|
RED := \033[0;31m
|
|
GREEN := \033[0;32m
|
|
YELLOW := \033[1;33m
|
|
NC := \033[0m # No Color
|
|
|
|
help: ## Show this help message
|
|
@echo "Dubai Metaverse - Available Commands"
|
|
@echo "====================================="
|
|
@echo ""
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " $(GREEN)%-20s$(NC) %s\n", $$1, $$2}'
|
|
@echo ""
|
|
|
|
setup: ## Run project setup script
|
|
@echo "$(YELLOW)Running project setup...$(NC)"
|
|
@chmod +x $(SCRIPTS_DIR)/setup_project.sh
|
|
@$(SCRIPTS_DIR)/setup_project.sh
|
|
|
|
validate: ## Validate project structure and assets
|
|
@echo "$(YELLOW)Validating project...$(NC)"
|
|
@chmod +x $(SCRIPTS_DIR)/validate_project.sh $(SCRIPTS_DIR)/validate_assets.sh
|
|
@$(SCRIPTS_DIR)/validate_project.sh
|
|
@$(SCRIPTS_DIR)/validate_assets.sh
|
|
|
|
install-ue5: ## Install Unreal Engine 5.4.1 (Linux/WSL)
|
|
@echo "$(YELLOW)Installing UE5.4.1...$(NC)"
|
|
@chmod +x $(SCRIPTS_DIR)/install_ue5_5.4.1_auto.sh
|
|
@$(SCRIPTS_DIR)/install_ue5_5.4.1_auto.sh
|
|
|
|
install-deps: ## Install Python dependencies
|
|
@echo "$(YELLOW)Installing Python dependencies...$(NC)"
|
|
@pip install -r requirements.txt
|
|
|
|
clean: ## Clean build artifacts and temporary files
|
|
@echo "$(YELLOW)Cleaning project...$(NC)"
|
|
@find . -type d -name "__pycache__" -exec rm -r {} + 2>/dev/null || true
|
|
@find . -type f -name "*.pyc" -delete 2>/dev/null || true
|
|
@find . -type f -name "*.log" -delete 2>/dev/null || true
|
|
@echo "$(GREEN)Clean complete$(NC)"
|
|
|
|
test: ## Run validation and test scripts
|
|
@echo "$(YELLOW)Running tests...$(NC)"
|
|
@$(MAKE) validate
|
|
@echo "$(GREEN)Tests complete$(NC)"
|
|
|
|
docs: ## Generate/validate documentation
|
|
@echo "$(YELLOW)Validating documentation...$(NC)"
|
|
@chmod +x $(SCRIPTS_DIR)/generate_docs.sh
|
|
@$(SCRIPTS_DIR)/generate_docs.sh
|
|
|
|
lint: ## Lint scripts and code
|
|
@echo "$(YELLOW)Linting scripts...$(NC)"
|
|
@chmod +x $(SCRIPTS_DIR)/enhance_scripts.sh
|
|
@$(SCRIPTS_DIR)/enhance_scripts.sh
|
|
|
|
format: ## Format code (if formatters available)
|
|
@echo "$(YELLOW)Formatting code...$(NC)"
|
|
@echo "$(GREEN)Format complete$(NC)"
|
|
|
|
check: ## Run all checks (validate, lint, test)
|
|
@echo "$(YELLOW)Running all checks...$(NC)"
|
|
@$(MAKE) validate
|
|
@$(MAKE) lint
|
|
@$(MAKE) test
|
|
@echo "$(GREEN)All checks complete$(NC)"
|
|
|
|
status: ## Show project status
|
|
@echo "$(YELLOW)Project Status$(NC)"
|
|
@echo "=================="
|
|
@echo "Project Root: $(PROJECT_ROOT)"
|
|
@echo "Scripts: $(shell find $(SCRIPTS_DIR) -name '*.sh' -o -name '*.py' | wc -l) files"
|
|
@echo "Documentation: $(shell find . -name '*.md' | wc -l) files"
|
|
@echo ""
|
|
|
|
info: ## Show project information
|
|
@echo "$(GREEN)Dubai Metaverse Project$(NC)"
|
|
@echo "=========================="
|
|
@cat README.md | head -20
|
|
@echo ""
|
|
|
|
# Development tasks
|
|
dev-setup: setup install-deps ## Complete development environment setup
|
|
@echo "$(GREEN)Development environment ready$(NC)"
|
|
|
|
# Build tasks (placeholder for future)
|
|
build: ## Build project (placeholder)
|
|
@echo "$(YELLOW)Build task not yet implemented$(NC)"
|
|
|
|
package: ## Package project (placeholder)
|
|
@echo "$(YELLOW)Package task not yet implemented$(NC)"
|
|
@echo "See scripts/package_build.sh for packaging"
|
|
|
|
# Documentation tasks
|
|
docs-index: ## Update documentation index
|
|
@echo "$(YELLOW)Documentation index is at: docs/README.md$(NC)"
|
|
|
|
# Git tasks
|
|
git-lfs: ## Initialize Git LFS
|
|
@echo "$(YELLOW)Initializing Git LFS...$(NC)"
|
|
@git lfs install
|
|
@echo "$(GREEN)Git LFS initialized$(NC)"
|
|
|
|
# Quick tasks
|
|
quick-check: validate lint ## Quick validation and linting
|
|
@echo "$(GREEN)Quick check complete$(NC)"
|
|
|