Como instalar e usar “make” no Windows?

125

Estou seguindo as instruções de alguém cujo repositório eu clonei para minha máquina. O que eu quero é simples: ser capaz de usar o makecomando como parte da configuração do ambiente de código. Mas estou usando o Windows e pesquisei online apenas para encontrar um arquivo make.exe para baixar, um make-4.1.tar.gzarquivo para baixar (não sei o que fazer com ele a seguir) e coisas sobre como baixar MinGW (para GNU; mas depois de instalá-lo, não encontrei nenhuma menção a "make").

Eu não quero um compilador GNU ou coisas relacionadas; Só quero usar "make" no Windows. Diga-me o que devo fazer para conseguir isso.

Desde já, obrigado!

Hashem Elezabi
fonte
1
A simples instalação makeprovavelmente não resolverá seu problema. Muitos Makefiles são escritos para sistemas do tipo Unix e exigirão que você instale uma quantidade significativa de utilitários adicionais (incluindo um compilador compatível se o projeto envolver código compilado), como Cygwin, ou simplesmente mudar para uma plataforma como WSL se você realmente não puder liberar você mesmo do Windows.
tripleee

Respostas:

157

makeé um comando GNU, então a única maneira de obtê-lo no Windows é instalando uma versão do Windows como a fornecida pelo GNUWin32 . Ou você pode instalar o MinGW e fazer:

copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe

ou crie um link para o executável real, em seu PATH. Nesse caso, se você atualizar o MinGW, o link não será excluído:

mklink c:\bin\make.exe C:\MinGW\bin\mingw32-make.exe

Outra opção é usar Chocolatey . Primeiro você precisa instalar este gerenciador de pacotes. Uma vez instalado, você simplesmente precisa instalar make:

choco install make

Última opção é instalar um subsistema de Windows para Linux (WSL) , assim você terá uma distribuição Linux de sua escolha embutido no Windows 10 onde você vai ser capaz de instalar make, gcce todas as ferramentas que você precisa para programas de construção C.

Eduardo Yáñez Parareda
fonte
1
Obrigado! Eu não sabia que o make era um comando GNU. Verifiquei o caminho fornecido e encontrei make.exe, mas em um caminho semelhante (C: \ MinGW \ msys \ 1.0 \ bin \ make.exe). Eu adicionei isso à variável PATH e funcionou!
Hashem Elezabi de
2
Uma maneira mais simples seria criar um link simbólico: mklink C:\bin\make.exe C:\MinGW\bin\mingw32-make.exe. Portanto, no futuro, se você atualizar seu mingw, o link ficará intacto.
kumarharsh
1
Apenas usando MSYS2, não consegui usar mklink. O MSYS2 pacmanpode instalar um make pacman -S make, que não está funcionando corretamente . Em vez disso, mingw32-make.exejá estava presente em msys64/mingw64/bin. Talvez tenha sido enviado com gcc. Estou confuso por que não é apenas chamado make.exe, no entanto. Eu apenas copiei para make.exe.
Neonit
2
Talvez seja útil mencionar que o Visual Studio vem com seu próprio utilitário 'make' nmake, consulte o documento . Ele pode ser usado a partir do prompt de comando do VS, mas é claro que você pode adicioná-lo ao caminho. Note, entretanto, que as funcionalidades são bastante limitadas em comparação com o GNU make, e a documentação é quase inexistente ...
jmon12
1
@notacorn mais ou menos, mas você pode acessar suas pastas "Windows" de ambos. Git bash com / c, WSL com / mnt / c.
Eduardo Yáñez Parareda
184

GNU make está disponível em chocolate.

  • Instale chocolate a partir daqui .

  • Então choco install make,.

Agora você poderá usar o Make no Windows.
Eu tentei usá-lo no MinGW, mas deve funcionar no CMD também.

Vasantha Ganesh K
fonte
31
A solução mais simples IMO a partir de 2019.
My Stack Overfloweth
Existe um motivo pelo qual isso não funcionaria no Bash? @vasantha
user3614648
Observação: pode ser necessário definir o proxy correto usandochoco config set proxy ADDRESS:PORT
weshouman
Também há um furo se você não gosta de como o chocolaty requer uma sessão de powerhell de
Jonathan Landrum
18

