A minimal subset of GNU Make focused on running full shell scripts.
With go
$ go get github.com/keroxp/shake
With wget
$ wget https://github.com/keroxp/shake/releases/download/{{version}}/shake_{{os}}_{{arch}}.zip -O shake.zip
$ unzip shake.zip
$ mv shake /usr/local/bin/shake $ shake task1 task2 task3There are several difference between Shakefile and Makefile. Frankly speaking, Shakefile doesn't have almost all features that Makefile does.
That is, because Shakefile is designed for describing universal toil tasks in various kind of projects, not just for C.
For example, I'm using Makefile for building, testing and deploying Docker Image in my production project.
Obviously, Makefile is a powerful, simple, and universal task runner that has a long history and wide usages.
However, I found that there are, just in my case, useless features designed for building C/C++ software and critical lacks for describing modern complicated project's task.
If you have built and deployed Docker application with alpine-linux, you certainly know usefulness about shell script. Shell script is essential component for sipping modern application in arbitrary platforms.
But Makefile can't run full shell script, especially recognize multiline expressions and variable expansion.
So, I decided to make Makefile that can run full shell scripts.
Yusuke Sakurai (@keroxp)
MIT
