nmake: Make für Windows

| | Kommentare (2)

make, ein Tool, das zum Zusammenbauen von Software aus verschiedenen Dateien genutzt wird, steht unter Windows standardmäßig nicht zur Verfügung. Stattdessen gibt es von Microsoft das kostenlose Tool nmake, das im Wesentlichen wie make funktioniert.

Achtung: nmake ist nur ein make-Programm für Windows und kein C-Compiler. Daher können mit nmake keine XS-Module übersetzt werden. Dazu benötigt man einen C-Compiler.

nmake installieren

Schritt 1: Download

ftp://ftp.microsoft.com/softlib/mslfiles/nmake15.exe

Schritt 2: nmake15.exe auspacken

nmake15.exe ist ein selbstextrahierendes Archiv, welches drei Dateien enthält:

  • nmake.exe
  • nmake.err
  • readme.txt

Schritt 3: nmake Dateien in ein geeignetes Verzeichnis verschieben

Die drei Dateien in das Perl-Bin Verzeichnis verschieben, meist C:\perl\bin\.

Fertig.

CPAN Module installieren

Die übliche Vier-Befehle-Sequenz

perl Makefile.PL
make
make test
make install

wird nun zu

perl Makefile.PL
nmake
nmake test
nmake install

Beispiel

Das gewünschte CPAN Modul downloaden, hier CGI.pm Version 3.42, und mit 7-Zip entpacken, dann in der Windows Eingabe-Aufforderung (cmd.exe) in das Verzeichnis wechseln, in welches das Modul ausgepackt wurde.

C:\Dokumente und Einstellungen\tf\Eigene Dateien\CGI.pm-3.42>perl Makefile.PL
Set up gcc environment - 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Checking if your kit is complete...
Looks good
Writing Makefile for CGI

C:\Dokumente und Einstellungen\tf\Eigene Dateien\CGI.pm-3.42>nmake

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

cp CGI/Carp.pm blib\lib\CGI\Carp.pm
cp CGI/Push.pm blib\lib\CGI\Push.pm
cp CGI/Switch.pm blib\lib\CGI\Switch.pm
cp CGI/Fast.pm blib\lib\CGI\Fast.pm
cp CGI/Util.pm blib\lib\CGI\Util.pm
cp CGI/Apache.pm blib\lib\CGI\Apache.pm
cp CGI.pm blib\lib\CGI.pm
cp CGI/Pretty.pm blib\lib\CGI\Pretty.pm
cp CGI/Cookie.pm blib\lib\CGI\Cookie.pm

C:\Dokumente und Einstellungen\tf\Eigene Dateien\CGI.pm-3.42>nmake test

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', blib\arch')" t/*.t
t/apache................ok
t/can...................ok
t/carp..................ok
t/cookie................ok
t/fast..................ok
        7/7 skipped: various reasons
t/form..................ok
t/function..............ok
        2/32 skipped: various reasons
t/html..................ok
t/no_tabindex...........ok
t/pretty................ok
t/push..................ok
        1/12 skipped: various reasons
t/request...............ok
        3/34 skipped: various reasons
t/start_end_asterisk....ok
t/start_end_end.........ok
t/start_end_start.......ok
t/switch................ok
t/upload................ok
t/uploadInfo............ok
t/util-58...............ok
t/util..................ok
All tests successful, 13 subtests skipped.
Files=20, Tests=521,  5 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00 CPU)

C:\Dokumente und Einstellungen\tf\Eigene Dateien\CGI.pm-3.42>nmake install

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

Installing C:\Perl\html\lib\CGI.html
Installing C:\Perl\html\lib\CGI\Carp.html
Installing C:\Perl\html\lib\CGI\Cookie.html
Installing C:\Perl\html\lib\CGI\Fast.html
Installing C:\Perl\html\lib\CGI\Pretty.html
Installing C:\Perl\html\lib\CGI\Push.html
Installing C:\Perl\html\lib\CGI\Util.html
Installing C:\Perl\lib\CGI.pm
Installing C:\Perl\lib\CGI\Apache.pm
Installing C:\Perl\lib\CGI\Carp.pm
Installing C:\Perl\lib\CGI\Cookie.pm
Installing C:\Perl\lib\CGI\Fast.pm
Installing C:\Perl\lib\CGI\Pretty.pm
Installing C:\Perl\lib\CGI\Push.pm
Installing C:\Perl\lib\CGI\Switch.pm
Installing C:\Perl\lib\CGI\Util.pm
Appending installation info to C:\Perl\lib/perllocal.pod

C:\Dokumente und Einstellungen\tf\Eigene Dateien\CGI.pm-3.42>
perl -MCGI -e "print $CGI::VERSION"
3.42

That's it.

Siehe auch

2 Kommentare

Is It Possible To use a few sections of "nmake: Make für Windows - Perl HowTo - Tipps, Tricks und Anleitungen" on my own site, with a link of course ? Thank you for your answer.

That's fine. Go-ahead. Thomas

Jetzt kommentieren

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Thomas Fahle vom 18.03.09 20:15.

Geo::IP - IP-Adressen oder Hostnamen regional zuordnen ist der vorherige Eintrag in diesem Blog.

Talk: Der Editor Vim/gVim als Perl-IDE von Fritz Mehner ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Blog Roll

Powered by

Powered by Movable Type 5.2.10

Creative Commons-Lizenz

Creative Commons License
Dieses Weblog steht unter einer Creative Commons-Lizenz.