Larry
Larry

Reputation:

Flymake configuration error while programming in C

When trying to run M-x Flymake-Mode in Emacs I get:

Flymake: Configuration error has occured while running (make -s -C ./CHK_SOURCES=helloworld_flymake.c SYNTAX_CHECK_MODE=1 check-syntax). Flymake will be switched OFF

I am invoking the command in a buffer called helloworld.c:

#include <stdio.h>

int main(void) {
  printf("Hello World");
  return 0;
}

And have a file called Makefile in the same directory:

helloworld: helloworld.c
 gcc helloworld.c -o helloworld

I'm running GNU Emacs 23.0.91.1 under Ubuntu 9.04.

Thanks in advance!

Upvotes: 11

Views: 3594

Answers (2)

Larry
Larry

Reputation:

Makefile' must contain thecheck-syntax' target. Append this to the Makefile:

check-syntax:
     gcc -o nul -S ${CHK_SOURCES}

Make sure you use a TAB to start the second line. Also there is a bug with flymake that makes you have to name the Makefile with a capital M. It won't work if you, say, call it "makefile." Watch out for that!

Upvotes: 19

1800 INFORMATION
1800 INFORMATION

Reputation: 135295

Is this the actual content of your makefile? It looks like there is a space ' ' before the second line. This is supposed to be a tab:

helloworld: helloworld.c
 gcc helloworld.c -o helloworld

More like this:

helloworld: helloworld.c
    gcc helloworld.c -o helloworld

Keeping in mind, that the SO editor seems to have converted my tab character to spaces, so don't do that.

helloworld: helloworld.c
<press tab here>gcc helloworld.c -o helloworld

Upvotes: 1

Related Questions