turn GNU Make into a better task runner with one file
Find a file
2022-09-05 13:31:30 -05:00
src chore: make clear epilog supports f-string 2022-09-05 13:31:30 -05:00
.gitignore add src 2022-09-05 12:23:17 -05:00
generate.py add src 2022-09-05 12:23:17 -05:00
Makefile add src 2022-09-05 12:23:17 -05:00
README.md refactor: change colors -> color 2022-09-05 13:03:53 -05:00
setup.cfg add src 2022-09-05 12:23:17 -05:00

task.mk

GNU make is the task runner we love to hate, but can't escape. So let's improve the UX for users.

So I give you task.mk, a standalone makefile you can deploy alongside your own Makefile's to add some QOL improvements for your users and fellow maintainers.

Current Features:

  • ANSI Color Support
  • Formatted Help Screen
  • Custom print function

Depends on GNU Make, obviously and Python >=3.7.

Wait python?!, I'm not pip installing some package just to parse my makefile. I agree, so I've hacked together a file containing the bits of python we need with some tricks to run it.

Usage

You can include this as an optional dependency on your project by adding the below lines the end of your make file. When your users first your make help it will download task.mk. If you intend to use any of the other features like tprint (see below), I'd recommend committing .task.mk into version control so behavior is consistent.

-include .task.mk
$(if $(filter help,$(MAKECMDGOALS)),.task.mk: ; curl -fsSL https://raw.githubusercontent.com/daylinmorgan/task.mk/22.9.5/task.mk -o .task.mk)