# Licensed under the Apache License, Version 2.0 (the "License") # This is adopted from https://github.com/tetratelabs/func-e/blob/3df66c9593e827d67b330b7355d577f91cdcb722/Makefile#L60-L76. # ANSI escape codes. f_ means foreground, b_ background. # See https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters. f_black := $(shell printf "\33[30m") b_black := $(shell printf "\33[40m") f_white := $(shell printf "\33[97m") f_gray := $(shell printf "\33[37m") f_dark_gray := $(shell printf "\33[90m") f_bright_cyan := $(shell printf "\33[96m") b_bright_cyan := $(shell printf "\33[106m") ansi_reset := $(shell printf "\33[0m") ansi_$(name) := $(b_black)$(f_black)$(b_bright_cyan)$(name)$(ansi_reset) ansi_format_dark := $(f_gray)$(f_bright_cyan)%-10s$(ansi_reset) $(f_dark_gray)%s$(ansi_reset)\n ansi_format_bright := $(f_white)$(f_bright_cyan)%-10s$(ansi_reset) $(f_black)$(b_bright_cyan)%s$(ansi_reset)\n # This formats help statements in ANSI colors. To hide a target from help, don't comment it with a trailing '##'. help: ## Describe how to use each target @printf "$(ansi_$(name))$(f_white)\n" @awk 'BEGIN {FS = ":.*?## "} /^[0-9a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "$(ansi_format_dark)", $$1, $$2}' $(MAKEFILE_LIST)