The clangformat target updates all files in-place while the clangformat-dryrun target prints an error message for each format-change clang-format would apply. The latter exits with a non-zero error code if there are any changes.