A resposta aceita é uma má ideia em geral, porque a criada manualmente make.exepermanecerá e pode causar problemas inesperados. Na verdade, quebra o RubyInstaller: https://github.com/oneclick/rubyinstaller2/issues/105

Uma alternativa é instalar o make via Chocolatey (como apontado por @Vasantha Ganesh K)

Outra alternativa é instalar o MSYS2 do Chocolatey e usar makedo C:\tools\msys64\usr\bin. Se makenão for instalado automaticamente com o MSYS2, você precisará instalá-lo manualmente via pacman -S make(como apontado por @Thad Guidry e @Luke).

thisismydesign
fonte
3
Eu instalei usando o Chocolatey, mas não há make.exe no C:\tools\msys64\usr\bin??
Rosdi Kasim
1
você pode encontrar o pacman nessa pasta, depois disso, use a etapa 3 de @thad
Lucas
8

Se você estiver usando o Windows 10, ele está integrado ao recurso do subsistema Linux. Basta iniciar um prompt do Bash (pressione a tecla Windows, digite bashe escolha "Bash no Ubuntu no Windows"), cdpara o diretório que deseja criar e digite make.

FWIW, as unidades do Windows são encontradas em /mnt, por exemplo, a C:\unidade está /mnt/cno Bash.

Se o Bash não estiver disponível no menu Iniciar, aqui estão as instruções para ativar esse recurso do Windows (somente Windows de 64 bits):

https://docs.microsoft.com/en-us/windows/wsl/install-win10

Stefan
fonte
4
O subsistema Linux não está disponível no Windows 10 Home.
Martin Gray,
Eu tenho usado o subsistema do Windows para Linux (especificamente, Ubuntu 20.04 LTS, baixado da Microsoft Store) em meu Win10 Home ver.1809 nos últimos dois meses sem nenhum problema. Por falar em make, está disponível para mim diretamente de dentro da janela do Terminal do Windows, mesmo sem iniciar o bash primeiro. Arrumado.
Igor Soudakevitch
5

Baixe make.exe de seu site oficial GnuWin32

  • Na sessão de download, clique em Pacote completo, exceto fontes .

  • Siga as instruções de instalação.

  • Quando terminar, adicione o <installation directory>/bin/à variável PATH.

Agora você poderá usar o make no cmd.

Manu S Pillai
fonte
Você poderia me ajudar como definir o diretório para a variável PATH.
shomit
3

Outra alternativa é se você já instalou o minGW e adicionou a pasta bin à variável de ambiente Path, você pode usar "mingw32-make" em vez de "make".

Você também pode criar um link simbólico de "make" para "mingw32-make", ou copiar e alterar o nome do arquivo. Eu não recomendaria as opções antes, elas funcionarão até que você faça alterações no minGW.

Persike
fonte
Você pode especificar o que quer dizer com "as opções anteriores"?
Jona
1

Eu poderia sugerir uma abordagem passo a passo.

  1. Visite GNUwin
  2. Baixe o programa de configuração
  3. Siga as instruções e instale o GNUWin. Você deve prestar atenção ao diretório onde seu aplicativo está sendo instalado. (Você precisará dele mais tarde1)
  4. Siga estas instruções e adicione make às suas variáveis ​​de ambiente. Como eu disse antes, agora é hora de saber onde seu aplicativo foi instalado. FYI: O diretório padrão é C:\Program Files (x86)\GnuWin32\.
  5. Agora, atualize o PATH para incluir o diretório bin do programa recém-instalado. Um exemplo típico do que se pode adicionar ao caminho é:...;C:\Program Files (x86)\GnuWin32\bin
Jaguarfi
fonte
0

Uma solução que pode ser útil se você quiser usar o cmder do emulador de linha de comando. Você pode instalar o instalador do pacote chocately. Primeiro, instalamos chocately no prompt de comando do Windows usando a seguinte linha:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
refreshenv

Depois que o chocolatey for instalado, o comando choco pode ser usado para instalar o make. Depois de instalado, você precisará adicionar um alias a /cmder/config/user_aliases.cmd. A seguinte linha deve ser adicionada:

make="path_to_chocolatey\chocolatey\bin\make.exe" $*

O make operará então no ambiente cmder.

MATTHEW SILVEUS
fonte