<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Perforce_Jam</id>
	<title>Perforce Jam - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Perforce_Jam"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Perforce_Jam&amp;action=history"/>
	<updated>2026-05-23T21:25:12Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Perforce_Jam&amp;diff=981935&amp;oldid=prev</id>
		<title>imported&gt;FlMcc: /* growthexperiments-addlink-summary-summary:3|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Perforce_Jam&amp;diff=981935&amp;oldid=prev"/>
		<updated>2025-01-09T14:08:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:3|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Perforce Jam&amp;#039;&amp;#039;&amp;#039; ist ein quelloffenes [[Build-System]], geschrieben von Christopher Seiwald bei Perforce Software. Es kann als Ersatz für [[make]] verwendet werden. Jam läuft auf [[Unix]] (inklusive vielen Derivaten), [[OpenVMS]], [[Linux]], [[Windows NT]], und [[MacOS]]. Mithilfe von [[MinGW]] oder [[Cygwin]] läuft Jam auch auf Windows 9.x. Man kann es, genau wie make, auch zusammen mit [[Autoconf]] verwenden. Jedoch ist das dank der Portabilität von Jam nicht immer nötig.&lt;br /&gt;
&lt;br /&gt;
Ein Build-System ist für die automatische Übersetzung von Computerprogrammen zuständig. Es ruft unter verschiedenen Systemen die jeweiligen [[Compiler]] und [[Linker (Computerprogramm)|Linker]] auf. Außerdem werden notwendige Dateien kopiert oder generiert. Oft wird auch eine automatische Installation/Deinstallation oder die Generierung eines Downloadpakets für Endnutzer angeboten.&lt;br /&gt;
&lt;br /&gt;
== Vorteile gegenüber make ==&lt;br /&gt;
* &amp;#039;&amp;#039;Jamfiles&amp;#039;&amp;#039;, also die Regeln zum Übersetzen des Programms, sind normalerweise portabel, das heißt, sie können auf allen unterstützten Systemen ohne Anpassungen ausgeführt werden.&lt;br /&gt;
* Abhängigkeiten müssen nicht explizit angegeben werden, Jam findet sie automatisch in den C++- oder anderen unterstützten Quelldateien.&lt;br /&gt;
* Die Sprache ist sehr einfach und übersichtlich. Jamfiles sind erheblich kürzer als Makefiles.&lt;br /&gt;
* Die sogenannte &amp;#039;&amp;#039;Jambase&amp;#039;&amp;#039;, die die mitgelieferten Regeln enthält, bringt sehr viele komfortable Regeln mit, was in make alles selbst geschrieben, bzw. mit [[Automake]] generiert werden müsste.&lt;br /&gt;
* Die Sprache ist nach Belieben erweiterbar, auch Regeln aus der Jambase können überschrieben werden.&lt;br /&gt;
&lt;br /&gt;
== Sprache ==&lt;br /&gt;
Die Sprache von Jam hat einige Besonderheiten. Alle Sprachbestandteile müssen mit einem [[Leerzeichen]] abgetrennt werden, ansonsten würden sie als Teil einer [[Zeichenkette]], dem einzigen [[Datentyp]] in Jam, interpretiert werden. Über sogenannte Actions kann innerhalb des Jamfiles [[Unix-Shell#Die Bourne-Again-Shell|bash]]- bzw. [[Stapelverarbeitung#Steuern und Starten von Batch-Jobs|Batch]]-Code ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Ein einfaches Jamfile:&lt;br /&gt;
&lt;br /&gt;
 Main hello : hello.cc ;&lt;br /&gt;
 Library mytools : mytools.cc ;&lt;br /&gt;
 LinkLibraries hello : mytools ;&lt;br /&gt;
&lt;br /&gt;
== Gebrauch ==&lt;br /&gt;
Im Wurzelverzeichnis des Softwareprojekts wird das Kommando &amp;#039;&amp;#039;jam&amp;#039;&amp;#039; aufgerufen. Dabei wird dann zunächst die Datei &amp;#039;&amp;#039;Jamfile&amp;#039;&amp;#039; inklusive allen darin eingebunden Dateien ausgelesen und danach die notwendigen Schritte zum Übersetzen des Programms ausgeführt. Als [[Kommandozeilenparameter]] kann ein bestimmtes Jamfile mit &amp;#039;&amp;#039;-f&amp;#039;&amp;#039;&amp;#039;Dateiname&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; oder ein gewünschtes &amp;#039;&amp;#039;Target&amp;#039;&amp;#039; angegeben werden. Mit diesen Targets kann z.&amp;amp;nbsp;B. nur ein Bestimmter Teil des Programms übersetzt werden. Zur Installation des Programms wird gewöhnlich &amp;#039;&amp;#039;jam install&amp;#039;&amp;#039; aufgerufen.&lt;br /&gt;
&lt;br /&gt;
== Varianten ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FT Jam&amp;#039;&amp;#039;&amp;#039; ist vollkommen rückwärtskompatibel zu Perforce Jam. Es hat zusätzliche eingebaute Regeln und Unterstützung für mehr Compiler. Außerdem wird Windows 9.x unterstützt und es wurden viele Schönheitsfehler korrigiert.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KJam&amp;#039;&amp;#039;&amp;#039; ist eine komplette Neuschreibung von Jam. Es soll stabiler, einfacher und leistungsfähiger sein. KJam unterstützt neben anderen Verbesserungen netzwerkübergreifendes Kompilieren.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Boost Jam&amp;#039;&amp;#039;&amp;#039;, auch BJam oder Boost.Jam, basiert auf FT Jam und ist auch rückwärtskompatibel zu Perforce Jam. Es wurde im Rahmen der [[Boost (C++-Bibliothek)|Boost C++ Libraries]] entwickelt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Autojam&amp;#039;&amp;#039;&amp;#039; bietet eine erweiterte Jambase mit mehr Regeln.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Haiku Jam&amp;#039;&amp;#039;&amp;#039; wird standardmäßig von [[Haiku (Betriebssystem)]] benutzt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Platinum C++ Jam&amp;#039;&amp;#039;&amp;#039; auch Pt-Jam. Es wurde im Rahmen der [[Platinum C++ Framework]] entwickelt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;JamPlus&amp;#039;&amp;#039;&amp;#039; fügt der Perforce-Originalversion von Jam neue Features hinzu und wurde um Patches aus der Jamming mailing list und dem Perforce Public Depot erweitert.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.perforce.com Perforce Software] (englisch)&lt;br /&gt;
* [https://swarm.workshop.perforce.com/projects/perforce_software-jam Perforce Jam] (englisch)&lt;br /&gt;
* [http://freetype.sourceforge.net/jam/ FT Jam] (englisch)&lt;br /&gt;
* [http://www.oroboro.com/kjam KJam] (englisch)&lt;br /&gt;
* [http://www.boost.org/doc/tools/jam/index.html Boost Jam] (englisch)&lt;br /&gt;
* {{Webarchiv | url=http://autojam.berlios.de | wayback=20110719183355 | text=AutoJam }} (englisch)&lt;br /&gt;
* [http://www.pt-framework.net/docs.html Platinum C++ Jam] (englisch)&lt;br /&gt;
* [http://jamplus.org/ JamPlus] (englisch)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Build-Management]]&lt;/div&gt;</summary>
		<author><name>imported&gt;FlMcc</name></author>
	</entry>
</feed>