Add some building documentation that clarifies the make targets
All checks were successful
Validate the build / validate-build (push) Successful in 26s
All checks were successful
Validate the build / validate-build (push) Successful in 26s
This commit is contained in:
parent
0f9ced8eb1
commit
1571c52012
29
doc/BUILDING.md
Normal file
29
doc/BUILDING.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Building
|
||||||
|
|
||||||
|
To build oas in the default configuration you just need (gnu) make and a
|
||||||
|
sufficiently modern clang.
|
||||||
|
|
||||||
|
```
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
|
## Make targets
|
||||||
|
|
||||||
|
There are a number of make targets available to build various instrumented
|
||||||
|
builds that are used in validation, analysis and sanitizing. Some of these may
|
||||||
|
require extra dependencies.
|
||||||
|
|
||||||
|
|
||||||
|
- `debug`: Creates the debug build in `build/debug`. This is the default target.
|
||||||
|
- `all`: Builds all binary executable targets. These are
|
||||||
|
`debug`, `release`, `msan`, `asan` and `afl`. All executables can be found
|
||||||
|
in `build/` in a subdirectory matching their target names.
|
||||||
|
- `release`: Creates the release build in `build/release`
|
||||||
|
- `afl`: Creates a build with AFL++ instrumentation for fuzzing
|
||||||
|
- `fuzz`: Starts the fuzzer with the instrumented afl executable
|
||||||
|
- `asan`: builds with the address and undefined clang sanitizers
|
||||||
|
- `msan`: builds with the memory clang sanitizer
|
||||||
|
- `validate`: Builds `debug`, `msan`, and `asan` targets, then runs the
|
||||||
|
validation script. This script executes the sanitizer targets and runs
|
||||||
|
Valgrind on the debug target across multiple modes and test input files.
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user