34 lines
727 B
Makefile
34 lines
727 B
Makefile
|
|
# Contains automatic help generator based comments on target
|
||
|
|
# and other utilities
|
||
|
|
|
||
|
|
define BROWSER_PYSCRIPT
|
||
|
|
import os, webbrowser, sys
|
||
|
|
|
||
|
|
try:
|
||
|
|
from urllib import pathname2url
|
||
|
|
except:
|
||
|
|
from urllib.request import pathname2url
|
||
|
|
|
||
|
|
webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1])))
|
||
|
|
endef
|
||
|
|
export BROWSER_PYSCRIPT
|
||
|
|
|
||
|
|
define PRINT_HELP_PYSCRIPT
|
||
|
|
import re, sys
|
||
|
|
|
||
|
|
for line in sys.stdin:
|
||
|
|
match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line)
|
||
|
|
if match:
|
||
|
|
target, help = match.groups()
|
||
|
|
print("%-20s %s" % (target, help))
|
||
|
|
endef
|
||
|
|
export PRINT_HELP_PYSCRIPT
|
||
|
|
|
||
|
|
BROWSER := python -c "$$BROWSER_PYSCRIPT"
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
help: ## make TARGET forwards the TARGET to sub packages
|
||
|
|
@cat $(MAKEFILE_LIST) | python -c "$$PRINT_HELP_PYSCRIPT"
|