40 lines
1.0 KiB
Makefile
40 lines
1.0 KiB
Makefile
.DEFAULT_GOAL := help
|
|
COLOR_RESET ?= \033[0m
|
|
COLOR_GREEN ?= \033[32m
|
|
COLOR_BROWN ?= \033[33m
|
|
COLOR_BLUE ?= \033[36m
|
|
|
|
##
|
|
# HELP
|
|
|
|
.PHONY: help
|
|
help: usage blank1 target blank2 context ## This help
|
|
|
|
.PHONY: usage
|
|
usage:
|
|
printf "${COLOR_BROWN}Usage:${COLOR_RESET}\n"
|
|
printf "make [target]\n"
|
|
|
|
.PHONY: blank1 blank2
|
|
blank1 blank2:
|
|
printf "\n"
|
|
|
|
.PHONY: target
|
|
## Show available targets
|
|
target:
|
|
printf "${COLOR_BROWN}Targets:${COLOR_RESET}\n"
|
|
awk 'BEGIN {FS = ":.*?## "}; $$0 ~ /^[a-zA-Z_-]+:.*?## .*$$/ {printf "${COLOR_BLUE}%-30s${COLOR_RESET} %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
|
|
|
.PHONY: context
|
|
## Show current context
|
|
context:
|
|
printf "${COLOR_BROWN}Context:${COLOR_RESET}\n"
|
|
$(MAKE) $(CONTEXT)
|
|
|
|
.PHONY: $(CONTEXT)
|
|
$(CONTEXT):
|
|
@printf "${COLOR_BLUE}%-30s${COLOR_RESET} ${COLOR_GREEN}%s${COLOR_RESET}\n" $@ "$($@)"
|
|
|
|
.PHONY: print-%
|
|
print-%: ; @printf "${COLOR_BLUE}%-30s${COLOR_RESET} ${COLOR_GREEN}%s${COLOR_RESET}\n" $* "$($*)"
|