O que os usuários faziam ou usavam antes do comando Make?

O que os usuários faziam ou usavam antes do comando Make?

Eu uso o Gentoo como meu sistema operacional de desktop doméstico principal. Eu tenho desde ~2004. Agradeço o emergecomando para gerenciar um sistema operacional baseado em fonte tão bem quanto ele. De vez em quando eu verifico outras distribuições, mas gosto particularmente deLinux From Scratch – Para quem não sabe. É verdade que nunca li o livro inteiro porque usar o Gentoo me estragou nesse aspecto. Considero o Gentoo um LFS + um gerenciador de pacotes. Finalmente decidi que vou completar o livro, então coloquei o XUbuntu em uma VM para simular a novidade e...


Estou acompanhando o release candidate paraVersão 3 - Systemd do CLFS, e isso me atingiu emCapítulo 6 - Sistema Temporário - Make. Se um usuário precisar makecompilar uma versão do Make, oProblema de causalidade de frango e ovoparece Isso me leva às minhas próximas perguntas lógicas.

  1. QuandoStuart Feldmancriado makeem 1976, como o público da computação compilou seu programa se seu sistema operacional não continha um sistema operacional dependente make? Devo presumir que o artigo da WikiPedia abaixo é verdadeiro para todos os sistemas operacionais?

  2. Ele teve que empacotar o make para incluir todas as versões do make dependentes do sistema operacional para completar 1?(Veja abaixo)

  3. Se eu precisasse do Programa A, mas ele só estivesse disponível para compilação no SO A, eu teria que comprar o SO A, mesmo que usasse o OS B? (Ignore o Windows aqui, se possível.)

Atualizar

  1. Com base no comentário de Jimmij,Os compiladores específicos do sistema operacional existiam da mesma maneira que o make era dependente do sistema operacional?

WikiPédiadiz:

Antes da introdução do Make, o sistema de construção Unix geralmente consistia em scripts de shell "make" e "install" dependentes do sistema operacional que acompanhavam a fonte do programa. Ser capaz de combinar os comandos para diferentes destinos em um único arquivo e abstrair o rastreamento de dependências e a manipulação de arquivos foi um passo importante na direção dos ambientes de construção modernos.

Além disso, observe que estou procurando aqui alguma perspectiva histórica, já que nasci em 1976.

Responder1

Make é simplesmente por conveniência. Você pode construir software sem ele, é apenas mais difícil.

Quando você executa makepara construir algo, ele mostra os comandos que está executando. Você pode executar esses comandos manualmente e obter o mesmo efeito.

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

Que criou um arquivo chamado test.
Posso obter o mesmo resultado apenas fazendo:

cc test.c -o test

 

Se make não existisse, você poderia instruir os usuários a executar esse cccomando manualmente ou distribuir um script de shell e instruí-los a executar o script.

informação relacionada