Make é simplesmente por conveniência. Você pode construir software sem ele, é apenas mais difícil.
Quando você executa make
para criar algo, ele mostra os comandos que está sendo executado. 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
.
Eu posso obter o mesmo resultado apenas fazendo:
cc test.c -o test
Se o make não existisse, você poderia instruir os usuários a executar esse comando cc
manualmente, ou você poderia distribuir um script de shell e instruí-los a executar o script.