Next: Locating the buildfile, Previous: Locating a master file, Up: Flymake Implementation [Contents][Index]

### 5.4 Getting the include directories

Two sets of include directories are distinguished: system include directories and project include directories. The former is just the contents of the `INCLUDE` environment variable. The latter is not so easy to obtain, and the way it can be obtained can vary greatly for different projects. Therefore, a customizable variable `flymake-get-project-include-dirs-function` is used to provide the way to implement the desired behavior.

The default implementation, `flymake-get-project-include-dirs-imp`, uses a `make` call. This requires a correct base directory, that is, a directory containing a correct `Makefile`, to be determined.

As obtaining the project include directories might be a costly operation, its return value is cached in the hash table. The cache is cleared in the beginning of every syntax check attempt.