44
55# TODO(@olshansk): Remove "Shannon" and just use "Pocket".
66
7+ # Patterns for classified help categories (automatically used by help-unclassified)
8+ HELP_PATTERNS := \
9+ '^(help|help-unclassified):' \
10+ '^path_(build|run):' \
11+ '^config.*:' \
12+ '^(path_up.*|path_down|install_tools.*|localnet_.*):' \
13+ '^load_test.*:' \
14+ '^(test_unit|test_all|go_lint):' \
15+ '^e2e_test.*:' \
16+ '^bench.*:' \
17+ '^(get_disqualified_endpoints|grove_get_disqualified_endpoints|shannon_preliminary_services_test_help|shannon_preliminary_services_test|source_shannon_preliminary_services_helpers):' \
18+ '^(portal_db_help):' \
19+ '^proto.*:' \
20+ '^release_.*:' \
21+ '^(go_docs|docusaurus.*|gen_.*_docs):' \
22+ '^test_(request|healthz|disqualified|load).*:' \
23+ '^bench_.*:' \
24+ '^claudesync.*:'
25+
726.PHONY : help
827.DEFAULT_GOAL := help
928help : # # Prints all the targets in all the Makefiles
1029 @echo " "
1130 @echo " $( BOLD) $( CYAN) 🌐 PATH (Path API & Toolkit Harness) Makefile Targets$( RESET) "
1231 @echo " "
1332 @echo " $( BOLD) === 📋 Information & Discovery ===$( RESET) "
14- @grep -h -E ' ^help:.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
33+ @grep -h -E ' ^( help|help-unclassified) :.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
1534 @echo " "
1635 @echo " $( BOLD) === 🔨 Build & Run ===$( RESET) "
1736 @grep -h -E ' ^path_(build|run):.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
@@ -20,7 +39,7 @@ help: ## Prints all the targets in all the Makefiles
2039 @grep -h -E ' ^config.*:.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
2140 @echo " "
2241 @echo " $( BOLD) === 🛠️ Development Environment ===$( RESET) "
23- @grep -h -E ' ^(path_up|path_down|install_tools.*|localnet_.*):.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
42+ @grep -h -E ' ^(path_up.* |path_down|install_tools.*|localnet_.*):.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
2443 @echo " "
2544 @echo " $( BOLD) === 🚀 Load Testing ===$( RESET) "
2645 @grep -h -E ' ^load_test.*:.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
@@ -36,16 +55,14 @@ help: ## Prints all the targets in all the Makefiles
3655 @grep -h -E ' ^(get_disqualified_endpoints|grove_get_disqualified_endpoints|shannon_preliminary_services_test_help|shannon_preliminary_services_test|source_shannon_preliminary_services_helpers):.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
3756 @echo " "
3857 @echo " $( BOLD) === 🗄️ Portal Database ===$( RESET) "
39- @grep -h -E ' ^portal_db.* :.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
58+ @grep -h -E ' ^(portal_db_help) :.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
4059 @echo " "
4160 @echo " $( BOLD) === 📦 Protocol Buffers ===$( RESET) "
4261 @grep -h -E ' ^proto.*:.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
4362 @echo " "
4463 @echo " $( BOLD) === 🚢 Release Management ===$( RESET) "
4564 @grep -h -E ' ^release_.*:.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
4665 @echo " "
47- @echo " $( BOLD) === 🔧 Utilities ===$( RESET) "
48- @echo " "
4966 @echo " $( BOLD) === 📚 Documentation ===$( RESET) "
5067 @grep -h -E ' ^(go_docs|docusaurus.*|gen_.*_docs):.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
5168 @echo " "
@@ -59,6 +76,23 @@ help: ## Prints all the targets in all the Makefiles
5976 @grep -h -E ' ^claudesync.*:.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}'
6077 @echo " "
6178
79+ .PHONY : help-unclassified
80+ help-unclassified : # # Show all unclassified targets
81+ @echo " "
82+ @echo " $( BOLD) $( CYAN) 📦 Unclassified Targets$( RESET) "
83+ @echo " "
84+ @grep -h -E ' ^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST ) | sed ' s/:.*//g' | sort -u > /tmp/all_targets.txt
85+ @ ( \
86+ for pattern in $( HELP_PATTERNS) ; do \
87+ grep -h -E " $$ pattern.*?## .*\$ $" $(MAKEFILE_LIST ) 2> /dev/null || true ; \
88+ done \
89+ ) | sed ' s/:.*//g' | sort -u > /tmp/classified_targets.txt
90+ @comm -23 /tmp/all_targets.txt /tmp/classified_targets.txt | while read target; do \
91+ grep -h -E " ^$$ target:.*?## .*\$ $" $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "$(CYAN)%-40s$(RESET) %s\n", $$1, $$2}' ; \
92+ done
93+ @rm -f /tmp/all_targets.txt /tmp/classified_targets.txt
94+ @echo " "
95+
6296# ############################
6397# ### PATH Build Targets ###
6498# ############################
@@ -93,6 +127,15 @@ check_path_config:
93127path_run : path_build check_path_config # # Run the path binary as a standalone binary
94128 (cd bin; ./path -config ../${CONFIG_PATH} )
95129
130+ # ##############################
131+ # ## Portal Database Help ###
132+ # ##############################
133+
134+ .PHONY : portal_db_help
135+ portal_db_help : # # Show Portal DB makefile targets
136+ @echo " To use these commands: ${CYAN} cd ./portal-db && make <command>${RESET} "
137+ @cd ./portal-db && make help
138+
96139# ##############################
97140# ## Makefile imports ###
98141# ##############################
@@ -104,7 +147,6 @@ include ./makefiles/deps.mk
104147include ./makefiles/devtools.mk
105148include ./makefiles/docs.mk
106149include ./makefiles/localnet.mk
107- include ./makefiles/portal-db.mk
108150include ./makefiles/test.mk
109151include ./makefiles/bench.mk
110152include ./makefiles/test_requests.mk
0 commit comments