Я пишу программу C, используя gcc в cygwin. Мой вопрос: как вы создаете make-файл? Я имею в виду, какое у него расширение файла? Я знаю, как писать простые правила, но я не могу сохранить файл в текстовом редакторе с правильным расширением? Невозможно найти информацию об этом ... Это непросто вопрос супер-новичка. Так что давайте начнем пылать. :-Pрасширение файла makefile
ответ
Обычно они называются Makefile
, или makefile
. Нет расширения. Это просто соглашение.
Это не тривиально, чтобы написать Makefile, посмотреть руководство или учебник =)
Откройте ваш любимый текстовый редактор и создайте файл с именем Makefile
.
Содержимое может варьироваться, но, если у вас есть программа под названием hello.c
очень, очень простой Makefile
скомпилировать это может быть:
hello: hello.c
gcc -Wall hello.c -o hello.exe
После этого запустить запустить из cygwin
оболочки:
$ ls
hello.c Makefile
$ make
....
И ваш Makefile
попытается скомпилировать hello.c
. Если все пойдет, как и ожидалось, вы можете запустить программу hello.exe
, выполнив следующую команду оболочки:
$ ./hello.exe
Вот хороший учебник по Makefiles.
Файл makefile обычно называется только Makefile
.
Идентификатор файла по умолчанию для файла makefile: Makefile
; это имя, которое GNU Make ищет, когда вы запускаете его без каких-либо параметров. Аргумент -f
позволяет указать альтернативное имя файла, если это необходимо.
Фактически имена GNU make look for указаны [в руководстве] (http://www.gnu.org/software/make/manual/make.html#Makefile-Names): «он пробует следующие имена, чтобы : GNUmakefile, makefile и Makefile ". – bstpierre
Достаточно честный. Но большинство людей, которые пишут make-файлы, используют это имя. –
Вы можете назвать их как хотите, но «.mak» выглядит правильно.
... Google ... http://msdn.microsoft.com/en-us/library/aa380049%28VS.85%29.aspx ... да
Только если вы вызываете make с опцией -f, чтобы указать, какой make-файл использовать. – haziz
Как вы используете Cygwin, который в свою очередь, означает, что вы используете GNU сделать, я процитировать relevant portion of the GNU make manual:
3,2 Какое имя чтобы дать вашему Makefile
по умолчанию, когда сделай выглядит для Makefile, он пытается следующие имен, в следующем порядке: GNUmakefile, Makefile и Makefile. Обычно вы должны вызывать ваш файл makefile либо makefile, либо Makefile. (Мы рекомендуем Makefile , так как она заметно вблизи начало каталога листинга, прямо рядом других важных файлов, таких, как README.) Первое имя проверено, GNUmakefile, не рекомендуется для большинства Makefiles. Вы должны использовать это имя , если у вас есть файл makefile, который является специфичным для GNU make, и не будет , понимаемый другими версиями make. Другие программы make look for makefile и Makefile, но не GNUmakefile.
[...]
Если вы хотите использовать нестандартное имя для вашего Makefile, вы можете указать имя Makefile с «-f» или «--file» вариант. Аргументы «-f имя» или «--file = name» указывают сделать чтение имени файла в качестве файла makefile. Если вы используете более одного параметра «-f» или «--file», вы можете указать несколько make-файлов . Все make-файлы эффективно объединены в указанном порядке. По умолчанию имена файлов makefile GNUmakefile, makefile и Makefile не проверяются автоматически, если вы указываете '-f' или '-file'.
У Makefiles обычно нет расширения. Их обычно называют «makefile» или «Makefile». Иногда, когда кто-то пишет сложный набор make-файлов, которые включают друг друга, включенные файлы получают расширение .mak, чтобы указать, что они являются make-файлами, даже если они не называются «makefile».
В тех немногих местах, где я видел расширений, используемых на именах Makefile они, как правило, были либо .make
или .gmk
, и даже тогда эти расширения, как правило, зарезервированы для Makefile фрагменты, которые включены искусными файлов данных один из имена по умолчанию.
- 1. расширение файла makefile
- 2. Расширение/оценка переменной файла Makefile
- 3. Получить расширение файла из правила Makefile
- 4. задержка Makefile расширение переменного
- 5. Расширение переменной в Makefile
- 6. Postgresql расширение Makefile возвращения ошибки
- 7. расширение Wildcard в Makefile цели
- 8. Неверное расширение переменной «$?» в Makefile
- 9. Получение имени файла makefile из файла makefile
- 10. Заменить имя файла в Makefile
- 11. Зависимости файла заголовка файла Makefile
- 12. Поддерживает ли расширение GNU Makefile расширение «path/{a, b}»?
- 13. Изменение файла makefile
- 14. Очистить фрагмент файла makefile?
- 15. Создание вложенного файла makefile
- 16. makefile итерация файла filename
- 17. Создание общего файла makefile
- 18. override Цель файла Makefile
- 19. Ошибка компиляции файла makefile
- 20. использовать расширение параметра оболочки в Makefile
- 21. Расширение зависимого имени для шаблона Makefile
- 22. Расширение переменной Bash внутри строки (makefile)
- 23. Позднее расширение переменной в gnu Makefile
- 24. Makefile сменить имя файла в скрытые файлы
- 25. Предложить расширение файла из файла
- 26. makefile link dir/имя файла
- 27. разрешено разрешение исполняемого файла makefile
- 28. ARM Описание раздела файла Makefile
- 29. с Makefile - нет входного файла
- 30. Генератор Makefile создает два файла
Используйте любое расширение файла, которое вам нравится. Например, назовите его 'makefile', или вы можете назвать его' makefile.mytotallyawesomemakefiletypeoffile' – JoshD
Ну на машине Linux обычно нет расширения вообще - это просто «makefile» или «Makefile». Вы можете называть это чем угодно и использовать опцию '-f', чтобы сказать« make », которая будет использоваться. – Pointy