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 clean
make
make
in the source directory will build the colrc
tool in debug mode.make release
colrc
tool.make test
make testfast
make testmemcheck
memcheck
.make testfull
memcheck
mode, and in "sanitized" mode (separately).make testeverything
make 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 testcoverage
make testcoverageview
make cppcheckreport
make cppcheckview
make docshtml
make docs
make cleandocs
make 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 cleanexamples
make 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'