5d725cc9 |
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="Ü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"> |
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">< Zurück</a> | |
25 | <a href="slide_jarmaker.html" id="goNext" accesskey="W">Weiter ></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ü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ä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 |
44895481 |
68 | der Erweiterung angegeben werden, damit Dateien im XPI landen</li> |
5d725cc9 |
69 | </ul> |
70 | </div> |
71 | </div> |
72 | |
73 | </body> |
74 | </html> |