Verwenden von make aus Windows PowerShell

12

Unter Linux werden häufig Projektquellen mit Makefile's geliefert. Makefiles enthalten Anweisungen zum Erstellen dieser Projekte mit dem Befehl make. Ich bin derzeit gezwungen, Windows zu verwenden, und um dieses Betriebssystem nutzen zu können, habe ich die "PowerShell" konfiguriert und erweitert (indem ich einige zusätzliche Programme installiert habe, z. B. vimoder svnein Modul namens PSReadLine, ein PowerShell-Profil schreibend usw.).

Ich konnte jedoch nicht feststellen, ob eine Installation makein PowerShell möglich ist. Mir ist bewusst, dass ich auch Programme installieren muss, makedie aufgerufen werden, wie zum Beispiel g++oder pdflatex, aber das wird für später sein. Vorerst möchte ich mich an die makeArbeit machen.

Ein wenig Recherche ergab zwei Möglichkeiten:

  1. Die akzeptierte Antwort auf diese sehr ähnliche Frage: Wie man Makefiles unter Windows verwendet , empfiehlt die Verwendung von Cygwin. Das ist eine Möglichkeit, Cygwin ist großartig, aber da ich beschlossen habe, PowerShell eine Chance zu geben, möchte ich wissen, ob dies auch mit PowerShell und nicht mit Cygwin möglich ist . Daher ist diese Frage kein Duplikat, da es sich bei dieser anderen Frage um eine Verwendungsmöglichkeit makein Windows handelte, während ich insbesondere nach PowerShell frage.

  2. Es gibt einen makeKlon für den PowerShell-Klon namens poshmake , aber die Syntax der Poshmake-Dateien unterscheidet sich von den üblichen Makefiles. Ich möchte eine echte make, da es keine Option ist, zwei Versionen von Makefiles für alle Projekte zu pflegen, die ich herumliegen habe.

Also: Ist es möglich, GNU make zu installieren, das die Syntax typischer Makefiles versteht, die ich makeaus PowerShell heraus aufrufen kann ?

Malte Skoruppa
quelle

Antworten:

9

Schauen Sie sich "Make for Windows" an . Nach der Installation rufen Sie einfach "make" von CMD oder PowerShell auf.

Kumpel
quelle
1
Ah ja, das habe ich gefunden, aber diese Möglichkeit verworfen, weil das letzte Update für dieses Projekt vor ungefähr 8 Jahren war. Aber du hast recht - ich schätze, ich werde es versuchen, wenn ich wieder bei der Arbeit bin und mich wieder melden :)
Malte Skoruppa
Tatsächlich ist mir gerade aufgefallen, dass makeunter meiner modernen Ubuntu 14.04-Installation auch Version 3.81 aus dem Jahr 2006 verfügbar ist. Ich schätze dann, es ist einfach sehr stabil und verfügt über alle Funktionen, die es benötigt, und es waren einfach keine weiteren Updates erforderlich;)
Malte Skoruppa
2
Es funktioniert, obwohl PowerShell den makeBefehl nicht automatisch gefunden hat. Ich musste einen makeAlias einrichten, der auf die tatsächliche make.exeausführbare Datei in meinem PowerShell-Profil verweist . Vielen Dank!
Malte Skoruppa
3
notepad $profile(oder bearbeiten Sie Ihr PowerShell-Profil, wie new-item alias:make -value 'C:\Program Files (x86)\GnuWin32\bin\make.exe'Sie möchten ) und fügen Sie Folgendes hinzu:
alexanderbird
5
Sie können einfach C:\Program Files (x86)\GnuWin32\binzu Ihrem Pfad hinzufügen .
Forzagreen