ColrC is built using make, and though there are plenty of targets in the main directory, ./test, and ./examples, only a few are needed to make confident changes to ColrC. Most test targets have a quiet version that only shows failures in the terminal.
The typical workflow looks like this:
If one of them fails, start over. If all of them pass, congratulations. You didn't break anything.
All make targets can be listed with make help or make targets. I've listed the main targets here.
make cleanmakemake in the source directory will build the colrc tool in debug mode.make releasecolrc tool.make testmake testfastmake testmemcheckmemcheck.make testfullmemcheck mode, and in "sanitized" mode (separately).make testeverythingmake testfull, but also runs memcheck on all source examples, example files, and any examples in the main README. It also builds the coverage report.make testcoveragemake testcoverageviewmake cppcheckreportmake cppcheckviewmake docshtmlmake docsmake cleandocsmake examples./examples. This is not required, but is useful if you've written a new example and you would like to make sure it compiles.make cleanexamplesmake distdeb./dist, and can be installed using sudo dpkg -i <file>. Packages can be uninstalled like any other package (sudo apt remove colr or libcolr-dev).make distdebfull./dist, and can be used with debmake to create debian packages. They include only the minimum build dependencies to compile ColrC (colrc or libcolr) and generate a debian package. When running debmake on the libcolr tarball, you will need to specify the binary spec: debmake -b 'libcolr:lib'