Make файл что такое: Makefile для самых маленьких / Хабр
MAKE FILE EXTENSION — ЧТО ТАКОЕ ФАЙЛ .MAKE И КАК Я МОГУ ЕГО ОТКРЫТЬ? — РАСШИРЕНИЕ
разработчикяблоко популярность 2,6 (5 голосов) категорияФайлы разработчика ФорматТекст X Этот файл сохраняется в текстовом формате. Вы можете открыть и просмотреть содержимое этого файла с помощью те
Тип файла 1Xcode Makefile Script
разработчик | яблоко |
популярность | 2,6 (5 голосов) |
категория | Файлы разработчика |
Формат | Текст XТекстЭтот файл сохраняется в текстовом формате. Вы можете открыть и просмотреть содержимое этого файла с помощью текстового редактора.
|
Что такое файл MAKE?
Скрипт, написанный как Makefile, тип файла разработчика, который используется для компиляции и компоновки программ из файлов исходного кода; хранит инструкции, используя стандарт GNU make. Дополнительная информация
НОТА: Makefile чаще всего создаются с именем файла Makefile, которое не имеет расширения файла.
СКАЧАТЬ БЕСПЛАТНО Откройте более 300 форматов файлов с помощью File Viewer Plus. Программы, открывающие файлы MAKE
макинтош |
|
Обновлено 16.04.2012
Тип файла 2Drush Makefile
разработчик | Drush Make |
популярность | 1.0 (1 голос) |
категория | Файлы настроек |
Формат | Текст XТекстЭтот файл сохраняется в текстовом формате. Вы можете открыть и просмотреть содержимое этого файла с помощью текстового редактора.
|
Ассоциация файлов .MAKE 2
Файл, используемый Drush make, расширением Drush, предназначенным для создания готовых к использованию веб-сайтов Drupal; сохранен в текстовом формате и содержит информацию, необходимую для загрузки и настройки установки Drupal; указывает версию Drupal, необходимую для веб-сайта, и содержит URL-адрес патча для проекта, если это необходимо. Дополнительная информация
Drush — это сокращение от «Drupal Shell». Это расширение оболочки для программного обеспечения Drupal CMS (система управления контентом), которое позволяет администрировать конфигурации Drupal из командной строки. Drush make — это расширение для этой оболочки, которое читает файлы MAKE и позволяет загружать и настраивать Drupal.
НОТА: Термин «Makefile» обычно относится к файлу с именем Makefile, который используется для встраивания исходного кода в исполняемую программу. Этот тип файла не имеет расширения файла.
Программы, открывающие файлы MAKE Обновлено 04.05.2011
О создании файлов
Наша цель — помочь вам понять, что такое файл с суффиксом * .make и как его открыть.
Все типы файлов, описания форматов файлов и программы, перечисленные на этой странице, были индивидуально исследованы и проверены командой FileInfo. Мы стремимся к 100% точности и публикуем информацию только о тех форматах файлов, которые мы тестировали и проверяли.
Если вы хотите предложить какие-либо дополнения или обновления на этой странице, пожалуйста, сообщите нам об этом.
Что такое Makefile и как начать его использовать – Hexlet Guides
Содержание
- Введение
- Что такое
make
и Makefile- Синтаксис Makefile
- Продвинутое использование
- Фальшивая цель
- Последовательный запуск команд и игнорирование ошибок
- Переменные
- Заключение
- Дополнительные материалы
Введение
В жизни многих разработчиков найдётся история про первый рабочий день с новым проектом. После клонирования основного репозитория проекта наступает этап, когда приходится вводить множество команд с определёнными флагами и в заданной последовательности. Без описания команд, в большинстве случаев, невозможно понять что происходит, например:
# Bash
touch ~/. bash_history
ufw allow 3035/tcp || echo 'cant configure ufw'
ufw allow http || echo 'cant configure ufw'
docker run \
-v /root/:/root/ \
-v /etc:/etc \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/tmp:/var/tmp \
-v /tmp:/tmp \
-v $PWD:/app \
--network host \
-w /app \
--env-file .env \
ansible ansible-playbook ansible/development.yml -i ansible/development --limit=localhost -vv
grep -qxF 'fs.inotify.max_user_watches=524288' /etc/sysctl.conf || echo fs.inotify.max_user_watches=524288 | tee -a /etc/sysctl.conf || echo 'cant set max_user_watches' && sysctl -p
sudo systemctl daemon-reload && sudo systemctl restart docker
Эти команды являются лишь частью того, что необходимо выполнить при разворачивании проекта. В приведённом примере видно, что команды сами по себе длинные, содержат много флагов, а значит, их трудно не только запомнить, но и вводить вручную. Постоянно вести документацию становится сложнее с ростом проекта, она неизбежно устаревает, а порог входа для новичков становится выше, ведь уже никто не в состоянии вспомнить всех деталей проекта. Некоторые такие команды необходимо использовать каждый день, и даже не один раз в день.
Со временем становится понятно, что нужен инструмент, способный объединить в себе подобные команды, предоставить к ним удобные шорткаты (более короткие и простые команды) и обеспечить самодокументацию проекта. Именно таким инструментом стал Makefile и утилита make
. Этот гайд расскажет, как использование этих инструментов позволит свести процесс разворачивания проекта к нескольким коротким и понятным командам:
# Bash
make setup
make start
make test
Что такое make
и Makefile
Makefile — это файл, который хранится вместе с кодом в репозитории. Его обычно помещают в корень проекта. Он выступает и как документация, и как исполняемый код. Мейкфайл скрывает за собой детали реализации и раскладывает “по полочкам” команды, а утилита make
запускает их из того мейкфайла, который находится в текущей директории.
Изначально make
предназначалась для автоматизации сборки исполняемых программ и библиотек из исходного кода. Она поставлялась по умолчанию в большинство *nix дистрибутивов, что и привело к её широкому распространению и повсеместному использованию. Позже оказалось что данный инструмент удобно использовать и при разработке любых других проектов, потому что процесс в большинстве своём сводится к тем же задачам — автоматизация и сборка приложений.
Применение мейка в проектах стало стандартом для многих разработчиков, включая крупные проекты. Примеры мейкфайла можно найти у таких проектов, как Kubernetes, Babel, Ansible и, конечно же, повсеместно на Хекслете.
Синтаксис Makefile
make
запускает цели из Makefile, которые состоят из команд:
# Makefile
цель1: # имя цели, поддерживается kebab-case и snake_case
команда1 # для отступа используется табуляция, это важная деталь
команда2 # команды будут выполняться последовательно и только в случае успеха предыдущей
Но недостаточно просто начать использовать мейкфайл в проекте. Чтобы получить эффект от его внедрения, понадобится поработать над р
MAKE Файл — Как открыть файлы MAKE
1 расширения(ы) и 0 псевдоним(ы) в нашей базе данных
Ниже вы можете найти ответы на следующие вопросы:
- Что такое .make файл?
- Какая программа может создать .make файл?
- Где можно найти описание .make формат?
- Что может конвертировать .make файлы в другой формат?
- Какие MIME-тип связан с .make расширение?
.make
Xcode Make File
MAKE file is an Xcode Make File. Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS.
Категория: Развитие файлы
Название программы: —
MIME-тип: application/octet-stream
Магия байт (HEX): —
Магия строки (ASCII): —
Синонимы:
—
Ссылки:
—
Расширения, связанные с:
Xcode Project
Apple Project Builder Xcode Project
Xcode Debugging Symbols
Xcode Managed Object Model
Xcode Managed Object Model Bundle Package
Xcode Playground File
Xcode Project User Data
Xcode Plug-in
Xcode Scheme Document
Другие типы файлов могут также использовать . make расширение файла. Если у вас есть полезная информация о .make расширение, написать нам!
Возможно ли, что расширение файла с ошибками?
Мы нашли следующие похожие расширения в нашей базе:
My Avatar Editor Character
.make Расширение файла часто дается неправильно!
Согласно поисках на нашем сайте, эти опечатки были наиболее распространенными в прошлом году:
mae (1),
mak (1),
mke (1)
Не удается открыть .make файл?
Если вы хотите открыть .make файл на вашем компьютере, вам просто необходимо иметь соответствующие программы установлены. Если make Ассоциации установлены неправильно, вы можете получить следующее сообщение об ошибке:
Не удалось открыть этот файл:
файла: Например.make
Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать, чтобы открыть его. Окна могут выходить в интернет, чтобы искать его автоматически, или вы можете вручную выбрать из списка программ, установленных на вашем компьютере.
Чтобы изменить ассоциации файлов:
- Щелкните правой кнопкой мыши файл с расширением чье сотрудничество вы хотите изменить, а затем нажмите Открыть с.
- В Открыть с помощью диалоговое окно, выберите программу ти котором вы хотите, чтобы открыть файл, или нажмите Обзор, чтобы найти программу, которую вы хотите.
- Выберите Всегда использовать выбранную программу, чтобы открыть такой файл флажок.
Поддерживаемые операционные системы
Windows Server 2003/2008/2012/2016, Windows 7, Windows 8, Windows 10, Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, iOS, Android
Оцените эту страницу
5 / 5 на основе 26 оценки пользователей.
Написание makefile. Смотреть что такое «Make» в других словарях. Самый простой Мейкфайл
Столкнулся на днях с непонятной ошибкой. Ставлю минимальную версию Freebsd 10.1 на hyperv. После установки указываю через bsdconfig
на единственном интерфейсе hn0 получать настройки от dhcp. Все в порядке, настройки получены, занимаюсь конфигурированием сервера. Потом перезагружаюсь. Во время загрузки сервер Freebsd задумывается 30 секунд на моменте прописки дефолтного шлюза, потом продолжает загрузку. Захожу в систему и вижу, что ip адрес не получен.
Начинаю разбираться в чем дело. Проверяю /etc/rc.conf:
# cat /etc/rc.conf
hostname=»hyperv-freebsd»
ifconfig_hn0=»DHCP»
Все, больше ничего нет. Ошибиться негде. Все должно работать, но не работает. Если вручную запустить dhcp клиент:
# /sbin/dhclient -c /etc/dhclient.conf hn0
то сетевые настройки благополучно получаются.
Я решил добавить настройки dhclient в rc.conf:
Dhclient_program=»/sbin/dhclient»
dhclient_flags=»»
Перезагружаюсь, результата нет, настройки по dhcp опять не получены. Очень странная ситуация, я, честно говоря, тут призадумался. Десятки раз настраивал freebsd, но такое вижу впервые. Делать нечего, решил заглянуть в Handbook. Иду в раздел Автоматическая настройка сети (DHCP) и читаю. Нахожу там интересный момент:
По умолчанию, конфигурирование FreeBSD по протоколу DHCP выполняется фоновым процессом, или асинхронно. Остальные стартовые скрипты продолжают работу не ожидая завершения процесса конфигурирования, тем самым ускоряя загрузку системы.
Фоновое конфигурирование не создает проблем в случае, если сервер DHCP быстро отвечает на запросы, и процесс конфигурирования происходит быстро. Однако, в некоторых случаях настройка по DHCP может длиться значительное время. При этом запуск сетевых сервисов может потерпеть неудачу, если будет произведен ранее завершения конфигурирования по DHCP. Запуск DHCP в синхронном режиме предотвращает проблему, откладывая выполнение остальных стартовых скриптов до момента завершения конфигурирования по DHCP.
Для откладывания запуска стартовых скриптов до завершения конфигурирования по DHCP (синхронный режим), укажите значение SYNCDHCP:
ifconfig_fxp0=»SYNCDHCP»
Стоит попробовать. Указываю в /etc/rc.conf:
Ifconfig_hn0=»SYNCDHCP»
Перезагружаюсь и вуаля, все работает. То ли это особенность виртуальной машины на hyperv, то ли что-то еще, не знаю. Впервые с подобной ситуацией сталкиваюсь. Но решение найдено. Люблю я Freebsd за подробный handbook, но последнее время работаю с фрюшкой все реже и реже в силу различных причин, главная из которых отсутствие нужных дистрибутивов софта под данную систему. Производители программ все реже и реже включают поддержку Freebsd, а жаль.
Помогла статья? Есть возможность автора
Дополнительные материалы по Freebsd
Онлайн курс «Администратор Linux»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux»
в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Проверьте себя на вступительном тесте и смотрите программу детальнее по.
Рекомендую полезные материалы по : |
Описание на одиночный диск, либо на софтовый raid1, сделанный средствами zfs, которые поддерживает стандартный установщик. |
У вас,
вероятно, появился вопрос: можно ли не компилировать эти файлы по
отдельности, а собрать сразу всю программу одной командой? Можно.
gcc calculate.c main.c -o
kalkul -lm
Вы скажете,
что это удобно? Удобно для нашей программы, потому что она состоит
всего из двух c-файлов. Однако профессиональная программа может
состоять из нескольких десятков таких файлов. Каждый раз набирать
названия их всех в одной строке было бы делом чрезмерно утомительным.
Но есть возможность решить эту проблему. Названия всех исходных
файлов и все команды для сборки программы можно поместить в отдельный
текстовый файл. А потом считывать их оттуда одной короткой командой.
Давайте
создадим такой текстовый файл и воспользуемся им. В каталоге проекта
kalkul2 удалите все файлы, кроме calculate.h, calculate.c, main.c.
Затем создайте в этом же каталоге новый файл, назовите его Makefile
(без расширений). Поместите туда следующий текст.
Kalkul: calculate.o main.o
gcc calculate.o main.o -o kalkul -lm
calculate.o: calculate.c calculate.h
gcc -c calculate.c
main.o: main.c calculate.h
gcc -c main.c
clean:
rm -f kalkul calculate.o main.o
install:
cp kalkul /usr/local/bin/kalkul
uninstall:
rm -f /usr/local/bin/kalkul
Обратите
внимание на строки, введённые с отступом от левого края. Этот отступ
получен с помощью клавиши Tab. Только так его и надо делать! Если
будете использовать клавишу «Пробел», команды не будут
исполняться.
Затем дадим
команду, состоящую всего из одного слова:
И сразу же
в нашем проекте появляются и объектные файлы и запускаемый. Программа
make как раз и предназначена для интерпретации команд, находящихся в
файле со стандартным названием Makefile. Рассмотрим его структуру.
Makefile
является списком правил. Каждое правило начинается с указателя,
называемого «Цель». После него стоит двоеточие, а далее
через пробел указываются зависимости. В нашем случае ясно, что
конечный файл kalkul зависит от объектных файлов calculate.o и
main.o. Поэтому они должны быть собраны прежде сборки kalkul. После
зависимостей пишутся команды. Каждая команда должна находиться на
отдельной строке, и отделяться от начала строки клавишей Tab.
Структура правила Makefile может быть очень сложной. Там могут
присутствовать переменные, конструкции ветвления, цикла. Этот вопрос
требует отдельного подробного изучения.
Если мы
посмотрим на три первых правила, то они нам хорошо понятны. Там те же
самые команды, которыми мы уже пользовались. А что же означают
правила clean, install и uninstall?
В правиле
clean стоит команда rm, удаляющая исполняемый и объектные файлы. Флаг
-f означает, что, если удаляемый файл отсутствует, программа должна
это проигнорировать, не выдавая никаких сообщений. Итак, правило
clean предназначено для «очистки» проекта, приведения его
к такому состоянию, в каком он был до команды make.
Запустите
Появились
объектные файлы и исполняемый. Теперь
Объектные и
исполняемый файлы исчезли. Остались только c-файлы, h-файл и сам
Makefile. То есть, проект «очистился» от результатов
команды make.
Правило
install помещает исполняемый файл в каталог /usr/local/bin —
стандартный каталог размещения пользовательских программ. Это значит,
что её можно будет вызывать из любого места простым набором её имени.
Но помещать что-либо в этот
Файл MAKE — Как открыть файл .make? [Шаг-за-шагом]
В таблице ниже предоставляет полезную информацию о расширение файла .make. Он отвечает на вопросы такие, как:
- Что такое файл . make?
- Какое программное обеспечение мне нужно открыть файл .make?
- Как файл .make быть открыты, отредактированы или напечатано?
- Как конвертировать .make файлов в другой формат?
Мы надеемся, что вы найдете на этой странице полезный и ценный ресурс!
1 расширений и 0 псевдонимы, найденных в базе данных
✅ Xcode Make File
Описание (на английском языке):
MAKE file is an Xcode Make File. Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS.
MIME-тип: application/octet-stream
Магическое число: —
Магическое число: —
Образец: —
MAKE псевдонимы:
—
MAKE cсылки по теме:
—
MAKE связанные расширения:
Xcode Project
Apple Project Builder Xcode Project
Xcode Debugging Symbols
Xcode Managed Object Model
Xcode Managed Object Model Bundle Package
Xcode Playground File
Xcode Project User Data
Xcode Plug-in
Xcode Scheme Document
Xcode Configuration Settings
Другие типы файлов могут также использовать расширение файла . make.
🚫 Расширение файла .make часто дается неправильно!
По данным Поиск на нашем сайте эти опечатки были наиболее распространенными в прошлом году:
mae, mak, mke
Это возможно, что расширение имени файла указано неправильно?
Мы нашли следующие аналогичные расширений файлов в нашей базе данных:
My Avatar Editor Character
🔴 Не удается открыть файл .make?
Если дважды щелкнуть файл, чтобы открыть его, Windows проверяет расширение имени файла. Если Windows распознает расширение имени файла, файл открывается в программе, которая связана с этим расширением имени файла. Когда Windows не распознает расширение имени файла, появляется следующее сообщение:
Windows не удается открыть этот файл:
пример.make
Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать для его открытия…
Если вы не знаете как настроить сопоставления файлов . make, проверьте FAQ.
🔴 Можно ли изменить расширение файлов?
Изменение имени файла расширение файла не является хорошей идеей. Когда вы меняете расширение файла, вы изменить способ программы на вашем компьютере чтения файла. Проблема заключается в том, что изменение расширения файла не изменяет формат файла.
Если у вас есть полезная информация о расширение файла .make, напишите нам!
🔴 Оцените нашу страницу MAKE
Пожалуйста, помогите нам, оценив нашу страницу MAKE в 5-звездочной рейтинговой системе ниже. (1 звезда плохая, 5 звезд отличная)
Как открыть файл MAKE? Расширение файла .MAKE
Что такое файл MAKE?
Полное имя формата файлов, которые используют расширение MAKE: Xcode Makefile Script. Формат Xcode Makefile Script был разработан Apple. Файлы с расширением MAKE могут использоваться программами, распространяемыми для платформы Mac OS, Windows. Файлы с расширением MAKE классифицируются как Файлы разработчика файлы. Подмножество Файлы разработчика содержит #NUMEXTENSIONS # различных форматов файлов. Пользователям рекомендуется использовать Visual C++ программное обеспечение для управления MAKE файлами, хотя 3 другие программы также могут обрабатывать этот тип файлов. Программное обеспечение Visual C++ было разработано Microsoft Corporation, и на его официальном веб-сайте вы можете найти дополнительную информацию о файлах MAKE или программном обеспечении Visual C++.
Программы, которые поддерживают MAKE расширение файла
В следующем списке перечислены программы, совместимые с файлами MAKE, которые разделены на категории 2 в зависимости от операционной системы, в которой они доступны. Файлы с расширением MAKE, как и любые другие форматы файлов, можно найти в любой операционной системе. Указанные файлы могут быть переданы на другие устройства, будь то мобильные или стационарные, но не все системы могут быть способны правильно обрабатывать такие файлы.
Как открыть файл MAKE?
Причин, по которым у вас возникают проблемы с открытием файлов MAKE в данной системе, может быть несколько. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами Xcode Makefile Script, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Приведенный ниже список проведет вас через процесс решения возникшей проблемы.
Шаг 1. Скачайте и установите Visual C++
Проблемы с открытием и работой с файлами MAKE, скорее всего, связаны с отсутствием надлежащего программного обеспечения, совместимого с файлами MAKE на вашем компьютере. Эта проблема может быть решена путем загрузки и установки # РЕКОМЕНДОВАННОЙ # или другой совместимой программы, такой как Text editor, Borland C++, Apple Xcode. Выше вы найдете полный список программ, которые поддерживают MAKE файлы, классифицированные в соответствии с системными платформами, для которых они доступны. Если вы хотите загрузить установщик Visual C++ наиболее безопасным способом, мы рекомендуем вам посетить сайт Microsoft Corporation и загрузить его из официальных репозиториев.
Шаг 2. Обновите Visual C++ до последней версии
Если проблемы с открытием файлов MAKE по-прежнему возникают даже после установки Visual C++, возможно, у вас устаревшая версия программного обеспечения. Проверьте веб-сайт разработчика, доступна ли более новая версия Visual C++. Разработчики программного обеспечения могут реализовать поддержку более современных форматов файлов в обновленных версиях своих продуктов. Это может быть одной из причин, по которой MAKE файлы не совместимы с Visual C++. Самая последняя версия Visual C++ обратно совместима и может работать с форматами файлов, поддерживаемыми более старыми версиями программного обеспечения.
Шаг 3. Настройте приложение по умолчанию для открытия MAKE файлов на Visual C++
Если проблема не была решена на предыдущем шаге, вам следует связать MAKE файлы с последней версией Visual C++, установленной на вашем устройстве. Метод довольно прост и мало меняется в разных операционных системах.
Изменить приложение по умолчанию в Windows
- Щелкните правой кнопкой мыши на файле MAKE и выберите «Открыть с помощью опцией».
- Выберите Выбрать другое приложение → Еще приложения
- Чтобы завершить процесс, выберите Найти другое приложение на этом… и с помощью проводника выберите папку Visual C++. Подтвердите, Всегда использовать это приложение для открытия MAKE файлы и нажав кнопку OK .
Изменить приложение по умолчанию в Mac OS
- В раскрывающемся меню, нажав на файл с расширением MAKE, выберите Информация
- Перейдите к разделу Открыть с помощью . Если он закрыт, щелкните заголовок, чтобы получить доступ к доступным параметрам.
- Выберите из списка соответствующую программу и подтвердите, нажав « Изменить для всех» .
- Наконец, это изменение будет применено ко всем файлам с расширением MAKE должно появиться сообщение. Нажмите кнопку Вперед, чтобы подтвердить свой выбор.
Шаг 4. Убедитесь, что файл MAKE заполнен и не содержит ошибок
Вы внимательно следили за шагами, перечисленными в пунктах 1-3, но проблема все еще присутствует? Вы должны проверить, является ли файл правильным MAKE файлом. Проблемы с открытием файла могут возникнуть по разным причинам.
1. Проверьте MAKE файл на наличие вирусов или вредоносных программ.
Если файл заражен, вредоносная программа, находящаяся в файле MAKE, препятствует попыткам открыть его. Рекомендуется как можно скорее сканировать систему на наличие вирусов и вредоносных программ или использовать онлайн-антивирусный сканер. MAKE файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.
2. Убедитесь, что файл с расширением MAKE завершен и не содержит ошибок
Вы получили MAKE файл от другого человека? Попросите его / ее отправить еще раз. Возможно, файл был ошибочно скопирован, а данные потеряли целостность, что исключает доступ к файлу. Это может произойти, если процесс загрузки файла с расширением MAKE был прерван и данные файла повреждены. Загрузите файл снова из того же источника.
3. Убедитесь, что у вас есть соответствующие права доступа
Существует вероятность того, что данный файл может быть доступен только пользователям с достаточными системными привилегиями. Выйдите из своей текущей учетной записи и войдите в учетную запись с достаточными правами доступа. Затем откройте файл Xcode Makefile Script.
4. Убедитесь, что ваше устройство соответствует требованиям для возможности открытия Visual C++
Если в системе недостаточно ресурсов для открытия файлов MAKE, попробуйте закрыть все запущенные в данный момент приложения и повторите попытку.
5. Убедитесь, что ваша операционная система и драйверы обновлены
Регулярно обновляемая система, драйверы и программы обеспечивают безопасность вашего компьютера. Это также может предотвратить проблемы с файлами Xcode Makefile Script. Возможно, что одно из доступных обновлений системы или драйверов может решить проблемы с файлами MAKE, влияющими на более старые версии данного программного обеспечения.
Учебное пособие по
Makefile — Что такое Makefile? Учебное пособие по
Makefile — Что такое Makefile?
Что такое Makefile?
Make — это утилита Unix, предназначенная для запуска выполнения make-файла. Makefile — это специальный файл, содержащий команды оболочки, которые вы создаете и называете makefile (или Makefile в зависимости от системы). Находясь в каталоге, содержащем этот make-файл, вы наберете make , и команды в make-файле будут выполнены. Если вы создаете несколько файлов make, убедитесь, что вы находитесь в правильном каталоге, прежде чем набирать make.
Make отслеживает время последнего обновления файлов (обычно объектных файлов) и обновляет только те файлы, которые необходимы (те, которые содержат изменения), чтобы поддерживать исходный файл в актуальном состоянии. Если у вас большая программа с множеством исходных файлов и / или файлов заголовков, при изменении файла, от которого зависят другие, вы должны перекомпилировать все зависимые файлы. Без make-файла это чрезвычайно трудоемкая задача.
Поскольку make-файл — это список команд оболочки, он должен быть написан для оболочки, которая будет обрабатывать make-файл.Makefile, который хорошо работает в одной оболочке, может некорректно работать в другой оболочке.
Makefile содержит список из правил . Эти правила сообщают системе, какие команды вы хотите выполнить. В большинстве случаев эти правила представляют собой команды для компиляции (или перекомпиляции) серии файлов. Правила, которые должны начинаться в столбце 1, состоят из двух частей. Первая строка называется строкой зависимости , а последующие строки называются действиями или командами . Строка (и) действий должна иметь отступ с табуляцией.
ПРАВИЛО: | ЛИНИЯ ЗАВИСИМОСТИ |
[вкладка] ЛИНИЯ ДЕЙСТВИЙ |
Линия зависимости состоит из двух частей. Первая часть (перед двоеточием) — это целевых файлов, а вторая часть (после двоеточия) — это исходных файлов. Это называется линией зависимости, потому что первая часть зависит от второй части. Несколько целевых файлов должны быть разделены пробелом.Несколько исходных файлов также должны быть разделены пробелом.
ЛИНИЯ ЗАВИСИМОСТИ: | ЦЕЛЕВЫЕ ФАЙЛЫ : | ИСХОДНЫЕ ФАЙЛЫ |
После создания make-файла программу можно (пере) скомпилировать, набрав make в правильном каталоге. Make затем считывает make-файл, создает дерево зависимостей и предпринимает все необходимые действия. Он не обязательно будет выполнять все правила в make-файле, так как все зависимости могут не нуждаться в обновлении. Он восстановит целевые файлы, если они отсутствуют или старше файлов зависимостей.
Если не указано иное, make остановится, когда обнаружит ошибку в процессе построения.
С. М. Гарвер, весна 1998 г.
Что такое Makefile?
Makefile — это форма файла конфигурации, которая используется утилитой make для определения местоположения исходных файлов, которые будут использоваться в приложении. Makefile помогает не только найти исходные файлы, но также помогает определить, как они будут скомпилированы и связаны друг с другом, чтобы исполняемая программа могла запускаться и функционировать.Создание make-файла — важный процесс практически для всех типов компьютерного программирования.
Женщина делает стойку на руках с компьютером
Поскольку make-файл помогает определять направление и функции различных программ, он является важной частью сценария, который является частью всех протоколов make-утилит. Утилиты Make могут несколько отличаться от одного программного приложения к другому. Однако важно отметить, что почти все варианты утилит make будут содержать те же базовые компоненты, что и в таких утилит, как Unix.
В общем, make-файл будет состоять из нескольких строк текста, которые будут определять файл или набор файлов.Каждое из определений файлов будет иметь отношение к предполагаемой функции этого файла в рамках работы программы. Например, выходные файлы будут помечены в строках текста таким образом, чтобы зависимость этих файлов от исходных файлов была очевидной и логичной. Каждая зависимость, указанная в строках текста, будет включать подмножества текста с отступом табуляции, который помогает определить процесс от вывода к вводу и наоборот.
Использование утилиты make и создание make-файла позволяет относительно планировать шаги, выполняемые в больших и часто подробных приложениях. Однако следует отметить, что make-файл можно использовать практически с любым типом скомпилированного языкового приложения. Из-за природы создания make-файла для программиста относительно легко вставить дополнительные строки текста в стратегические точки, когда желательно усовершенствование программирования.
Makefile Tutorial | Учебники по написанию сценариев Perl, Python, Bash, Makefile и т. Д.
Что такое makefile:
Файл, который инструктирует программу make, как скомпилировать и связать программу.Makefile обычно используется для создания больших программ. Это помогает в компиляции той части кода, которая изменяется и зависит от модификаций. Имя make-файла по умолчанию — «Makefile», но у нас может быть make-файл с другим именем, и мы можем передать его команде make, например:
make -f my_makefile
Зачем нам нужен makefile:
Когда номер файлов и кода увеличивается в проекте. Тогда возникают следующие проблемы:
1.Какие все файлы зависят от новых изменений и что все нужно скомпилировать заново
2. Нужно ли нам снова компилировать все программное обеспечение. Очевидно, что для полной компиляции небольшого программного проекта требуется много времени.
Makefile — это ответ на эти проблемы. Makefile определяет, какие файлы были изменены в коде, компилирует их и определяет, от каких файлов зависит, включает измененный файл, а также компилирует их.
Таким образом, это экономит время и усилия на компиляцию, если вы пытаетесь сделать это вручную.
Содержимое для Make-файлов.
Команда make позволяет управлять большими программами или группами программ. Когда вы начнете писать большие программы, вы заметите, что повторная компиляция более крупных программ занимает гораздо больше времени, чем повторная компиляция коротких программ. Более того, вы замечаете, что обычно работаете только с небольшим разделом программы (например, с одной функцией, которую вы отлаживаете), а большая часть остальной части программы остается неизменной.
Программа make помогает вам в разработке больших программ, отслеживая, какие части всей программы были изменены, компилируя только те части программы, которые изменились с момента последней компиляции.
Makefile содержит инструкции для конкретного проекта. Имя make-файла по умолчанию — это буквально make-файл, но его можно указать с помощью параметра командной строки.
За некоторыми исключениями, файл инициализации содержит ту же информацию, что и файл makefile. И файл инициализации, и файл makefile состоят из следующих компонентов: комментариев , строки зависимости , директивы , макросы , файлы ответов , правила и строки оболочки .
Продолжение строк Makefile
Строки в make-файле могут быть очень длинными. Для облегчения чтения длинную строку можно разбить, поместив « \ введите » в качестве последних символов этой строки, а оставшуюся часть этой (логической) строки в следующую (физическую) строку make-файла. Например:
первая_часть_строки вторая_часть_строки
совпадает с:
первая_часть_строки \
вторая_часть_строки
Комментарии [Вверх]
Простейшим оператором make-файла является комментарий , который обозначается символом комментария « # ».Весь текст от символа комментария до конца строки игнорируется. Вот большой комментарий, который может появиться в make-файле для описания его содержимого:
#
# Makefile для Opus Make 6.1
#
# Компилятор: Microsoft C 6.0
# Компоновщик: Microsoft Link 5.10
#
Символ комментария может также использоваться в конце другого оператора make-файла:
некоторый оператор makefile # комментарий
Комментарии и продолжение строк Makefile
Если в строке с комментарием появляется «\ enter», комментарий действует до конца строки, а следующая строка все еще продолжается. Например:
line_one \
line_two # more_line_two \
line_three
совпадает с:
line_one line_two line_three
Правила [Вверх]
Правило сообщает Make как , когда , так и , как создавать файл. В качестве примера предположим, что ваш проект включает компиляцию исходных файлов main.c и io.c, а затем свяжите их для создания исполняемого файла project.exe. Не вдаваясь в подробное объяснение, вот make-файл, использующий Borland C, который будет управлять задачей создания project.exe:
Пример Makefile
project.exe : main.obj io.obj
tlink c0s main.obj io.obj, project.exe ,, cs / Lf: \ bc \ libmain.obj : main.c
bcc –ms –c main.cio.obj : io. c
bcc –ms –c io.в
Этот make-файл показывает три правила, по одному для создания project.exe, main.obj и io.obj. Показанные выше правила называются явными правилами , поскольку они явно указаны в make-файле. Make также имеет правила вывода , которые обобщают процесс make. Правила вывода обсуждаются на странице и в Руководстве пользователя на странице.
Мы вернемся и изменим этот пример в ходе этого руководства.
Линии зависимости: когда строить цель [Вверх]
Строки с двоеточием «: » называются строками зависимости .Они определяют, когда цель должна быть восстановлена.
Слева от двоеточия находится цель зависимости. Справа от двоеточия находятся источника [1], необходимые для создания мишени. В строке зависимости говорится, что «цель зависит от источников». Например, строка:
project.exe : main. obj io.obj
утверждает, что project.exe зависит от main.obj и io.obj. Во время выполнения Make сравнивает время этого проекта.exe был последний раз изменен на время последнего изменения main.obj и io.obj. Если какой-либо источник на новее, чем на , чем project.exe, Make перестраивает project.exe. Время последнего изменения — это время цели, указанное в каталоге файловой системы. Это время также известно как временная метка цели .
Рекурсивный процесс создания
Основная особенность Make заключается в том, что источники цели создаются до того, как происходит сравнение временных меток. Линия:
проект.exe: main.obj io.obj
подразумевает «сделать main.obj и io.obj перед сравнением их отметок времени с project.exe». По очереди:
main.obj: main.c
говорит: «Сделайте main.c перед сравнением его отметки времени с main. obj». Вы можете видеть, что если main.c новее, чем main.obj, main.obj будет перестроен. Теперь main.obj будет новее, чем project.exe, что приведет к пересборке project.exe.
Дополнительные зависимости
В C и других языках программирования можно включить содержимое файла в файл, который в данный момент компилируется.Поскольку скомпилированный объект зависит от содержимого включенного файла, мы добавляем включенный файл как источник файла объекта .
Предположим, что каждый из main.c и io.c включает def.h. Мы можем либо изменить две строки зависимости в make-файле:
main.obj: main.c становится main.obj: main.c def.h
io.obj: io.c становится io.obj: io.c def.h
или добавьте новую строку, в которой перечислены только дополнительные зависимости:
основной.obj io.obj: def.h
Обратите внимание, что слева от двоеточия есть две цели. Эта строка означает, что и main.obj, и io.obj зависят от def.h. Любой из этих методов эквивалентен. Теперь пример make-файла выглядит так:
project.exe : main.obj io.obj
tlink c0s main.obj io.obj, project.exe ,, cs / Lf: \ bc \ libmain.obj : main.c
bcc –ms –c main.cio.obj : io.c
bcc –ms –c io.cmain.obj io.obj: вкл. H
Линии снаряда: как построить цель [Вверх]
Строки с отступом, следующие за каждой линией зависимости, называются линиями оболочки . Линии оболочки говорят Make, как построить цель. Например:
project.exe: main.obj io.obj
tlink c0s main.obj io.obj, project.exe ,, cs / Lf: \ bc \ lib
говорит Сделайте этот проект.exe требует запуска программы tlink для связывания main.obj и io.obj. Эта строка оболочки будет запущена только в том случае, если main. obj или io.obj новее, чем project.exe.
Для tlink c0s — это запускаемый объектный файл небольшой модели, а cs — это небольшая библиотека модели. Флаг / Lf: \ bc \ lib сообщает tlink, что файл запускаемых объектов и файлы библиотеки можно найти в каталоге f: \ bc \ lib.
У цели может быть несколько строк оболочки, перечисленных одна за другой, например:
проект.exe: main.obj io.obj
echo Связывание project.exe
tlink c0s main.obj io.obj, project.exe ,, cs / Lf: \ bc \ lib> tlink.out
Первая строка показывает, что команды командного процессора могут выполняться Make. Вторая строка показывает перенаправление вывода, где вывод программы tlink перенаправляется в файл tlink.out.
После выполнения каждой строки оболочки Make проверяет строку оболочки , выход статус . По соглашению, программы возвращают 0 (ноль) статус выхода, если они завершают работу без ошибок, и ненулевое значение, если ошибка произошла. Первая строка оболочки, возвращающая ненулевой статус выхода , заставляет Make отобразить сообщение:
OPUS MAKE: статус выхода линии оболочки exit_status . Стоп.
Обычно это означает, что выполняемая программа завершилась неудачно. Некоторые программы неправильно возвращают ненулевой статус выхода, и вы можете заставить Make игнорировать статус выхода с помощью префикса строки оболочки . Префиксы — это символы, которые появляются перед именем программы и изменяют способ работы Make со строкой оболочки.Например:
project.exe: main.obj io.obj
- tlink c0s main.obj io.obj, project.exe ,, cs / Lf: \ bc \ lib
Префикс «-» указывает Make игнорировать статус выхода строки оболочки. Если статус выхода был ненулевым, Make отобразит сообщение:
OPUS MAKE: статус выхода линии оболочки exit_status (игнорируется)
См. Страницу для получения дополнительной информации о строках оболочки и префиксах строк оболочки.
Макросы [Вверх]
Пример make-файла воспроизводится здесь:
project.exe: main.obj io.obj
tlink c0s main.obj io.obj, project.exe ,, cs / Lf: \ bc \ libmain.obj: main.c
bcc –ms –c main.cio.obj: io.c
bcc –ms –c io.cmain.obj io.obj: def.h
Мы видим, что текст «main.obj io.obj» встречается неоднократно. Чтобы сократить количество повторяющегося текста, мы можем использовать определение макроса, чтобы присвоить тексту символ.
Определение макросов в Makefile
Определение макроса Строка — это строка make-файла с именем макроса , знаком равенства « = » и значением макроса . В make-файле выражения вида $ ( имя ) или $ { имя } заменяются на значение . Если имя макроса состоит из одной буквы, скобки не обязательны (, т.е. $ X, $ (X) и $ {X} означают «значение макроса X»).
Вот пример, написанный выше с введением четырех макросов:
OBJS = main.obj io.obj
МОДЕЛЬ = s
CC = bcc
CFLAGS = –m $ (МОДЕЛЬ)project.exe: $ (OBJS)
tlink c0 $ (МОДЕЛЬ) $ (OBJS), project.exe ,, c $ (МОДЕЛЬ) / Lf: \ bc \ libmain.obj: main.c
$ (CC) $ (CFLAGS) –c main.cio.obj: io.c
$ (CC) $ (CFLAGS) –c io.c$ (OBJS): в т.ч.ч.
Значение макроса OBJS — это список объектных файлов для компиляции.Определения макросов для MODEL, CC и CFLAGS были введены для того, чтобы было проще изменить модель памяти компилятора, имя компилятора C и его параметры.
Make автоматически импортирует переменные среды в виде макросов, поэтому вы можете ссылаться на переменные среды, такие как PATH, с помощью выражения $ (PATH) make-файла.
Определение макросов в командной строке
Макросы можно определить в командной строке Make. Например:
сделать CFLAGS = –ms
запустит Make и определит макрос CFLAGS со значением «–ms».Макросы, определенные в командной строке, имеют приоритет над макросами с тем же именем, определенными в make-файле.
Если макрос командной строки содержит пробелы, он должен быть заключен в двойные кавычки, например:
сделать "CFLAGS = -ms -z -p"
Макросы времени выполнения
Make определяет некоторые специальные макросы, значения которых устанавливаются динамически. Эти макросы возвращают информацию о текущей строящейся цели. Например, макрос .TARGET — это имя текущей цели, .Макрос SOURCE [2] — это имя предполагаемого источника (из правила вывода) или первого из явных источников, а макрос .SOURCES [3] — это список всех источников.
Используя макросы времени выполнения, можно записать пример:
OBJS = main.obj io.obj
CC = bcc
МОДЕЛЬ = s
CFLAGS = –m $ (МОДЕЛЬ)project.exe: $ (OBJS)
tlink c0 $ (МОДЕЛЬ) $ (OBJS), $ (. TARGET) ,, c $ (МОДЕЛЬ) / Lf: \ bc \ libосновной.obj: main.c
$ (CC) $ (CFLAGS) –c $ (. SOURCE)io.obj: io.c
$ (CC) $ (CFLAGS) –c $ (. SOURCE)$ (OBJS): в т.ч.ч.
Как видите, строки оболочки для обновления main.obj и io.obj идентичны при использовании макросов времени выполнения. Макросы времени выполнения важны для обобщения процесса сборки с помощью правил вывода, как показано на странице.
Макромодификаторы [Вверх]
Макросы используются для уменьшения количества повторяющегося текста.Они также используются в правилах вывода для обобщения процесса сборки. Мы часто хотим начать со значения макроса и каким-либо образом его изменить. Например, чтобы получить список исходных файлов из макроса OBJS, мы можем сделать:
SRCS = $ (OBJS, .obj = .c)
В этом примере используется макромодификатор « от = до » для замены текста из в расширении OBJS текстом от до . В результате $ (SRCS) является «основным.c io.c ». Обычно для изменения макроса расширьте его на:
$ ( имя , модификатор [, модификатор ...])
Каждый модификатор применяется последовательно к расширенному значению name . Каждый модификатор отделяется от следующего запятой.
Компоненты имени файла
Имеется набор макромодификаторов для доступа к частям имен файлов. Например, с определением макроса:
SRCS = d: \ src \ main.c io.asm
Некоторые из модификаторов:
Модификатор и описание Пример Значение D, справочник $ (SRCS, D) д: \ src. E, расширение (или суффикс) $ (SRCS, E) .c .asm F, имя файла $ (SRCS, Ф) основной.c io.asm
Токенизировать
Другой модификатор — это модификатор «W str », который заменяет пробелы между элементами макроса строкой str . str может быть смесью обычных символов и специальных последовательностей, наиболее важной последовательностью является «\ n», которая представляет собой символ новой строки (например, нажатие клавиши ввода). Например:
$ (OBJS, W пробел + \ n) - это main.obj +
io.obj
Другие модификаторы
Другие модификаторы включают: «@» (включить содержимое файла), «LC» (нижний регистр), «UC» (верхний регистр), «M» (член) и «N» (не член). Модификаторы «M» и «N» и модификатор «S» (подстановка) используют регулярное выражение для мощного и гибкого сопоставления с образцом. См. Страницу для получения дополнительной информации обо всех макромодификаторах.
Правила вывода [Вверх]
Правила вывода обобщают процесс сборки, поэтому вам не нужно указывать явное правило для каждой цели.Например, компиляция исходного кода C (файлы .c) в объектные файлы (файлы .obj) является обычным явлением. Вместо того, чтобы требовать утверждения, что каждый файл .obj зависит от файла .c с таким же именем, Make использует правило вывода для вывода этой зависимости. Источник, определяемый правилом вывода, называется предполагаемым источником .
Правила вывода — это правила, отличающиеся использованием символа «%» в строке зависимости. «%» ( символ правила ) — это подстановочный знак, соответствующий нулю или более символам.В качестве примера приведем правило вывода для создания файлов .obj из файлов .c:
% .obj:% .c
$ (CC) $ (CFLAGS) –c $ (. SOURCE)
Это правило гласит, что файл . obj может быть создан из соответствующего файла .c со строкой оболочки «$ (CC) $ (CFLAGS) –c $ (. SOURCE)». Файлы .c и .obj имеют один и тот же корень имени файла.
Если исходный и целевой файлы имеют одинаковое имя файла, за исключением их расширений, это правило можно указать альтернативным способом:
.c.obj:
$ (CC) $ (CFLAGS) –c $ (. SOURCE)
Альтернативная форма совместима с Opus Make до этой версии и с другими утилитами make и более подробно обсуждается на странице.
Make предопределяет правило вывода «% .obj:% .c», как указано выше, поэтому пример, над которым мы сейчас работаем, становится намного проще:
OBJS = main.obj io.obj
CC = bcc
МОДЕЛЬ = s
CFLAGS = –m $ (МОДЕЛЬ)проект.exe: $ (OBJS)
tlink c0 $ (МОДЕЛЬ) $ (OBJS), $ (. TARGET) ,, c $ (МОДЕЛЬ) / Lf: \ bc \ lib$ (OBJS): в т.ч.ч.
Файлы ответов [Вверх]
Для MS-DOS, OS / 2 и Win95 существует довольно жесткое ограничение на длину строки оболочки, в результате чего строка оболочки часто бывает слишком короткой для многих компиляторов и слишком короткой для компоновщиков и библиотекарей.
Чтобы преодолеть это ограничение, многие программы могут получать ввод командной строки из файла ответов.Opus Make поддерживает два типа файлов ответов: файлы автоматических ответов , где Make решает, когда создавать файл ответов или; встроенные файлы ответов , где вы пишете операторы создания файла ответов непосредственно в make-файле.
Файлы автоматического ответа
Make имеет предопределенную поддержку нескольких компоновщиков, библиотекарей и компиляторов, и вы можете расширить поддержку Make, написав свои собственные определения (см. Страницу). С предопределенной поддержкой Make вы можете просто добавить в свой make-файл следующий оператор:
.RESPONSE.LINK: tlink
Это сообщает Make, что программа tlink принимает файлы ответов в стиле LINK. Когда строка оболочки выполняет tlink, Make проверяет, длиннее ли строка оболочки, чем разрешено операционной системой, и при необходимости автоматически создает файл ответов.
Файлы встроенных ответов
Файлы ответов также могут быть встроены в ваш make-файл. Вот строка примера оболочки tlink, написанная для использования встроенного файла ответов:
проект.exe: $ (OBJS)
tlink @ <<
c0 $ (MODEL) $ (. SOURCES, W + \ n)
$ (. TARGET)c $ (MODEL) / Lf: \ bc \ lib
<<
Программа tlink вызывается как «tlink @ response_file », где response_file — это имя, сгенерированное Make. Модификация макроса «W + \ n» заменяет пробелы между элементами $ (. SOURCES) на «+ ввод». response_file содержит:
c0s main.obj +
io.obj проект
.exec0 / f: \ bc \ lib
Директивы Makefile [Вверх]
Директивы Makefile управляют строками make-файла. Выполнять чтение во время чтения. Вот наш пример, расширенный условными директивами (% if,% elif,% else и% endif) для поддержки компиляторов Borland и Microsoft. Добавлены комментарии к документации:
# Этот make-файл компилирует проект, указанный в макросе PROJ
#
PROJ = project # имя проекта
OBJS = main.obj io.obj # список объектных файлов# Конфигурация:
#
MODEL = s # модель памяти
CC = bcc # имя компилятора# Раздел, зависящий от компилятора
#
% if $ (CC) == bcc # если компилятор - bcc
CFLAGS = –m $ (MODEL) # $ (CFLAGS) is –ms
LDSTART = c0 $ (MODEL) # файл запускаемых объектов
LDLIBS = c $ (MODEL) # библиотека
LDFLAGS = / Lf: \ bc \ lib # f: \ bc \ lib - каталог библиотеки
% elif $ (CC) == cl # иначе, если компилятор cl
CFLAGS = –A $ (MODEL, UC) # $ (CFLAGS) is –AS
LDSTART = # без специального запуска
LDLIBS = # без специальной библиотеки
LDFLAGS = / Lf: \ c6 \ lib; # f: \ c6 \ lib - это каталог библиотеки
% else # else
% abort Unsupported CC == $ (CC) # компилятор не поддерживается
% endif # endif# Строящийся проект
#
$ (PROJ).exe: $ (OBJS)
tlink $ (LDSTART) $ (OBJS), $ (. TARGET) ,, $ (LDLIBS) $ (LDFLAGS)$ (OBJS): в т.ч.ч.
Структура этого make-файла довольно традиционна — макросы определяются первыми, основная цель следует за макросами, а дополнительная информация о зависимостях идет последней.
В этом примере также используется директива% abort для прерывания Make, если make-файл не поддерживает конкретный компилятор. Директивы также могут использоваться во время выполнения для управления строками оболочки, которые выполняет Make.Для получения дополнительной информации о директивах см. Page.
как использовать файлы .txt и .cmake в CMake?
Прочтите док.
Я малыш. А если серьезно, есть руководства для чтения. Я признаю, что CMake довольно сложно понять в большинстве случаев, но при правильной настройке он может быть чертовски крутым.Тем не менее, я дам вам краткое описание того, как его использовать.
Чтобы ответить прямо на ваш вопрос, главный файл .txt, который вас интересует, — это CMakeLists.txt. Это основной файл конфигурации CMake, который он использует при создании вашего проекта. Когда вы вызываете CMake, первое, что он делает, — это ищет этот файл. Откройте его и попробуйте прочитать комментарии, потому что ребята из OpenCV поместили довольно приличное количество комментариев и, несмотря на его размер, он прилично организован для CMakeLists.txt файл.
Если вы прокрутите вниз до строки 108, вы увидите, где можно изменить некоторые параметры сборки. (CMake также имеет графический интерфейс, так что вам, возможно, даже не придется напрямую редактировать CMakeLists.txt!) Синтаксис может быть ошеломляющим сначала из-за абсурдного количества доступных опций, но если вы возьмете его медленно и переварите, вы убедитесь, что это довольно просто. Строка 113 позволит вам решить, хотите ли вы включить поддержку IEEE1394 или опустить ее. Просто измените «ON» на «OFF», чтобы выключить его. Большая часть настройки настолько проста.
Итак, посмотрим на файлы * .cmake. Что они делают, можно понять по их именам файлов. Большинство из них — это просто общие параметры сборки или сценарии для поиска некоторых внешних / сторонних библиотек. Честно говоря, крайне маловероятно, что вы будете редактировать эти файлы самостоятельно, если только вы не создадите действительно настроенную версию OpenCV.
Так как же строить? Из командной строки! (обычно я говорил ранее, что есть CMakeGui, и это тоже вариант, мой быстрый пример будет для unix-подобной командной строки) Но на самом деле все сводится к нескольким командам:
Из корневого каталога тот, у которого есть CMakeLists.txt:
сборка mkdir
cd build /
cmake ..
сделать
И готово.
Если это не очевидно, первые две команды создают каталог сборки, потому что обычно рекомендуется хранить файлы сборки отдельно от основных файлов. Следующая команда — это CMake в действии. Он будет искать в каталоге над сборкой (тот, который содержит CMakeLists.txt) и начнет создавать файлы сборки. Сюда входит поиск библиотек, проверка ваших параметров и установка различных других параметров. В конце кучи текста вы увидите, завершился ли CMake неудачно или успешно, а затем, если это удалось, краткое изложение различных установленных вами параметров.Вы заметите, что все эти параметры можно установить в CMakeLists.txt. Предполагая, что все работает, и вы довольны конфигурацией, make — это общая команда, которая ищет файл с именем Makefile (он был сгенерирован, когда вы вызывали cmake). На этом шаге будет скомпилирован OpenCV и установлены файлы в вашу систему. … (подробнее)
MAKE File — Как открыть или конвертировать файлы MAKE
1 расширение (а) и 0 псевдонимов в нашей базе данных
Ниже вы можете найти ответы на следующие вопросы:
- Что такое .сделать файл?
- Какая программа может создать файл .make ?
- Где найти описание формата .make ?
- Что можно преобразовать файлы .make в другой формат?
- Какой MIME-тип связан с расширением .make ?
.make
Файл создания Xcode
MAKE является файлом Xcode Make . Xcode — это набор инструментов, разработанный Apple для разработки программного обеспечения для Mac OS X и iOS.
Категория: Файлы для разработки
Название программы: —
Mime-тип: приложение / октет-поток
Магические байты (HEX): —
Волшебная строка (ASCII): —
Псевдонимы:
—
Ссылки:
—
Связанные расширения:
Проект Xcode
Apple Project Builder Xcode Project
Символы отладки Xcode
Модель управляемого объекта Xcode
Пакет пакета управляемой объектной модели Xcode
Файл игровой площадки Xcode
Данные пользователя проекта Xcode
Подключаемый модуль Xcode
Документ схемы Xcode
Другие типы файлов могут также использовать файл .сделать расширение файла . Если у вас есть полезная информация о расширение .make , напишите нам!
Возможно ли, что расширение имени файла написано неправильно?
Мы нашли следующие похожие расширения в нашей базе:
Мой персонаж в редакторе аватаров
Расширение имени файла .make часто дается неправильно!
Согласно поисковым запросам на нашем сайте, эти орфографические ошибки были самыми распространенными за последний год:
mae (1),
мак (1),
мкэ (1)
Не удается открыть файл.сделать файл?
Если вы хотите открыть файл .make на вашем компьютере, вам просто необходимо, чтобы у вас была установлена соответствующая программа. Если ассоциация .make установлена неправильно, может появиться следующее сообщение об ошибке:
Windows не удается открыть этот файл:
Файл: example.make
Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать, чтобы открыть его. Windows может выйти в Интернет для автоматического поиска, или вы можете вручную выбрать из списка программ, установленных на вашем компьютере.
Для изменения файловых ассоциаций:
- Щелкните правой кнопкой мыши файл с расширением, ассоциацию которого вы хотите изменить, а затем щелкните Открыть с помощью .
- В диалоговом окне Открыть с помощью щелкните программу, с помощью которой вы хотите открыть файл, или щелкните Обзор , чтобы найти нужную программу.
- Выберите Всегда использовать выбранную программу , чтобы открывать этот тип файла, установите флажок.
Поддерживаемые операционные системы
Windows Server 2003/2008/2012/2016, Windows 7, Windows 8 , Windows 10 , Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X , iOS, Android
Оценить страницу
5/5 на основе оценки 26 пользователей.
Express Пример «Hello World»
Embedded ниже — это, по сути, самое простое приложение Express, которое вы можете создать. Это приложение с одним файлом — , а не , что вы получите, если используете генератор Express, который создает основу для полного приложения с многочисленными файлами JavaScript, шаблонами Jade и подкаталогами для различных целей.
const express = require ('экспресс')
const приложение = экспресс ()
const порт = 3000
app.get ('/', (req, res) => {
рез.send ('Привет, мир!')
})
app.listen (порт, () => {
console.log (`Пример приложения, прослушивающего http: // localhost: $ {port}`)
})
Это приложение запускает сервер и прослушивает порт 3000 на предмет подключений. Приложение отвечает «Hello World!» для запросов
к корневому URL (/
) или по маршруту . Для каждого другого пути он ответит сообщением 404 Not Found .
Приведенный выше пример на самом деле является работающим сервером: нажмите на показанный URL. Вы получите ответ с журналами в реальном времени на странице, и любые внесенные вами изменения будут отражены в реальном времени.Это работает на RunKit, который предоставляет интерактивную площадку для JavaScript, подключенную к полной среде Node, которая работает в вашем веб-браузере.
Ниже приведены инструкции по запуску того же приложения на локальном компьютере.
RunKit — это сторонний сервис, не связанный с проектом Express.
Работает локально
Сначала создайте каталог с именем myapp
, перейдите в него и запустите npm init
. Затем установите express
в качестве зависимости в соответствии с руководством по установке.
В каталоге myapp
создайте файл с именем app.js
и скопируйте код из приведенного выше примера.
req
(запрос) и res
(ответ) — это те же самые объекты, которые предоставляет Node, поэтому вы можете вызывать
req.pipe ()
, req.