add mobiluty.builders to index
[slides.git] / maow-berlin2009-build / slide_makefiles.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
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="&Uuml;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&auml;chste Seite">
15   <link rel="last" href="slide_end.html" title="Letzte Seite">
16 </head>
17 <body>
18 <div id="header"><div id="header-text">Das Mozilla-Build-System</div>
19   <img id="headerlogo" src="template/header-logo.png" alt="">
20 </div>
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">&lt; Zur&uuml;ck</a> |
25   <a href="slide_jarmaker.html" id="goNext" accesskey="W">Weiter &gt;</a>
26 </div>
27
28 <h1>Makefile-Regeln, der Kern der Sache</h1>
29
30 <div class="simplebox">
31 <ul>
32   <li>Makefiles enthalten die Regeln f&uuml;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...]
36 DEPTH=../..
37 topsrcdir=@top_srcdir@
38 srcdir=@srcdir@
39 VPATH=@srcdir@
40
41 # Allgemeine Konfigurations-Variablen importieren
42 include $(DEPTH)/config/autoconf.mk
43
44 # Build-System-interner Name des Moduls (der Erweiterung)
45 MODULE                 = testext
46 # Name des Verzeichnisses in xpi-stage/ (normalerweise gleich wie MODULE)
47 XPI_NAME               = testext
48 # Eintr&auml;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)
54
55 # Dateien, die in das XPI-Paket kopiert werden sollen
56 DIST_FILES = install.rdf
57
58 # Unterverzeichnisse, in denen weitere Makefiles enthalten sind
59 DIRS = locales subtest
60
61 # zu installierende XPCOM-Komponenten
62 EXTRA_COMPONENTS = components/testext-service.js
63
64 # rules.mk verwendet die Variablen und macht die eigentliche Arbeit
65 include $(topsrcdir)/config/rules.mk</pre>
66     </li>
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>
69 </ul>
70 </div>
71 </div>
72
73 </body>
74 </html>