Provided by: wine64-tools_4.0-2_amd64 bug

NAME

       winemaker  -  Erzeugt  eine  Build-Infrastruktur,  um  Windows  Programme  unter  Unix  zu
       kompilieren

ÜBERSICHT

       winemaker [ --nobanner ] [ --backup | --nobackup ] [ --nosource-fix ]
         [ --lower-none | --lower-all | --lower-uppercase ]
         [ --lower-include | --nolower-include ] [ --mfc | --nomfc ]
         [ --guiexe | --windows | --cuiexe | --console | --dll | --lib ]
         [ -Dmacro[=defn] ] [ -Idir ] [ -Pdir ] [ -idll ] [ -Ldir ] [ -llibrary ]
         [ --nodlls ] [ --nomsvcrt ] [ --interactive ] [ --single-target name ]
         [ --generated-files ] [ --nogenerated-files ]
         [ --wine32 ]
         Arbeitsverzeichnis | Projektdatei | Workspacedatei

BESCHREIBUNG

       winemaker ist ein Perl-Script um Ihnen das Konvertieren  von  Windows-Quellcode  zu  einem
       Winelib-Programm zu erleichtern.

       Zu diesem Zweck beherrscht winemaker folgende Operationen:

       -  Quellcodedateien  und  Verzeichnisse  in  Kleinbuchstaben  umbenennen, falls diese beim
       Übertragen komplett in Großbuchstaben angekommen sind.

       - Konvertierung von DOS- zu Unix-Zeilenenden (CRLF nach LF).

       - Include-Anweisungen und Resourcenreferenzen durchsuchen, um Backslashes durch Slashes zu
       ersetzen.

       -  Während  des  obigen  Schrittes  wird winemaker ebenfalls nach der angegebenen Datei im
       Includepfad  suchen  und  die  entsprechende  Zeile,  falls  nötig,  mit   der   korrekten
       Groß-/Kleinschreibweise austauschen.

       -  winemaker  wird ebenso andere, exotischere Probleme wie die Benutzung von #pragma pack,
       afxres.h  in  nicht-MFC-Projekten  und  mehr  untersuchen.  Sollte   etwas   ungwöhnliches
       vorkommen, wird winemaker Sie warnen.

       -  winemaker  kann  eine ganze Verzeichnisstruktur auf einmal durchsuchen, schätzen welche
       ausführbaren Dateien und Bibliotheken Sie  zu  erstellen  gedenken,  diese  den  passenden
       Quelldateien zuordnen und entsprechende Makefile generieren.

       - letztendlich wird winemaker eine globale Makefile für den normalen Gebrauch erzeugen.

       - winemaker erkennt MFC-basierte Projekte und erstellt angepasste Dateien.

       -  Existierende  Projektdateien können von winemaker gelesen werden. Unterstützt sind dsp,
       dsw, vcproj und sln-Dateien.

