Some interesting ideas for sure.<p>But by reading the "Usage" guide, I did not find how to implement this:<p><pre><code> EXEC = example.exe
SOURCES = src/main.c src/example.c # ...
OBJECTS = src/main.o src/example.o # ...
HEADERS = includes/example.h # ...
all: $(EXEC)
$(EXEC): $(OBJECTS)
$(CC) $(LDFLAGS) $^ -o $@
%.o: %.c $(HEADERS)
$(CC) $(CFLAGS) -c $< -o $@
</code></pre>
On another note, make is not that hard, it's available on every platform, a Makefile can be very short even for complex build systems. I'm not sure replacing it with a YAML file is such a great idea.<p>Don't get me wrong, some of the features exposed here are very good and I would like to have them in make:<p><pre><code> - .env support and dynamic variables (like the GIT_COMMIT example)
- namespaces
- explicit fingerprinting
- cleanup with defer
- dry run mode</code></pre>