Использование Makefile
облегчает жизнь как разработчику, так и конечному пользователю. По сути, это шпаргалка о том, как создать конкретную часть программного обеспечения. Для простого «Hello world» g++ hw.cpp -o hello_world
может работать. Тем не менее, когда у вас гораздо более сложное программное обеспечение, часто перед созданием компонента B необходимо построить компонент A, а после того, как эти два будут выполнены, можно создать компонент C. Ручная их печать, а также вставка путей во включаемые библиотеки, временные выходные файлы, окончательные пути установки и т. Д. (Обычно определяется при configure
запуске сценария) - может привести к ошибке.
Linux с нуля
В настоящее время я делаю Linux From Scratch. Я скачал несколько пакетов. Разархивирую их с помощью команды tar и сделаю следующее внутри этого извлеченного пакета:
- конфигурировать
- делать
- сделать тест
- сделать установку
Еще одна вещь, что такое makefile?
Пожалуйста, объясните мне назначение этих команд, особенно с точки зрения LFS. Заранее спасибо.
2 ответа на вопрос
Я (вроде) знаю, что он делает, но я не уверен, что знаю, как объяснить.
В основном с помощью последовательности команд, которую вы упомянули, вы создаете что-то в двоичном исполняемом виде (программу, библиотеку) из исходного кода (то есть кода, написанного на языке программирования) и устанавливаете его в своей операционной системе (перемещая его в соответствующую папку)., настройка файлов конфигурации и т. д.).
Makefile - это текстовый файл, который использует команда make. Помогает (автоматизирует) задачи. Один make-файл может содержать информацию для выполнения более чем одной задачи или действия. Без make-файла вам пришлось бы выполнять множество сложных ручных шагов, чтобы добиться цели.
"configure": (пояснение взято отсюда ) Проверяет некоторые подробности о машине, на которой будет установлено программное обеспечение. Этот скрипт проверяет множество зависимостей в вашей системе. Для правильной работы определенного программного обеспечения может потребоваться, чтобы на вашем компьютере уже существовало много вещей. Если в вашей системе отсутствуют какие-либо основные требования, сценарий конфигурирования завершится, и вы не сможете продолжить установку, пока не получите необходимые вещи. В противном случае он создает Makefile для использования на следующем шаге.
«make» без параметров: инструктирует make выполнить действие (правило) по умолчанию в make-файле. Обычно он компилирует, связывает и генерирует двоичный файл, который вы пытаетесь создать (т.е. программу или библиотеку). Обычно это включает преобразование исходного кода в объектные файлы (которые обычно имеют .o
расширение) и связывание их в окончательный двоичный файл (который в случае программ Linux обычно не имеет расширения или в случае библиотек Linux обычно имеет расширение .so
или .a
). Я не уверен насчет шагов, потому что я программист на Java, и мы не часто выполняем эти шаги).
«make test»: выполняет тестирование этого двоичного файла.
«make install»: в основном перемещает бинарный файл в правильную папку.
Это объяснение, конечно, может получить много улучшений, я просто пытаюсь дать вам общее представление о процессе.
Этот краткий учебник может предоставить дополнительную информацию.
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4