Sous Linux, les sources de projets sont généralement accompagnées de Makefile
. Les makefiles contiennent des directives pour construire ces projets en utilisant la commande make
. Je suis actuellement obligé d'utiliser Windows et pour pouvoir utiliser ce système d'exploitation, j'ai configuré et amélioré le "PowerShell" (en installant des programmes supplémentaires, tels que vim
ou svn
, un module appelé PSReadLine
, l'écriture d'un profil PowerShell, etc. .).
Cependant, je n'ai pas pu déterminer s'il était possible d'installer make
dans PowerShell. Je suis conscient que je devrai également installer des programmes que make
appellera, tels que, par exemple, g++
ou pdflatex
, mais ce sera pour plus tard. Pour l'instant, j'aimerais que make
fonctionne elle-même en premier lieu.
Un peu de recherche a révélé deux possibilités:
La réponse acceptée à cette question très similaire: Comment utiliser les makefiles sur Windows , suggère d’utiliser Cygwin. C'est une possibilité, Cygwin est génial, mais depuis que j'ai décidé de donner une chance à PowerShell, j'aimerais savoir si cela est également possible avec PowerShell , pas Cygwin . Par conséquent, cette question n'est pas une copie, car cette autre question concernait une possibilité d'utiliser make
sous Windows, alors que je demande PowerShell en particulier.
Il existe un clone make
pour le clone PowerShell appelé poshmake , mais la syntaxe des fichiers Poshmake est différente de celle des fichiers Makefiles habituels, ce qui est inacceptable. Je veux une vraie make
, car la maintenance de deux versions de Makefiles pour tous les projets que je traîne n’est pas une option.
Donc: est-il possible d’installer GNU make, qui comprendra la syntaxe des Makefiles typiques, de sorte que je puisse appeler make
de PowerShell ?
Jetez un oeil à "Make for Windows" . Après l’installation, appelez simplement "make" depuis CMD ou PowerShell.
Installez Make for Windows à partir de GNU Make et ajoutez C:\Program Files (x86)\GnuWin32\bin à votre chemin Chemin UbicationModifier le chemin