Skip to content
Latchkey

Make vs just: ferramenta de build ou executor de comandos?

O Make é uma ferramenta de build que rastreia dependências de arquivos e timestamps; o just é um executor de comandos que apenas organiza e roda as receitas do projeto.

O Make compila e reconstrói artefatos com base em timestamps de arquivos e um grafo de dependências, o que é poderoso, mas traz sintaxe sensível a tabs e peculiaridades de shell. O just empresta uma sintaxe similar à do Makefile, mas descarta a semântica de build: é um executor de tarefas mais sensato para comandos de projeto (build, test, lint, deploy), com argumentos, suporte a .env e erros mais claros. O Make é para builds incrementais; o just é para execução de comandos ergonômica.

Makejust
Papel principalBuilds incrementaisExecutor de comandos
Rastreamento de dependênciasTimestamps de arquivosNenhum
SintaxeSensível a tabs, peculiarMais limpa, mais amigável
Argumentos / .envDesajeitadoNativo
Melhor paraCompilar C/C++ etc.Scripts de tarefas do projeto

No CI

Se você depende do grafo de reconstrução incremental do Make (comum em C/C++), o Make é a ferramenta certa. Se você só usa um Makefile como uma lista de comandos nomeados, o just dá sintaxe mais clara e melhor tratamento de argumentos, sem semântica de build para brigar. Muitos repositórios mantêm o Make para compilação e adotam o just para pontos de entrada de tarefas de dev/CI.

Acelere

Faça cache das saídas de build e das dependências para que builds incrementais e tarefas comecem aquecidos. Ambos rodam em runners de CI; runners gerenciados mais rápidos encurtam as etapas de compilação e de tarefas.

O veredito

Fazer builds incrementais de verdade com rastreamento de dependências (C/C++ e afins): Make. Apenas organizar e rodar comandos de projeto com sintaxe limpa e argumentos: just. Eles coexistem bem - Make para builds, just como o ponto de entrada amigável de comandos.

Guias relacionados