Skip to content

Instantly share code, notes, and snippets.

@frob
Forked from rcmachado/Makefile
Last active February 18, 2019 19:56
Show Gist options
  • Save frob/17c8d8a8f12a761dccc2b0873e4f5321 to your computer and use it in GitHub Desktop.
Save frob/17c8d8a8f12a761dccc2b0873e4f5321 to your computer and use it in GitHub Desktop.
Add a help target to a Makefile that will allow all targets to be self documenting
.SILENT:
.PHONY: help
# Based on https://gist.github.com/prwhite/8168133#comment-1313022
## Print this help screen.
help:
printf "Available targets\n\n"
awk '/^[a-zA-Z\-\_0-9]+:/ { \
helpMessage = match(lastLine, /^## (.*)/); \
if (helpMessage) { \
helpCommand = substr($$1, 0, index($$1, ":")-1); \
helpMessage = substr(lastLine, RSTART + 3, RLENGTH); \
printf "%-15s \n\t%s\n\n", helpCommand, helpMessage; \
} \
} \
{ lastLine = $$0 }' $(MAKEFILE_LIST)
## Another dummy task
another-dummy-task:
echo dummy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment