Como usar o GNU Make no Windows?

95

Eu instalei MinGW e MSYS, acrescentou C:\MinGW\bina PATH, mas eu ainda não pode executar Makefile no Windows' cmd. Eu gostaria de executar cmd.exe e digitar lá, por exemplo, make allmas meu cmd diz que não existe tal comando.

O que devo fazer? Não quero usar o shell MSYS, esse não é o ponto. Alguma idéia de como usar o GNU Make no cmd do Windows como posso fazer no Ubuntu? Não estou interessado em Cygwin.

iaque
fonte
1
Você terá que adicioná-lo ao PATH nas variáveis ​​de ambiente nas configurações do sistema.
slugonamission
@slugonamission: Já fiz isso, escrevi :)
yak
Execute make.exe em vez de make?
slugonamission
2
@slugonamission: Consegui! Eu adicionei C:\MinGW\msys\1.0\binao PATH e funcionou! : D Mas ainda tem problema, makemostra-me: pastie.org/private/ixaaqbq2xl3geyg0emnow
yak
1
Em seu alldestino, o hello.exe precisa estar na mesma linha allpara ser considerado uma dependência do destino. Caso contrário, torna-se parte da tarefa de all.
slugonamission

Respostas:

101

Veja como eu fiz isso funcionar:

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

Então, consigo abrir um prompt de comando e digitar make:

  C:\Users\Dell>make
  make: *** No targets specified and no makefile found.  Stop.

O que significa que está funcionando agora!

user1594322
fonte
10
@Imray Caso ainda não esteja completamente claro: o make é distribuído em arquivo mingw32-make.exe. Como o diretório c:\MinGW\binestá no caminho do sistema, você pode usar mingw32-makecomo um comando ou copiar (versão mais segura de renomeação) mingw32-make.exepara apenas make.exe.
Tomáš Zato - Reintegração de Monica
1
Você deve evitar fazer do msys ou do mingw parte de suas variáveis ​​de ambiente por motivos de inchaço, mas também porque o diretório msys é local para ele mesmo. O caminho em msys permitirá que você use make se estiver no compartimento do mingw64, porém não falando sobre este problema. Também não falando sobre o problema, você deve criar um link HARD para mingw32-make.exe como make.exe, torna a vida mais fácil e não precisa clonar o exe. Experimente:mklink /H C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe
user2262111
9

Estou usando o GNU Make do projeto GnuWin32, consulte http://gnuwin32.sourceforge.net/, mas não houve nenhuma atualização por um tempo, então não tenho certeza sobre o status deste projeto.

Colin 't Hart
fonte
6

Embora essa pergunta seja antiga, ainda é feita por muitos que usam o MSYS2 .

Comecei a usá-lo este ano para substituir CygWin e estou ficando bastante satisfeito.

Para instalar make, abra o shell MSYS2 e digite os seguintes comandos:

# Update the package database and core system packages
pacman -Syu
# Close shell and open again if needed

# Update again
pacman -Su

# Install make
pacman -S make

# Test it (show version)
make -v
Delfino
fonte
3

Você pode adicionar a pasta do aplicativo ao seu caminho a partir de um prompt de comando usando:

setx PATH "% PATH%; c: \ MinGW \ bin"

Observe que você provavelmente precisará abrir uma nova janela de comando para que a configuração do caminho modificado entre em vigor.

Buggieboy
fonte
2

Como alternativa, se você deseja apenas instalar o make, você pode usar o gerenciador de pacotes chocolatey para instalar o gnu make usando

choco install make -y

Isso lida com quaisquer problemas de caminho que você possa ter.

Ivo Merchiers
fonte
0

user1594322 deu uma resposta correta, mas quando tentei, tive problemas de administração / permissão. Consegui copiar 'mingw32-make.exe' e colá-lo, ignorando / contornando problemas de administração e, em seguida, editando a cópia para 'make.exe'. No VirtualBox em um convidado Win7.

DBourne
fonte
0

Embora o make em si esteja disponível como um executável autônomo ( gnuwin32.sourceforge.netpacotemake ), usá-lo em um ambiente de desenvolvimento adequado significa usar msys2 .

Git 2,24 (quarto trimestre de 2019) ilustra que:

Consulte o commit 4668931 , o commit b35304b , o commit ab7d854 , o commit be5d88e , o commit 5d65ad1 , o commit 030a628 , o commit 61d1d92 , o commit e4347c9 , o commit ed712ef , o commit 5b8f9e2 , o commit 41616ef , o commit c097b95 (04 30 de outubro de 2019) e o commit dbcd970 ( 04 de outubro de 2019) por Johannes Schindelin ( dscho) .
(Incorporado por Junio ​​C Hamano - gitster- no commit 6d5291b , 15 de outubro de 2019)

test-tool run-command: aprenda a executar (partes de) a suíte de teste

Assinado por: Johannes Schindelin

Git para Windows supera obstáculos para fornecer um ambiente de desenvolvimento que permite construir Git e executar seu conjunto de testes.

Para esse fim, um sistema MSYS2 completo, incluindo GNU make e GCC é oferecido como "o Git para Windows SDK".
Tem um preço: um download inicial do referido SDK pesa várias centenas de megabytes e o SDK desempacotado ocupa cerca de 2 GB de espaço em disco.

Um ambiente de desenvolvimento muito mais nativo no Windows é o Visual Studio. Para ajudar os contribuidores a usarem esse ambiente, já temos um alvo Makefile vcxprojque gera um commit com arquivos de projeto (e outros arquivos gerados), e o vs/masterbranch do Git para Windows é continuamente regenerado usando esse alvo.

A ideia é permitir a construção do Git no Visual Studio e executar testes individuais usando um Git portátil.

VonC
fonte