Откуда появился первый бинарный файл? - PullRequest
7 голосов
/ 14 марта 2012

Мне нужно собрать gnu make из исходного кода по причинам, слишком сложным для объяснения здесь.

Я заметил, что для его сборки мне нужна сама команда make традиционным способом:

./configure
make install

Так что, если у меня уже не было make-файла?Откуда появился первый в мире бинарный файл?

Ответы [ 6 ]

4 голосов
/ 14 марта 2012

С того же места пришел первый двоичный файл gcc.

Первая сборка была создана, вероятно, с использованием сценария оболочки для сборки. После этого make сам "сделает".

Это заметное достижение в разработке систем, когда платформа становится «самостоятельной». То есть платформа может строить сама.

Такие вещи, как "make make" и "gcc gcc.c".

Многие авторы языков создают свой язык на другом языке (скажем, C), и, когда они достаточно далеко продвинули его, они будут использовать этот оригинальный загрузочный компилятор для написания нового компилятора на исходном языке. Наконец они отказываются от оригинала.

В свое время один из друзей работал над отладчиком для OS / 2, отличавшимся в то время многозадачной операционной системой. И он будет радоваться о времени, когда они будут отлаживать отладчик, и находить ошибку. Таким образом, они будут отлаживать отладчик отладчика. Это новая концепция, которая лежит в основе вычислительной техники и абстракции.

Неизбежно, все это сводится к тому, что кто-то вводил что-то через аппаратную клавиатуру или другие переключатели, чтобы загрузить начальную программу. Затем они использовали эту программу для выполнения другой работы, и все это только растет.

3 голосов
/ 14 марта 2012

Стюарт Фельдман, тогда в AT & T, написал исходный код для make во время 7-го выпуска UNIX ™ и использовал ручную компиляцию (или, возможно, сценарий оболочки), пока make не работал достаточно хорошо, чтобы его можно было использовать для построй сам. Вы можете найти Руководство программиста UNIX для 7-го издания онлайн, и, в частности, оригинальную статью, описывающую оригинальную версию make, датированную августом 1978 года.

2 голосов
/ 14 марта 2012

make - это всего лишь один удобный инструмент. Все еще можно вызывать cc, ld и т. Д. Вручную или с помощью других инструментов сценариев.

0 голосов
/ 14 марта 2012

Если вы собираете GNU make, взгляните на build.sh в дереве исходного кода после запуска configure:

# Shell script to build GNU Make in the absence of any `make' program.
# build.sh.  Generated from build.sh.in by configure.
0 голосов
/ 14 марта 2012

Суть make в том, что это упрощенный способ запуска некоторых команд.

Чтобы сделать первую сборку, автору пришлось вручную действовать как сборка и запускать gcc или любой другой набор инструментов, а не запускать его автоматически.

0 голосов
/ 14 марта 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...