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.
54 lines
2.5 KiB
Makefile
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 "--------------------------------------------------"
|