ARGUMENTE

       --nobanner
              Unterdrückt die Anzeige des Banners.

       --backup
              Lässt winemaker Backups von allen Quellcodedateien  anlegen,  an  denen  Änderungen
              vorgenommen werden. Diese Option ist Standard.

       --nobackup
              Lässt winemaker keine Backups anlegen.

       --nosource-fix
              Weist   winemaker   an,   keine  Quellcodedateien  zu  ändern  (z.B.  DOS  zu  Unix
              Konvertierung). Verhindert Fehlermeldungen bei schreibgeschützten Dateien.

       --lower-all
              Alle Dateien und Verzeichnisse werden in Kleinschreibung umbenannt.

       --lower-uppercase
              Nur Dateien und Verzeichnisse,  die  komplett  groß  geschrieben  sind,  werden  in
              Kleinschreibung  umbenannt.  HALLO.C  würde beispielsweise umbenannt werden, Welt.c
              jedoch nicht.

       --lower-none
              Keine Dateien und Verzeichnisse werden in Kleinschreibung umbenannt. Beachten  Sie,
              dass  dies  nicht die Umbenennung von Dateien verhindert, deren Erweiterungen nicht
              unverändert verarbeitet werden können, z.B. ".Cxx". Diese Option ist Standard.

       --lower-include
              Wenn  die  Datei  zu  einer  Include-Anweisung  (oder  einer   anderen   Form   von
              Dateireferenz   für   Resourcen)  nicht  auffindbar  ist,  wird  der  Dateiname  in
              Kleinschreibung umbenannt. Diese Option ist Standard.

       --nolower-include
              Es werden keine Änderungen an Include-Anweisungen oder Referenzen vorgenommen, wenn
              die entsprechende Datei nicht auffindbar ist.

       --guiexe | --windows
              Legt  fest,  dass  für jedes gefundene, ausführbare Target, oder Target unbekannten
              Typs angenommen wird, dass es sich  um  eine  grafische  Anwendung  handelt.  Diese
              Option ist Standard.

       --cuiexe | --console
              Legt  fest,  dass  für jedes gefundene, ausführbare Target, oder Target unbekannten
              Typs angenommen wird, dass es sich um eine Konsolenanwendung handelt.

       --dll  winemaker wird im Zweifelsfall annehmen, dass es sich bei einem unbekannten  Target
              um eine DLL handelt.

       --lib  winemaker  wird im Zweifelsfall annehmen, dass es sich bei einem unbekannten Target
              um eine statische Bibliothek handelt.

       --mfc  Teilt winemaker mit, dass es sich um MFC-basierte Ziele  handelt.  In  solch  einem
              Fall passt winemaker Pfade für Header und Bibliotheken entsprechend an und verlinkt
              die Ziele mit der MFC-Bibliothek.

       --nomfc
              Teilt winemaker mit, dass es sich nicht um MFC-basierte Ziele handelt. Diese Option
              verhindert  die  Benutzung  von MFC-Bibliotheken, selbst wenn winemaker Dateien wie
              stdafx.cpp oder stdafx.h begegnet, was  normalerweise  automatisch  MFC  aktivieren
              würde, wenn weder --nomfc noch --mfc angegeben wurden.

       -Dmacro[=defn]
              Fügt diese Makrodefinition zur globalen Makroliste hinzu.

       -Idir  Hängt das angegebene Verzeichnis dem globalen Include-Pfad an.

       -Pdir  Hängt das angegebene Verzeichnis dem globalen DLL-Pfad an.

       -idll  Fügt  die  angegebene  Winelib-Bibliothek  zur globalen Liste der zu importierenden
              Winelib-Bibliotheken hinzu.

       -Ldir  Hängt das angegebene Verzeichnis dem globalen Bibliotheks-Pfad an.

       -llibrary
              Fügt die angegebene Bibliothek zur globalen Liste der zu verlinkenden  Bibliotheken
              hinzu.

       --nodlls
              Diese Option teilt winemaker mit, nicht den Standardsatz an Winelib-Bibliotheken zu
              importieren. Dies bedeutet, dass jede DLL, die Ihr Quellcode nutzt, explizit mit -i
              an  winemaker  übergeben  werden  muss. Die Standard-Bibliotheken sind: odbc32.dll,
              odbccp32.dll, ole32.dll, oleaut32.dll und winspool.drv.

       --nomsvcrt
              Setzt einige Optionen, die winegcc daran  hindern,  gegen  msvcrt  zu  kompilieren.
              Nutzen Sie diese Option bei cpp-Dateien, die <string> einbinden.

       --interactive
              Versetzt  winemaker in einen interaktiven Modus. In diesem Modus wird winemaker Sie
              für die Targetliste jedes Verzeichnisses nach Bestätigung und jeweils  target-  und
              verzeichnisspezifischen Optionen fragen.

       --single-target name
              Gibt an, dass es nur ein einziges Target gibt, namens name.

       --generated-files
              Weist winemaker an, eine Makefile zu erzeugen. Diese Option ist Standard.

       --nogenerated-files
              Weist winemaker an, keine Makefile zu erzeugen.

       --wine32
              Weist  winemaker  an,  ein  32-Bit  Target  zu  erstellen.  Dies  ist  nützlich bei
              wow64-Systemen. Ohne diese Option wird die Standardarchitektur benutzt.

BEISPIELE

       Ein typischer winemaker Aufruf:

       $ winemaker --lower-uppercase -DSTRICT .

       Damit  scannt  winemaker  das  aktuelle  Verzeichnis  und  die   Unterverzeichnisse   nach
       Quellcodedateien. Jede Datei und jedes Verzeichnis, das ganz 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, um diesen  Quellcode  zu  kompilieren.  Letztendlich  wird
       winemaker die globale Makefile erzeugen.

       Der nächste Schritt wäre dann:

       $ make

       Wenn  Sie  an diesem Punkt Compilerfehler erhalten (was recht wahrscheinlich ist, ab einer
       gewissen  Projektgröße),  sollten  Sie  den  Winelib  User  Guide  zu  Rate   ziehen,   um
       Problemlösungen und Tipps zu finden.

       Bei einem MFC-basierten Projekt sollten Sie stattdessen folgenden Befehl ausführen:

       $ winemaker --lower-uppercase --mfc .
       $ make

       Mit einer existierenden Projektdatei lautet der passende Befehl:

       $ winemaker meinprojekt.dsp
       $ make

TODO / FEHLER

       In  einigen  Fällen  werden  Sie  die  Makefile oder den Quellcode von Hand nachbearbeiten
       müssen.

       Angenommen, die fertigen Windows-Bibliotheken oder Binärdateien sind vorhanden, könnte mit
       winedump  ermittelt werden, um welche Art von ausführbarer Datei es sich handelt (grafisch
       oder Konsole), gegen welche Bibliotheken sie gelinkt sind und welche Funktionen exportiert
       werden  (bei  Bibliotheken).  All diese Informationen könnten dann für das Winelib-Projekt
       verwendet werden.

       Weiterhin ist winemaker nicht sehr gut darin, die Bibliothek zu finden, die die  Anwendung
       enthält: Sie muss entweder im aktuellen Verzeichnis oder im LD_LIBRARY_PATHliegen.

       winemaker unterstützt noch keine Messagedateien und deren Compiler.

       Fehler können im Wine Bugtracker ⟨https://bugs.winehq.org⟩ gemeldet werden.

AUTOREN

       François Gouget für CodeWeavers
       Dimitrie O. Paun
       André Hentschel

VERFÜGBARKEIT

       winemaker ist Teil der Wine-Distribution, verfügbar im WineHQ, dem Hauptquartier der Wine-
       Entwicklung ⟨https://www.winehq.org/⟩.

SIEHE AUCH

       wine(1),
       Wine-Dokumentation und Support ⟨https://www.winehq.org/help⟩.