catala/build_system
Louis Gesbert 50fad76df3 Clerk: copy files to _build and run catala there
this is more consistent, avoids empty stamp files and should make things simpler
overall.

The slightly tricky `-C` option is added to Catala so that it can be run from
_build while paths to source and destination files are still specified relative
to CWD (Ninja doesn't provide string manipulation, so otherwise we would have to
explicit both the `_build/dir/` and `dir/` versions of each path).
2023-09-27 13:18:28 +02:00
..
clerk_driver.ml Clerk: copy files to _build and run catala there 2023-09-27 13:18:28 +02:00
clerk_driver.mli Clerk: rewrite 'clerk runtest' to use the new lightweight lexer 2023-09-27 13:18:18 +02:00
clerk_runtest.ml Clerk: rewrite 'clerk runtest' to use the new lightweight lexer 2023-09-27 13:18:18 +02:00
clerk_runtest.mli Clerk: rewrite 'clerk runtest' to use the new lightweight lexer 2023-09-27 13:18:18 +02:00
clerk_scan.ml Clerk: rewrite 'clerk runtest' to use the new lightweight lexer 2023-09-27 13:18:18 +02:00
clerk_scan.mli Clerk: rewrite 'clerk runtest' to use the new lightweight lexer 2023-09-27 13:18:18 +02:00
clerk.ml Big reformatting 2022-03-08 15:03:14 +01:00
dune Clerk: rewrite 'clerk runtest' to use the new lightweight lexer 2023-09-27 13:18:18 +02:00
ninja_utils.ml Clerk: rewrite 'clerk runtest' to use the new lightweight lexer 2023-09-27 13:18:18 +02:00
ninja_utils.mli Reformat 2023-09-27 13:14:38 +02:00
README.md docs(clerk): add documentation about clerk and the Ninja_utils module 2022-02-24 14:05:05 +01:00

Clerk

The build system for Catala built on top of ninja.

Usage

Use clerk --help if you have installed it to get more information about the command line options available. To get the development version of the help, run make help_clerk after make build. The clerk binary corresponds to the Catala build system, responsible for testing among other things.

Under the hood

To perform tests, Clerk will first generate a build.ninja file with required rules and build statements retrieved from the given input path(s), before executing the command ninja test.

The handling of the ninja structure is done with the module Ninja_utils.