These three configuration parameters are used to exclude source files from instrumentation (but not from compilation).. They define matching rules consecutively.

All files matching the EXCLUDE list are not instrumented, except they also match the NO_EXCLUDE list (but not the NO_INCLUDE list).

To define a matching pattern, "*" is used as a wildcard. The variable "%INCLUDES%" is used for all files that are included in another source file.

Example 1:
EXCLUDE = *\test*.c
could be used to exclude all test code from the instrumentation, if all these source files start with "test".
Example 2: With
NO_EXCLUDE = *\Xheader.h
all included files are excluded (typically header files), but Xheader.h is not excluded.

A file included inside a function is not handled with these parameters. It is instrumented if the including function is instrumented.