Files
Krow-workspace/Makefile
bwnyasse b8d156b35a feat(Makefile): restructure Makefile into modular files for better organization and maintainability
feat(Makefile): introduce common.mk for shared variables and environment configuration
feat(Makefile): create web.mk for web frontend-related tasks
feat(Makefile): create launchpad.mk for internal launchpad deployment tasks
feat(Makefile): create mobile.mk for mobile app development tasks
feat(Makefile): create dataconnect.mk for Data Connect management tasks
feat(Makefile): create tools.mk for development tools like git hooks
feat(Makefile): remove admin-web specific tasks and files as the admin console is no longer actively maintained
feat(Makefile): update help command to reflect the new modular structure and available commands
feat(Makefile): remove base44 export workflow as it is no longer relevant
feat(Makefile): remove IAP configuration as it is no longer used
feat(Makefile): remove harness-related tasks as they are no longer relevant

The Makefile has been significantly refactored to improve organization and maintainability. The changes include:

- Modularization: The monolithic Makefile has been split into smaller, more manageable files, each responsible for a specific area of the project (web, launchpad, mobile, dataconnect, tools).
- Common Configuration: Shared variables and environment configuration are now centralized in common.mk.
- Removal of Unused Tasks: Tasks related to the admin console, base44 export workflow, IAP configuration, and API test harness have been removed as they are no longer relevant.
- Updated Help Command: The help command has been updated to reflect the new modular structure and available commands.
- Improved Readability: The modular structure makes the Makefile easier to read and understand.
- Maintainability: The modular structure makes it easier to maintain and update the Makefile.
- Scalability: The modular structure makes it easier to add new tasks and features to the Makefile.
2026-01-10 20:59:18 -05:00

54 lines
2.5 KiB
Makefile

# KROW Workforce Project Makefile
# -------------------------------
# This is the main entry point. It includes modular Makefiles from the 'makefiles/' directory.
# The default command to run if no target is specified.
.DEFAULT_GOAL := help
# --- Include Modules ---
include makefiles/common.mk
include makefiles/web.mk
include makefiles/launchpad.mk
include makefiles/mobile.mk
include makefiles/dataconnect.mk
include makefiles/tools.mk
# --- Main Help Command ---
.PHONY: help
help:
@echo "--------------------------------------------------"
@echo " KROW Workforce - Available Makefile Commands"
@echo "--------------------------------------------------"
@echo ""
@echo " --- CORE DEVELOPMENT ---"
@echo " make install - Installs web frontend dependencies."
@echo " make dev - Starts the local web frontend server."
@echo " make build - Builds the web frontend for production."
@echo " make launchpad-dev - Starts the local launchpad server (Firebase Hosting emulator)."
@echo ""
@echo " --- MOBILE APP DEVELOPMENT ---"
@echo " make mobile-client-install - Install dependencies for client app"
@echo " make mobile-client-dev - Run client app in dev mode"
@echo " make mobile-client-build - Build client app (requires ENV & PLATFORM)"
@echo " make mobile-staff-install - Install dependencies for staff app"
@echo " make mobile-staff-dev - Run staff app in dev mode"
@echo " make mobile-staff-build - Build staff app (requires ENV & PLATFORM)"
@echo ""
@echo " --- DEPLOYMENT ---"
@echo " make deploy-launchpad-hosting - Deploys internal launchpad to Firebase Hosting."
@echo " make deploy-app [ENV=staging] - Builds and deploys the main web app (default: dev)."
@echo ""
@echo " --- DEVELOPMENT TOOLS ---"
@echo " make install-git-hooks - Installs git pre-push hook to protect main/dev branches."
@echo ""
@echo " --- DATA CONNECT MANAGEMENT ---"
@echo " make dataconnect-init - Initializes Firebase Data Connect."
@echo " make dataconnect-deploy - Deploys Data Connect schemas."
@echo " make dataconnect-sql-migrate - Applies SQL migrations."
@echo " make dataconnect-generate-sdk - Regenerates the Data Connect SDK."
@echo " make dataconnect-sync - Runs migrate + deploy + generate-sdk."
@echo " make dataconnect-bootstrap-db - ONE-TIME: Full Cloud SQL + Data Connect setup."
@echo ""
@echo " make help - Shows this help message."
@echo "--------------------------------------------------"