Ошибка конфигурации Flymake при программировании на C

При попытке запустить M-x Flymake-Mode в Emacs я получаю:

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

Я вызываю команду в буфере helloworld.c:

#include <stdio.h>

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

И создайте файл Makefile в том же каталоге:

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

Я запускаю GNU Emacs 23.0.91.1 под Ubuntu 9.04.

Спасибо заранее!

Ответ 1

Makefile' must contain the target-syntax 'target. Добавьте это в Makefile:

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

Убедитесь, что вы используете TAB для запуска второй строки. Также есть ошибка с flymake, которая заставляет вас называть Makefile с капиталом M. Это не сработает, если вы, скажем, назовете его "makefile". Следите за этим!

Ответ 2

Является ли это фактическим содержимым вашего файла makefile? Похоже, что перед второй строкой есть пробел ''. Предполагается, что это вкладка:

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

Более того:

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

Имея в виду, что редактор SO, похоже, преобразовал мой символ табуляции в пробелы, поэтому не делайте этого.

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