commit bc76c9a

shrub900  ·  2026-04-20 21:28:55 +0000 UTC
parent 6d98fd5
readme update
1 files changed,  +12, -11
M README
M README
+12, -11
 1@@ -1,21 +1,22 @@
 2 shinobi
 3 -------
 4 
 5-shinobi is a compiler for makefiles. it parses, expands, and generates
 6-build graphs. the graph can then be used to emit some backend. right
 7-now there is two backends, ninja (for actually building stuff) and 
 8-graphviz dot, for vizualisation.
 9+shinobi is a compiler for makefiles. it parses using a line-oriented
10+parser, expands and evaluates, and generates a static build graph of 
11+targets and  dependencies. the graph can then be used to emit some 
12+backend. right now there is three backends, ninja for actually building 
13+stuff, graphviz dot for vizualisation, and compile_commands.json which
14+is helpful for clang tooling.
15 
16 the end goal is to be 99% compatible with both posix and gnu style
17-makefiles. right now this is not close to being true; only a subset 
18-of make grammar is supported, enough to parse very simple makefiles
19-(like this project's own makefile)
20+makefiles. right now this is somewhat far from being true; only a subset 
21+of make grammar is supported, enough to parse quite a lot makefiles
22+(like this project's own makefile, and musl)
23 
24 if you want to help out, there's lots to do. feel free to make a 
25-contibution.
26+contibution. some high-priority tasks are listed in the TODO file.
27 
28 it is implemented in C99. the perl in this repo is just the gnu make 
29-test suite.
30-
31-this is public domain software
32+test suite (of which 646/3865 tests pass, at the time of writing)
33 
34+this is public domain software