Previous: Example---Configuring a tool called directly, Up: Adding support for a new syntax check tool [Contents][Index]
In this example we will add support for C files syntax checked by
gcc
called via make
.
We’re not required to write any new functions, as Flymake already has
functions for make
. We just add a new entry to the
flymake-allowed-file-name-masks
:
(setq flymake-allowed-file-name-masks (cons '(".+\\.c$" flymake-simple-make-init flymake-simple-cleanup flymake-get-real-file-name) flymake-allowed-file-name-masks))
flymake-simple-make-init
builds the following make
command line:
(list "make" (list "-s" "-C" base-dir (concat "CHK_SOURCES=" source) "SYNTAX_CHECK_MODE=1" "check-syntax"))
base-dir
is a directory containing Makefile
, see Locating the buildfile.
Thus, Makefile
must contain the check-syntax
target. In
our case this target might look like this:
check-syntax: gcc -o /dev/null -S ${CHK_SOURCES}
The format of error messages reported by gcc
is already
supported by Flymake, so we don’t have to add a new entry to
flymake-err-line-patterns
. Note that if you are using
Automake, you may want to replace gcc
with the standard
Automake variable COMPILE
:
check-syntax: $(COMPILE) -o /dev/null -S ${CHK_SOURCES}