2 .TH WINEMAKER 1 "Januar 2012" "@PACKAGE_STRING@" "Wine Entwicklerhandbuch"
4 winemaker \- Erzeugt eine Build-Infrastruktur, um Windows Programme unter Unix zu kompilieren
8 .BR "--nobanner " "] [ " "--backup " "| " "--nobackup " "] [ "--nosource-fix "
12 .BR "--lower-none " "| " "--lower-all " "| " "--lower-uppercase "
16 .BR "--lower-include " "| " "--nolower-include " ]\ [ " --mfc " "| " "--nomfc "
20 .BR "--guiexe " "| " "--windows " "| " "--cuiexe " "| " "--console " "| " "--dll " "| " "--lib "
24 .BI "-D" macro "\fR[=\fIdefn\fR] ] [" "\ " "-I" "dir\fR ]\ [ " "-P" "dir\fR ] [ " "-i" "dll\fR ] [ " "-L" "dir\fR ] [ " "-l" "library "
28 .BR "--nodlls " "] [ " "--nomsvcrt " "] [ " "--interactive " "] [ " "--single-target \fIname\fR "
32 .BR "--generated-files " "] [ " "--nogenerated-files " "]
37 .IR " Arbeitsverzeichnis" " | " "Projektdatei" " | " "Workspacedatei"
42 ist ein Perl-Script um Ihnen das Konvertieren von Windows-Quellcode
43 zu einem Winelib-Programm zu erleichtern.
45 Zu diesem Zweck beherrscht \fBwinemaker\fR folgende Operationen:
47 - Quellcodedateien und Verzeichnisse in Kleinbuchstaben umbenennen, falls
48 diese beim Übertragen komplett in Großbuchstaben angekommen sind.
50 - Konvertierung von DOS- zu Unix-Zeilenenden (CRLF nach LF).
52 - Include-Anweisungen und Resourcenreferenzen durchsuchen, um Backslashes
53 durch Slashes zu ersetzen.
55 - Während des obigen Schrittes wird \fBwinemaker\fR ebenfalls nach der angegebenen Datei
56 im Includepfad suchen und die entsprechende Zeile, falls nötig, mit der korrekten
57 Groß-/Kleinschreibweise austauschen.
59 - \fBwinemaker\fR wird ebenso andere, exotischere Probleme wie die Benutzung von
60 \fI#pragma pack\fR, \fIafxres.h\fR in nicht-MFC-Projekten und mehr untersuchen.
61 Sollte etwas ungwöhnliches vorkommen, wird \fBwinemaker\fR Sie warnen.
63 - \fBwinemaker\fR kann eine ganze Verzeichnisstruktur auf einmal durchsuchen,
64 schätzen welche ausführbaren Dateien und Bibliotheken Sie zu erstellen
65 gedenken, diese den passenden Quelldateien zuordnen und entsprechende \fIMakefile\fR
68 - letztendlich wird \fBwinemaker\fR eine globale \fIMakefile\fR für den normalen Gebrauch erzeugen.
70 - \fBwinemaker\fR erkennt MFC-basierte Projekte und erstellt angepasste Dateien.
72 - Existierende Projektdateien können von \fBwinemaker\fR gelesen werden.
73 Unterstützt sind dsp, dsw, vcproj und sln-Dateien.
78 Unterdrückt die Anzeige des Banners.
81 Lässt \fBwinemaker\fR Backups von allen Quellcodedateien anlegen, an denen
82 Änderungen vorgenommen werden. Diese Option ist Standard.
85 Lässt \fBwinemaker\fR keine Backups anlegen.
88 Weist \fBwinemaker\fR an, keine Quellcodedateien zu ändern (z.B. DOS zu Unix
89 Konvertierung). Verhindert Fehlermeldungen bei schreibgeschützten Dateien.
92 Alle Dateien und Verzeichnisse werden in Kleinschreibung umbenannt.
95 Nur Dateien und Verzeichnisse, die komplett groß geschrieben sind, werden
96 in Kleinschreibung umbenannt.
97 \fIHALLO.C\fR würde beispielsweise umbenannt werden, \fIWelt.c\fR jedoch nicht.
100 Keine Dateien und Verzeichnisse werden in Kleinschreibung umbenannt.
101 Beachten Sie, dass dies nicht die Umbenennung von Dateien verhindert, deren
102 Erweiterungen nicht unverändert verarbeitet werden können, z.B. ".Cxx".
103 Diese Option ist Standard.
105 .B "--lower-include "
106 Wenn die Datei zu einer Include-Anweisung (oder einer anderen Form von
107 Dateireferenz für Resourcen) nicht auffindbar ist, wird der Dateiname in
108 Kleinschreibung umbenannt. Diese Option ist Standard.
110 .B "--nolower-include "
111 Es werden keine Änderungen an Include-Anweisungen oder Referenzen vorgenommen,
112 wenn die entsprechende Datei nicht auffindbar ist.
114 .BR "--guiexe " "| " "--windows"
115 Legt fest, dass für jedes gefundene, ausführbare Target, oder Target unbekannten
116 Typs angenommen wird, dass es sich um eine grafische Anwendung handelt.
117 Diese Option ist Standard.
119 .BR "--cuiexe " "| " "--console"
120 Legt fest, dass für jedes gefundene, ausführbare Target, oder Target unbekannten
121 Typs angenommen wird, dass es sich um eine Konsolenanwendung handelt.
124 \fBwinemaker\fR wird im Zweifelsfall annehmen, dass es sich bei einem unbekannten
125 Target um eine DLL handelt.
128 \fBwinemaker\fR wird im Zweifelsfall annehmen, dass es sich bei einem unbekannten
129 Target um eine statische Bibliothek handelt.
132 Teilt \fBwinemaker\fR mit, dass es sich um MFC-basierte Ziele handelt. In solch einem
133 Fall passt \fBwinemaker\fR Pfade für Header und Bibliotheken entsprechend an und
134 verlinkt die Ziele mit der MFC-Bibliothek.
137 Teilt \fBwinemaker\fR mit, dass es sich nicht um MFC-basierte Ziele handelt. Diese
138 Option verhindert die Benutzung von MFC-Bibliotheken, selbst wenn \fBwinemaker\fR
139 Dateien wie \fIstdafx.cpp\fR oder \fIstdafx.h\fR begegnet, was normalerweise automatisch
140 MFC aktivieren würde, wenn weder \fB--nomfc\fR noch \fB--mfc\fR angegeben wurden.
142 .BI -D macro "\fR[=\fIdefn\fR]"
143 Fügt diese Makrodefinition zur globalen Makroliste hinzu.
146 Hängt das angegebene Verzeichnis dem globalen Include-Pfad an.
149 Hängt das angegebene Verzeichnis dem globalen DLL-Pfad an.
152 Fügt die angegebene Winelib-Bibliothek zur globalen Liste der zu importierenden
153 Winelib-Bibliotheken hinzu.
156 Hängt das angegebene Verzeichnis dem globalen Bibliotheks-Pfad an.
159 Fügt die angegebene Bibliothek zur globalen Liste der zu verlinkenden
163 Diese Option teilt \fBwinemaker\fR mit, nicht den Standardsatz an Winelib-Bibliotheken
164 zu importieren. Dies bedeutet, dass jede DLL, die Ihr Quellcode nutzt, explizit
165 mit \fB-i\fR an \fBwinemaker\fR übergeben werden muss.
166 Die Standard-Bibliotheken sind: \fIodbc32.dll\fR, \fIodbccp32.dll\fR, \fIole32.dll\fR,
167 \fIoleaut32.dll\fR und \fIwinspool.drv\fR.
170 Setzt einige Optionen, die \fBwinegcc\fR daran hindern, gegen msvcrt zu kompilieren.
171 Nutzen Sie diese Option bei cpp-Dateien, die \fI<string>\fR einbinden.
174 Versetzt \fBwinemaker\fR in einen interaktiven Modus. In diesem Modus wird \fBwinemaker\fR
175 Sie für die Targetliste jedes Verzeichnisses nach Bestätigung und jeweils
176 target- und verzeichnisspezifischen Optionen fragen.
178 .BI --single-target " name"
179 Gibt an, dass es nur ein einziges Target gibt, namens \fIname\fR.
182 Weist \fBwinemaker\fR an, eine \fIMakefile\fR zu erzeugen. Diese Option ist Standard.
184 .B --nogenerated-files
185 Weist \fBwinemaker\fR an, keine \fIMakefile\fR zu erzeugen.
188 Weist \fBwinemaker\fR an, ein 32-Bit Target zu erstellen. Dies ist nützlich bei
189 wow64-Systemen. Ohne diese Option wird die Standardarchitektur benutzt.
193 Ein typischer \fBwinemaker\fR Aufruf:
195 $ winemaker --lower-uppercase -DSTRICT .
197 Damit scannt \fBwinemaker\fR das aktuelle Verzeichnis und die Unterverzeichnisse nach
198 Quellcodedateien. Jede Datei und jedes Verzeichnis, das ganz in Großbuchstaben
199 geschrieben ist, wird in Kleinbuchstaben umbenannt. Danach werden alle Quellcodedateien
200 an die Kompilierung mit Winelib angepasst und \fIMakefile\fRs erzeugt. \fB-DSTRICT\fR gibt
201 an, dass das \fBSTRICT\fR-Makro gesetzt sein muss, um diesen Quellcode zu kompilieren.
202 Letztendlich wird \fBwinemaker\fR die globale \fIMakefile\fR erzeugen.
204 Der nächste Schritt wäre dann:
208 Wenn Sie an diesem Punkt Compilerfehler erhalten (was recht wahrscheinlich ist,
209 ab einer gewissen Projektgröße), sollten Sie den Winelib User Guide zu Rate
210 ziehen, um Problemlösungen und Tipps zu finden.
212 Bei einem MFC-basierten Projekt sollten Sie stattdessen folgenden Befehl ausführen:
214 $ winemaker --lower-uppercase --mfc .
218 Mit einer existierenden Projektdatei lautet der passende Befehl:
220 $ winemaker meinprojekt.dsp
227 In einigen Fällen werden Sie die \fIMakefile\fR oder den Quellcode von Hand
228 nachbearbeiten müssen.
230 Angenommen, die fertigen Windows-Bibliotheken oder Binärdateien sind vorhanden,
231 könnte mit \fBwinedump\fR ermittelt werden, um welche Art von ausführbarer Datei es
232 sich handelt (grafisch oder Konsole), gegen welche Bibliotheken sie gelinkt
233 sind und welche Funktionen exportiert werden (bei Bibliotheken). All diese
234 Informationen könnten dann für das Winelib-Projekt verwendet werden.
236 Weiterhin ist \fBwinemaker\fR nicht sehr gut darin, die Bibliothek zu finden, die
237 die Anwendung enthält: Sie muss entweder im aktuellen Verzeichnis oder im
238 .IR LD_LIBRARY_PATH liegen.
240 \fBwinemaker\fR unterstützt noch keine Messagedateien und deren Compiler.
243 .UR http://bugs.winehq.org
248 François Gouget für CodeWeavers
255 ist Teil der Wine-Distribution, verfügbar im WineHQ, dem
256 .UR http://www.winehq.org/
257 .B Hauptquartier der Wine-Entwicklung
262 .UR http://www.winehq.org/help
263 .B Wine-Dokumentation und Support