commit 3e5c398

shrub  ·  2026-05-14 12:49:31 +0000 UTC
parent b483835
readme
3 files changed,  +21, -8
A shin
R README => README.md
+15, -5
 1@@ -9,9 +9,9 @@ stuff, graphviz dot for vizualisation, and compile_commands.json which
 2 is helpful for clang tooling.
 3 
 4 the end goal is to be 99% compatible with both posix and gnu style
 5-makefiles. right now this is somewhat far from being true; only a subset 
 6-of make grammar is supported, enough to parse quite a lot of makefiles
 7-(like this project's own makefile, and musl)
 8+makefiles. right now this is mostly true; only a majority of make features
 9+and grammar is supported, enough to parse quite a lot of makefiles. complex
10+make-based build systems like the linux kernel's Kbuild still have a way to go.
11 
12 if you want to help out, there's lots to do. feel free to make a 
13 contibution. some high-priority tasks are listed in the TODO file.
14@@ -19,6 +19,16 @@ contibution. some high-priority tasks are listed in the TODO file.
15 it is implemented in C99. it is also extensively tested against an extremely
16 large test suite, which includes tests from multiple projects, including the 
17 entire gnu make test suite, some from kati, and all of pdpmake's test. overall,
18-this is 4200+ tests. 
19+this is 4200+ tests. you can read more about that in 'tests/readme'.
20 
21-this is public domain software
22+you can build and install shinobi like so:
23+
24+```
25+make
26+make install 
27+```
28+
29+this is public domain software. 
30+the primary repository is located at https://codeberg.org/derivelinux/shinobi
31+there is a mirror at https://git.sr.ht/~shrub900/shinobi , although it may sometimes be 
32+slightly behind.
A shin
+0, -0
R tests/readme => tests/README.md
+6, -3
 1@@ -1,9 +1,12 @@
 2 tests
 3+-----
 4 
 5-this is the test suite for shinobi. it consistes of a parralel runner written in go, and a bucket of thousands of makefile fragments, mostly from the GNU make test suite, but also from the kati and pdpmake test suites.
 6+this is the test suite for shinobi. it consistes of a parralel runner written in go, and a bucket of thousands of makefile fragments, mostly from the GNU make test suite, but also from the kati and pdpmake test suites, as well as a few i wrote myself.
 7 
 8-the test cases are contained in the mk/ directory. each test case has three files: a 'mk' file with the test makefile, an 'out' file with the expected output, and a 'test.json' file with various metadata about the test case, how it should be executed, files that should be created that the test depends on, and so on.
 9+the test cases are contained in the mk/ directory. each test case has three files: a 'mk' file with the test makefile, an 'out' file with the expected output, and a 'test.json' file with a json object containing various metadata about the test case, how it should be executed, files that should be created that the test depends on, and so on.
10 
11 to run the entire test suite from the repo root, simply run 'make test'. to run individual tests, run 'make shin helper runner' and then 'tests/shintest.sh suite/category/subcategory'. for example, gnu/targets/POSIX. to run a whole suite or category, you can just do 'gnu' or 'gnu/targets' .
12 
13-in the future, tests from netbsd, openbsd, solaris and others will also be incorporated into this suite.
14+in the future, tests from netbsd, openbsd, solaris and others will also be incorporated into this suite. if you want to write some tests, and you can think of specific edge cases, features, and the like that none of our tests cover yet, feel free to make a pull request.
15+
16+just a note that currently, the test suite must be ran with the official c++ ninja implementation: samurai will not work, as it does not have the --quiet flag.