|  | .\" -*- nroff -*- | 
|  | .TH WINEMAKER 1 "April 2010" "@PACKAGE_STRING@" "Wine Developers Manual" | 
|  | .SH NAME | 
|  | winemaker \- Erzeugt eine Buildumgebung um Windows Programme unter Unix zu kompilieren | 
|  | .SH ÜBERSICHT | 
|  | .B "winemaker " | 
|  | [ | 
|  | .BR               "--nobanner " "] [ " "--backup " "| " "--nobackup " "] [ "--nosource-fix " | 
|  | ] | 
|  | .br | 
|  | [ | 
|  | .BR               "--lower-none " "| " "--lower-all " "| " "--lower-uppercase " | 
|  | ] | 
|  | .br | 
|  | [ | 
|  | .BR               "--lower-include " "| " "--nolower-include " ]\ [ " --mfc " "| " "--nomfc " | 
|  | ] | 
|  | .br | 
|  | [ | 
|  | .BR               "--guiexe " "| " "--windows " "| " "--cuiexe " "| " "--console " "| " "--dll " | 
|  | ] | 
|  | .br | 
|  | [ | 
|  | .BI               "-D" macro "\fR[=\fIdefn\fR] ] [" "\ " "-I" "dir\fR ]\ [ " "-P" "dir\fR ] [ " "-i" "dll\fR ] [ " "-L" "dir\fR ] [ " "-l" "library " | 
|  | ] | 
|  | .br | 
|  | [ | 
|  | .BR               "--nodlls " "] [ " "--nomsvcrt " "] [ " "--interactive " "] [ " "--single-target \fIname\fR " | 
|  | ] | 
|  | .br | 
|  | [ | 
|  | .BR               "--generated-files " "] [ " "--nogenerated-files " "] | 
|  | ] | 
|  | .br | 
|  | [ | 
|  | .BR               "--wine32 " "] | 
|  | .br | 
|  | .IR               "  Arbeitsverzeichnis" " | " "Projektdatei" " | " "Workspacedatei" | 
|  |  | 
|  | .SH BESCHREIBUNG | 
|  | .PP | 
|  | .B winemaker | 
|  | ist ein Perl Script um Ihnen das konvertieren von Windows Quellcode | 
|  | zu einem Winelib Programm zu erleichtern. | 
|  | .PP | 
|  | Um diese zu tun kann winemaker folgendes vornehmen: | 
|  | .PP | 
|  | - Quellcodedateien und Verzeichnisse in Kleinbuchstaben umbennen falls | 
|  | alle Buchstaben groß sind. | 
|  | .PP | 
|  | - DOS zu Unix konvertierung (CRLF to LF). | 
|  | .PP | 
|  | - include Anweisungen und Resource Referenzen durchsuchen um Backslashes | 
|  | durch Slashes zu ersetzen. | 
|  | .PP | 
|  | - während des oberen Schrittes wird winemaker auch nach der angegebenen Datei | 
|  | im Includepfad suchen um die entsprechende Zeile falls nötig mit der jeweiligen Schreibweise | 
|  | zu korriegieren. | 
|  | .PP | 
|  | - winemaker wird ebenso andere exotische Probleme wie die Benutzung von | 
|  | '#pragma pack', 'afxres.h' in nicht-MFC-Projekten und mehr untersuchen. | 
|  | Sollte irgendwas ungwöhnliches vorkommen wird winemaker Sie warnen. | 
|  | .PP | 
|  | - winemaker kann auch eine ganze Verzeichnisstruktur auf einmal durchsuchen, | 
|  | schätzen was die ausführbaren Dateien und Bibliotheken sind die Sie neu erstellen | 
|  | möchten und dazu die Quellcodedateien zuordnen. | 
|  | .PP | 
|  | - letzendlich wird winemaker eine Makefile für den normalen gebrauch erstellen. | 
|  | .PP | 
|  | - MFC-basierte Projekte werden erkannt und es werden angepasste Dateien erstellt. | 
|  | .PP | 
|  | - Existierende Projektdateien können von winemaker gelesen werden. | 
|  | Unterstützt werden dsp, dsw, vcproj und sln Dateien. | 
|  | .PP | 
|  | .SH ARGUMENTE | 
|  | .TP | 
|  | .B --nobanner | 
|  | Schaltet das anzeigen des Banners aus. | 
|  | .TP | 
|  | .B --backup | 
|  | Lässt winemaker Backups von allen Quellcodedateien erstellen an denen | 
|  | Änderungen vorgenommen werden. Diese Option ist Standard. | 
|  | .TP | 
|  | .B --nobackup | 
|  | Lässt winemaker keine Backups erstellen. | 
|  | .TP | 
|  | .B --nosource-fix | 
|  | Lässt winemaker keine Quellcodedateien ändern (z.B. DOS zu Unix Konvertierung) | 
|  | Das kann Meldungen bei schreibgeschützten Dateien verhindern. | 
|  | .TP | 
|  | .B --lower-all | 
|  | Alle Dateien und Verzeichnisse werden in Kleinschreibung umbenannt. | 
|  | .TP | 
|  | .B --lower-uppercase | 
|  | Alle Dateien und Verzeichnisse die komplett groß geschrieben sind werden | 
|  | in Kleinschreibung umbenannt. | 
|  | Also "HALLO.C" würde umbenannt werden, "Welt.c" jedoch nicht. | 
|  | .TP | 
|  | .B --lower-none | 
|  | Keine Dateien und Verzeichnisse werden in Kleinschreibung umbenannt. | 
|  | Achtung: Dies verhindert nicht die Umbennenung von Dateien, deren Erweiterung | 
|  | nicht verarbeiten lassen, wie z.B. ".Cxx". Diese Option ist Standard. | 
|  | .TP | 
|  | .B "--lower-include " | 
|  | Wenn die Datei zu einer include Anweisung (oder einer Resource Referenz) | 
|  | nicht auffindbar ist, wird der Dateiname in Kleinschreibung umbenannt. | 
|  | Diese Option ist Standard. | 
|  | .TP | 
|  | .B "--nolower-include " | 
|  | Wenn die Datei zu einer include Anweisung (oder einer Resource Referenz) | 
|  | nicht auffindbar ist, wird keine Änderung vorgenommen. | 
|  | .TP | 
|  | .BR "--guiexe " "| " "--windows" | 
|  | Gibt den Typ(grafisch) der zu erstellenden Anwendung an. | 
|  | Diese Option ist Standard. | 
|  | .TP | 
|  | .BR "--cuiexe " "| " "--console" | 
|  | Gibt den Typ(Konsole) der zu erstellenden Anwendung an. | 
|  | .TP | 
|  | .B --dll | 
|  | winemaker wird im Zweifelsfall annehmen, dass es sich um eine Bibliothek handelt. | 
|  | .TP | 
|  | .B --mfc | 
|  | Teilt winemaker mit, dass es sich um MFC-basierten Quellcode handelt. | 
|  | In solch einem Fall passt winemaker Pfade für Header und Bibliotheken entsprechend an | 
|  | und kompiliert gegen die MFC Bibliothek. | 
|  | .TP | 
|  | .B --nomfc | 
|  | Teilt winemaker mit, dass es sich nicht um MFC-basierten Quellcode handelt. | 
|  | Selbst wenn winemaker dateien wie "stdafx.cpp" oder "stdafx.h" bemerkt, was automatisch | 
|  | MFC aktivieren würde, wenn weder --nomfc noch --mfc angegeben wurden. | 
|  | .TP | 
|  | .BI -D macro "\fR[=\fIdefn\fR]" | 
|  | Verwendet diese Makrodefinition global. | 
|  | .TP | 
|  | .BI -I dir | 
|  | Verwendet den Pfad als globalen Include-Pfad. | 
|  | .TP | 
|  | .BI -P dir | 
|  | Verwendet den Pfad als globalen DLL-Pfad. | 
|  | .TP | 
|  | .BI -i dll | 
|  | Fügt eine Winelib Bibliothek zu der globalen Liste der zu importierenden | 
|  | Winelib Bibliotheken hinzu. | 
|  | .TP | 
|  | .BI -L dir | 
|  | Verwendet den Pfad als globalen Bibliotheks-Pfad. | 
|  | .TP | 
|  | .BI -l library | 
|  | Fügt eine Bibliothek zu der globalen Liste der zu importierenden | 
|  | Bibliotheken hinzu. | 
|  | .TP | 
|  | .B --nodlls | 
|  | Dieso Option teil winemakr mit, nicht die Standard Winelib Bibliotheken zu importieren. | 
|  | Also muss jede DLL die der Quellcode nutzt explizit mit -i an winemaker übergeben werden. | 
|  | Die Standard Bibliotheken sind: odbc32.dll, odbccp32.dll, ole32.dll, | 
|  | oleaut32.dll und winspool.drv. | 
|  | .TP | 
|  | .B --nomsvcrt | 
|  | Dies hindert winegcc gegen msvcrt zu kompilieren. | 
|  | Nutzen Sie diese Option bei cpp-Dateien mit einem <string> include. | 
|  | .TP | 
|  | .B --interactive | 
|  | Versetzt winemaker in einen interaktiven Modus. In diesem Modus wird winemaker | 
|  | Sie für jede Targetliste in jedem Verzeichniss nach Bestätigung fragen und nach jeweils | 
|  | speziellen Optionen fragen. | 
|  | .TP | 
|  | .B --single-target name | 
|  | Es gibt nur ein Target namens "name". | 
|  | .TP | 
|  | .B --generated-files | 
|  | Eine Makefile soll erzeugt werden. Diese Option ist Standard. | 
|  | .TP | 
|  | .B --nogenerated-files | 
|  | Keine Makefile erstellen. | 
|  | .TP | 
|  | .B --wine32 | 
|  | Ein 32-Bit Target erstellen. Das ist nützlich unter wow64 Systemen. | 
|  | Ohne dieser Option wird die Standard Architektur genutzt. | 
|  |  | 
|  | .SH BEISPIELE | 
|  | .PP | 
|  | Ein typischer winemaker aufruf: | 
|  | .PP | 
|  | $ winemaker --lower-uppercase -DSTRICT . | 
|  | .PP | 
|  | Damit scannt winemaker das aktuelle Verzeichnis und die Unterverzeichnisse nach | 
|  | Quellcodedateien. Jede Datei und jedes Verzeichnis das in Großbuchstaben geschrieben | 
|  | ist wird in Kleinbuchstaben umbenannt. Danach werden alle Quellcodedateien an die | 
|  | kompilierung mit Winelib angepasst und Makefiles erzeugt. | 
|  | '-DSTRICT' gibt an, dass das STRICT Makro gesetzt sein muss wenn man diesen Quellcode | 
|  | kompiliert. Letztendlich wird winemaker die globale Makefile erzeugen. | 
|  | .PP | 
|  | Der nächste Schritt wäre dann: | 
|  | .PP | 
|  | $ make | 
|  | .PP | 
|  | Wenn Sie hier Compiler Fehler sehen (was nicht unwahrscheinlich für ein einigermaßen | 
|  | großes Projekt), dann sollten Sie einen Blick in den Winelib User Guide werfen um | 
|  | für die Problemlösung ein paar Tipps zu finden. | 
|  | .PP | 
|  | Bei einem MFC-basierten Projekt müssen Sie stattdessen folgenden Befehl ausführen: | 
|  | .PP | 
|  | $ winemaker --lower-uppercase --mfc . | 
|  | .br | 
|  | $ make | 
|  | .PP | 
|  | Mit einer existierenden Projektdatei folgenden Befehl ausführen: | 
|  | .PP | 
|  | $ winemaker meinprojekt.dsp | 
|  | .br | 
|  | $ make | 
|  | .PP | 
|  |  | 
|  | .SH TODO / FEHLER | 
|  | .PP | 
|  | In einigen Fällen müssen Sie die Makefile oder den Quellcode nachbearbeiten. | 
|  | .PP | 
|  | Für den Fall das die Binärdateien schon vorhanden sind könnten wir winedump | 
|  | nutzen um die Art (grafisch oder Konsole), die benötigten Bibliotheken und welche | 
|  | Funktionen exportiert werden (bei den Bibliotheken). Wir könnten all diese Informationen | 
|  | für das Winelib Projekt verwenden. | 
|  | .PP | 
|  | Weiterhin ist winemaker nicht sehr gut darin die Bibliothek zu finden, die die | 
|  | Anwendung enthält. Sie muss entweder im aktuellen Verzeichnis sein oder in | 
|  | .IR LD_LIBRARY_PATH . | 
|  | .PP | 
|  | Winemaker unterstützt noch keine Messagedateien und deren Compiler. | 
|  | .PP | 
|  |  | 
|  | .SH SIEHE AUCH | 
|  | .PP | 
|  | Den Winelib User Guide: | 
|  | .PP | 
|  | http://www.winehq.org/docs/winelib-guide/index | 
|  | .PP | 
|  | .BR wine (1) | 
|  | .PP | 
|  |  | 
|  | .SH AUTOREN | 
|  | François Gouget for CodeWeavers | 
|  | .PP | 
|  | Dimitrie O. Paun | 
|  | .PP | 
|  | André Hentschel | 
|  | .PP |