Pergunta

Eu estou tentando entender a diferença entre 'gmake' e 'make'?

Em minha caixa de linux eles são idênticos:

% gmake --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

% make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Eu estou supondo que este não é o mesmo em todas as plataformas? Existe uma boa razão para usar um sobre o outro?
Existe algum significado histórico para por isso que existem os dois nomes?

Foi útil?

Solução

'gmake' refere-se especificamente para o GNU make. 'Make' refere-se à implementação padrão make do sistema; na maioria das distribuições Linux é GNU make, mas em outros unixes, pode referir-se a alguma outra implementação da marca, tais como BSD marca, ou as implementações make de vários unixes comerciais.

A língua aceite pelo GNU make é um super conjunto de uma suportada pelo utilitário make tradicional.

Ao usar 'gmake' especificamente você pode usar o GNU make extensões sem se preocupar com eles sendo mal interpretada por alguma outra aplicação make.

Outras dicas

No meu sistema nenhuma diferença (gmake é soft link para make):

-> ls -l $(which gmake make)
lrwxrwxrwx 1 root root      4 Jun  5  2007 /usr/bin/gmake -> make
-rwxr-xr-x 1 root root 168976 Jul 13  2006 /usr/bin/make

gmake significa GNU make. Não somos diferentes implementações de make. No Linux máquina provavelmente tornar vontade por GNU e para fazer do usuário isier vida make é suave ligado a gmake.

O "oposto" usual de gmake é BSD make, que tenderá a ser make em sistemas BSD, sem surpresa. Se você quiser ver o que BSD make é como, sobre os derivados do Debian é disponível como apt-get install pmake.

Aparentemente, GNU make é praticamente universal agora , então não há quase nunca deve ser um diferença.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top