¿Qué hacían o usaban los usuarios antes del comando Make?

¿Qué hacían o usaban los usuarios antes del comando Make?

Utilizo Gentoo como mi sistema operativo de escritorio principal. Lo he hecho desde ~2004. Aprecio el emergecomando para administrar un sistema operativo basado en código fuente tan bien como lo hace. De vez en cuando reviso otras distribuciones, pero me gusta especialmenteLinux desde cero: para aquellos que no lo saben. Por supuesto, nunca he leído el libro completo porque usar Gentoo me ha echado a perder en ese sentido. Considero que Gentoo es LFS + un administrador de paquetes. Finalmente decidí que iba a completar el libro, así que puse XUbuntu en una VM para simular la novedad y...


Estoy siguiendo el candidato de lanzamiento paraVersión 3 - Systemd de CLFS, y me golpeó enCapítulo 6 - Sistema Temporal - Hacer. Si un usuario necesita makecompilar una versión de Make, elProblema de causalidad del huevo y la gallinaaparece Esto me lleva a mis siguientes preguntas lógicas.

  1. CuandoStuart FeldmanCreado makeen 1976, ¿cómo compiló el público informático su programa si su sistema operativo no contenía un sistema operativo dependiente make? ¿Debo asumir que el siguiente artículo de WikiPedia es válido para todos los sistemas operativos?

  2. ¿Tuvo que empaquetar make para incluir todas las versiones de make dependientes del sistema operativo para completar 1?(Vea abajo)

  3. Si necesitaba el Programa A, pero solo estaba disponible para compilar en el OS A, ¿tenía que comprar el OS A, incluso si uso el OS B? (Ignore Windows aquí si es posible).

Actualizar

  1. Basado en el comentario de jimmij,¿Existían compiladores específicos del sistema operativo de la misma manera que dependían del sistema operativo?

WikiPediadice:

Antes de la introducción de Make, el sistema de compilación Unix consistía más comúnmente en scripts de shell "make" e "install" dependientes del sistema operativo que acompañaban al código fuente de su programa. Poder combinar los comandos para los diferentes objetivos en un solo archivo y poder abstraer el seguimiento de dependencias y el manejo de archivos fue un paso importante en la dirección de los entornos de compilación modernos.

Además, tenga en cuenta que estoy buscando una perspectiva histórica aquí, ya que nací en 1976.

Respuesta1

Hacerlo es simplemente por conveniencia. Puedes crear software sin él, simplemente es más difícil.

Cuando ejecutas makepara construir algo, te muestra los comandos que está ejecutando. Puede ejecutar esos comandos manualmente y obtener el mismo efecto.

$ echo "int main() {}" > test.c
$ make test
cc     test.c   -o test

Lo cual creó un archivo llamado test.
Puedo obtener el mismo resultado simplemente haciendo:

cc test.c -o test

 

Si make no existiera, podría indicar a los usuarios que ejecuten este cccomando manualmente, o podría distribuir un script de shell e indicarles que ejecuten el script.

información relacionada