1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
5 <meta name="Author" content="KaiRo - Robert Kaiser">
6 <title>Das Mozilla-Build-System - Makefiles</title>
7 <link rel="stylesheet" type="text/css" href="slides.css">
8 <script type="text/javascript" src="slides.js"></script>
9 <link rel="contents" href="index.html" title="Übersicht">
10 <link rel="index" href="toc.html" title="Inhalt">
11 <link rel="start" href="index.html" title="Beginn">
12 <link rel="first" href="slide_introduction.html" title="Erste Seite">
13 <link rel="previous" href="slide_buildapp.html" title="Vorige Seite">
14 <link rel="next" href="slide_jarmaker.html" title="Nächste Seite">
15 <link rel="last" href="slide_end.html" title="Letzte Seite">
18 <div id="header"><div id="header-text">Das Mozilla-Build-System</div>
19 <img id="headerlogo" src="template/header-logo.png" alt="">
21 <div id="slidenav"><div id="subheader-text">MAOW Berlin 2009</div>
22 <a href="toc.html" accesskey="h">Inhalt</a> ||
23 <a href="index.html" accesskey="B">Beginn</a> ||
24 <a href="slide_buildapp.html" accesskey="Z">< Zurück</a> |
25 <a href="slide_jarmaker.html" id="goNext" accesskey="W">Weiter ></a>
28 <h1>Makefile-Regeln, der Kern der Sache</h1>
30 <div class="simplebox">
32 <li>Makefiles enthalten die Regeln für den Bau jeglichen Codes (Makefile
33 im "objdir" wird aus Makefile.in in Quellcode-Verzeichnis erzeugt)</li>
34 <li><code>mozilla-central/extensions/testext/Makefile.in</code>:
35 <pre># [...Lizenz-Kopf...]
37 topsrcdir=@top_srcdir@
41 # Allgemeine Konfigurations-Variablen importieren
42 include $(DEPTH)/config/autoconf.mk
44 # Build-System-interner Name des Moduls (der Erweiterung)
46 # Name des Verzeichnisses in xpi-stage/ (normalerweise gleich wie MODULE)
48 # Einträge aus paralleler jar.mn kommen in Erweiterungs-eigenes chrome.manifest
49 USE_EXTENSION_MANIFEST = 1
50 # Haupt-Makefile der Erweiterung mit dieser ID (wie in install.rdf angegeben)
51 INSTALL_EXTENSION_ID = testext@example.org
52 # Dateiname der fertigen XPI-Datei in xpi-stage
53 XPI_PKGNAME = testext-$(MOZ_APP_VERSION)
55 # Dateien, die in das XPI-Paket kopiert werden sollen
56 DIST_FILES = install.rdf
58 # Unterverzeichnisse, in denen weitere Makefiles enthalten sind
59 DIRS = locales subtest
61 # zu installierende XPCOM-Komponenten
62 EXTRA_COMPONENTS = components/testext-service.js
64 # rules.mk verwendet die Variablen und macht die eigentliche Arbeit
65 include $(topsrcdir)/config/rules.mk</pre>
67 <li><code>MODULE</code> und <code>XPI_NAME</code> sollten in jedem Makefile
68 der Erweiterung angegeben werden, damit Dateien im XPI landen</li>