handlebars.c
bake
handlebars.c | bake | |
---|---|---|
1 | 2 | |
33 | 23 | |
- | - | |
10.0 | 4.7 | |
over 1 year ago | 3 months ago | |
C | Shell | |
GNU Lesser General Public License v3.0 only | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
handlebars.c
-
The Unreasonable Effectiveness of Makefiles
Yes, I used autotools[0]. It's definitely hairier than plain make, but you get a lot of useful features on top of it. There's thousands of examples all over the internet so it's easy to reference them.
I like the elegance of pure make, and do use it when appropriate, but I wouldn't really want to reimplement the things autotools does myself in it.
[0]: https://github.com/jbboehr/handlebars.c/blob/master/configur...
bake
-
The Unreasonable Effectiveness of Makefiles
Honestly, I only find Makefiles useful when I have a tiny C/C++ project and need stuff just to compile quickly and easily without the overhead of a real build system.
For literally everything else, I found myself using it more as a task runner - and Make doesn't do a great job at it. You end up mixing Bash and Make variables, string interpolation, and it becomes really messy, really fast. Not to mention the footguns associated with Make.
I found bake (https://github.com/hyperupcall/bake) to suit my needs (disclaimer: I wrote it). It's literally just a Bash script with all the boilerplate taken care of you - what a task runner is meant to be imo
-
Basalt: The rock-solid Bash package manager
Nope, I didn't add that in bakefiles because it seemed like supporting that in a declarative way would be overkill. Very simple dependencies can just be ran manually just as you think they could (calling `task.dev`), but I intentionally didn't want to bake in support for longer ones (at least not right now)
What are some alternatives?
checkexec - CLI tool to conditionally execute commands only when files in a dependency list have been updated. Like `make`, but standalone.
tclmake - Partial make clone in pure Tcl
make-booster - Utility routines to simplify using GNU make and Python
bash-object - Manipulate heterogenous data hierarchies in Bash.
sub - a delicious way to organize programs
just - 🤖 Just a command runner
Airflow - Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
dagger - Application Delivery as Code that Runs Anywhere
docker-flask-example - A production ready example Flask app that's using Docker and Docker Compose.