Я нашел make-файл здесь, когда читал об Auto-Tools.
Я никогда не использовал подобный make-файл, я пробовал это сам.
Содержимое make-файла, которое я написал, таково:
all: HelloWorld
clean:
rm -f HelloWorld *.o
Папка с make-файлом содержит еще один файл HelloWorld.c
.
Запуск make
был успешным со следующим выводом:
$> make
cc HelloWorld.c -o HelloWorld
Теперь я попробовал поэкспериментировать и в make-файле переименовал цель для all
в HelloWorl
. На этот раз make
не удалось со следующей ошибкой:
$> make
make: *** No rule to make target `HelloWorl', needed by `all'. Stop.
Пожалуйста, объясните такое поведение make
при автоматическом поиске и компиляции исходного кода.
Насколько я понимаю, он делает исходное имя из целевого имени, добавляя .c
и компилирует его с использованием компилятора по умолчанию cc
.