flymake: Getting the include directories

 
 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.