1

В настоящее время я делаю Linux с нуля.Я скачал несколько пакетов.Я разархивирую их с помощью команды tar и сделаю следующее внутри этого извлеченного пакета:

  1. конфигурировать
  2. делать
  3. сделать тест
  4. сделать установку

Еще одна вещь, что такое makefile?

Пожалуйста, объясните мне назначение этих команд, особенно с точки зрения LFS. Заранее спасибо.

2 ответа2

3

Использование Makefile облегчает жизнь как разработчику, так и конечному пользователю. По сути, это шпаргалка о том, как создать конкретную часть программного обеспечения. Для простого "Hello world" может работать g++ hw.cpp -o hello_world . Тем не менее, когда у вас гораздо более сложное программное обеспечение, часто перед созданием компонента B необходимо построить компонент A, а после того, как эти два будут выполнены, можно создать компонент C. Ручная их печать, а также вставка путей во включенные библиотеки, временные выходные файлы, окончательные пути установки и т.д. (Обычно определяется при запуске скрипта configure ) - может привести к ошибке.

-1

Я (вроде) знаю, что он делает, но я не уверен, что знаю, как объяснить.

В основном с помощью последовательности команд, которую вы упомянули, вы создаете что-то в двоичном исполняемом виде (программу, библиотеку) из исходного кода (то есть кода, написанного на языке программирования) и устанавливаете его в своей операционной системе (перемещая его в соответствующую папку). , настройка файлов конфигурации и т. д.).

Makefile - это текстовый файл, который использует команда make. Помогает (автоматизирует) задачи. Один make-файл может содержать информацию для выполнения более чем одной задачи или действия. Без make-файла вам пришлось бы выполнять множество сложных ручных шагов, чтобы добиться цели.

"configure": (пояснение взято отсюда) Проверяет некоторые подробности о машине, на которой будет установлено программное обеспечение. Этот скрипт проверяет множество зависимостей в вашей системе. Для правильной работы определенного программного обеспечения может потребоваться, чтобы на вашем компьютере уже существовало много вещей. Если в вашей системе отсутствуют какие-либо основные требования, сценарий конфигурирования завершится, и вы не сможете продолжить установку, пока не получите требуемые вещи. В противном случае он создает Makefile для использования на следующем шаге.

"make" без параметров: инструктирует make выполнить действие (правило) по умолчанию в make-файле. Обычно он компилирует, связывает и генерирует двоичный файл, который вы пытаетесь создать (т.е. программу или библиотеку). Обычно это включает преобразование исходного кода в объектные файлы (которые обычно имеют расширение .o ) и связывание их в окончательный двоичный файл (который в случае программ Linux обычно не имеет расширения или в случае библиотек Linux обычно имеет .so или .a расширение). Я не уверен насчет шагов, потому что я программист на Java, и мы не часто выполняем эти шаги).

"make test": выполняет тестирование этого двоичного файла.

"make install": в основном перемещает бинарный файл в правильную папку.

Это объяснение, конечно, может получить много улучшений, я просто пытаюсь дать вам общее представление о процессе.

Этот краткий учебник может предоставить дополнительную информацию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .