1 | SubDir HAIKU_TOP ;
|
---|
2 |
|
---|
3 | NotFile doc_files ;
|
---|
4 | Depends files : doc_files ;
|
---|
5 |
|
---|
6 | # Pseudo-target to build the mail kit only
|
---|
7 | NotFile MailKit ;
|
---|
8 | Depends MailKit :
|
---|
9 | libmail.so
|
---|
10 | mail_daemon
|
---|
11 | E-mail
|
---|
12 | BeMail
|
---|
13 |
|
---|
14 | # mail_daemon addons
|
---|
15 | Inbox
|
---|
16 | Outbox
|
---|
17 | Message\ Parser
|
---|
18 | New\ Mail\ Notification
|
---|
19 | Match\ Header
|
---|
20 | R5\ Daemon\ Filter
|
---|
21 | IMAP
|
---|
22 | POP3
|
---|
23 | SMTP
|
---|
24 | Fortune
|
---|
25 | Spam\ Filter
|
---|
26 | spamdbm
|
---|
27 | ;
|
---|
28 |
|
---|
29 | # Pseudo-target to build the media stuffs only
|
---|
30 | # TODO: don't know how to make avcodec mp3_decoder mp3_reader ogg speex vorbis
|
---|
31 | NotFile MediaKit ;
|
---|
32 | Depends MediaKit :
|
---|
33 | libmedia.so
|
---|
34 | libgame.so
|
---|
35 |
|
---|
36 | # Servers
|
---|
37 | media_addon_server
|
---|
38 | media_server
|
---|
39 |
|
---|
40 | # Preference
|
---|
41 | Sounds
|
---|
42 | Media
|
---|
43 |
|
---|
44 | # Deskbar replicant
|
---|
45 | desklink
|
---|
46 |
|
---|
47 | # add-ons
|
---|
48 | mixer.media_addon
|
---|
49 | tone_producer_demo.media_addon
|
---|
50 | video_producer_demo.media_addon
|
---|
51 | legacy.media_addon
|
---|
52 | multi_audio.media_addon
|
---|
53 | # reader.media_addon
|
---|
54 | # writer.media_addon
|
---|
55 | # demultiplexer.media_addon
|
---|
56 |
|
---|
57 | # codecs
|
---|
58 | ac3_decoder
|
---|
59 | aiff_reader
|
---|
60 | au_reader
|
---|
61 | avcodec
|
---|
62 | avi_reader
|
---|
63 | matroska
|
---|
64 | mp3_decoder
|
---|
65 | mp3_reader
|
---|
66 | musepack
|
---|
67 | ogg
|
---|
68 | raw_decoder
|
---|
69 | speex
|
---|
70 | vorbis
|
---|
71 | wav_reader
|
---|
72 | mov_reader
|
---|
73 | ;
|
---|
74 |
|
---|
75 | # Pseudo-target to build the input kit only
|
---|
76 | NotFile InputKit ;
|
---|
77 | Depends InputKit :
|
---|
78 | # Servers
|
---|
79 | input_server
|
---|
80 |
|
---|
81 | # Addons
|
---|
82 | <input>keyboard
|
---|
83 | <input>mouse
|
---|
84 |
|
---|
85 | # Apps
|
---|
86 | keymap
|
---|
87 |
|
---|
88 | # Preferences
|
---|
89 | Keymap
|
---|
90 | Keyboard
|
---|
91 | Mouse
|
---|
92 | ;
|
---|
93 |
|
---|
94 | # Pseudo-target to build the OpenGL kit only
|
---|
95 | NotFile OpenGLKit ;
|
---|
96 | Depends OpenGLKit :
|
---|
97 | libGL.so
|
---|
98 | GLTeapot
|
---|
99 | # GLInfo
|
---|
100 | ;
|
---|
101 |
|
---|
102 | # Pseudo-target to build the screensaver kit only
|
---|
103 | NotFile ScreenSaverKit ;
|
---|
104 | Depends ScreenSaverKit :
|
---|
105 | libscreensaver.so
|
---|
106 | screen_saver
|
---|
107 | screen_blanker
|
---|
108 | ScreenSaver
|
---|
109 | Haiku
|
---|
110 | ;
|
---|
111 |
|
---|
112 | # Pseudo-target to build the locale kit only
|
---|
113 | # TODO: src/add-ons/locale/collators/GermanDIN-2.cpp does not compile
|
---|
114 | NotFile LocaleKit ;
|
---|
115 | Depends LocaleKit :
|
---|
116 | liblocale.so
|
---|
117 | Locale
|
---|
118 |
|
---|
119 | # binaries for building localized software on haiku
|
---|
120 | collectcatkeys
|
---|
121 | dumpcatalog
|
---|
122 | linkcatkeys
|
---|
123 |
|
---|
124 | # addons
|
---|
125 | LocaleKitCollatorAddons
|
---|
126 | LocaleKitCatalogAddons
|
---|
127 |
|
---|
128 | # tests
|
---|
129 | LocaleKitTests
|
---|
130 | ;
|
---|
131 |
|
---|
132 | # Prepare the optional build features before parsing the Jamfile tree.
|
---|
133 | include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ;
|
---|
134 |
|
---|
135 | # Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES.
|
---|
136 | if $(HAIKU_ADD_OPTIONAL_PACKAGES) {
|
---|
137 | AddOptionalHaikuImagePackages
|
---|
138 | [ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ;
|
---|
139 | }
|
---|
140 |
|
---|
141 | # Include packages that are required by all images.
|
---|
142 | AddOptionalHaikuImagePackages MandatoryPackages ;
|
---|
143 |
|
---|
144 | # If enabled, make sure that OpenSSL is added to the image.
|
---|
145 | if $(HAIKU_OPENSSL_ENABLED) {
|
---|
146 | AddOptionalHaikuImagePackages OpenSSL ;
|
---|
147 | }
|
---|
148 |
|
---|
149 | AddOptionalHaikuImagePackages ICU ;
|
---|
150 |
|
---|
151 | # Evaluate optional package dependencies
|
---|
152 | include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ;
|
---|
153 |
|
---|
154 | # Optionally we allow not to include the "src" subdirectory.
|
---|
155 | if $(HAIKU_DONT_INCLUDE_SRC) {
|
---|
156 | # Don't include "src", but at least include the stuff needed for the
|
---|
157 | # build.
|
---|
158 | SubInclude HAIKU_TOP src build ;
|
---|
159 | SubInclude HAIKU_TOP src tools ;
|
---|
160 | } else {
|
---|
161 | SubInclude HAIKU_TOP src ;
|
---|
162 | }
|
---|
163 | if $(HAIKU_INCLUDE_3RDPARTY) {
|
---|
164 | SubInclude HAIKU_TOP 3rdparty ;
|
---|
165 | }
|
---|
166 |
|
---|
167 | # Perform deferred SubIncludes.
|
---|
168 | ExecuteDeferredSubIncludes ;
|
---|
169 |
|
---|
170 | # reset subdir
|
---|
171 | SubDir HAIKU_TOP ;
|
---|
172 |
|
---|
173 | # Execute post-build-target user config rules.
|
---|
174 | UserBuildConfigRulePostBuildTargets ;
|
---|
175 |
|
---|
176 | # specify the Haiku image and network boot archive contents
|
---|
177 | include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ;
|
---|
178 | include [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ;
|
---|
179 | include [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ;
|
---|
180 | include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ;
|
---|
181 | include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootPPCImage ] ;
|
---|
182 | include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuCD ] ;
|
---|
183 | include [ FDirName $(HAIKU_BUILD_RULES_DIR) AnybootImage ] ;
|
---|
184 |
|
---|
185 | # Check whether all requested optional packages do actually exist.
|
---|
186 | local package ;
|
---|
187 | local packageError ;
|
---|
188 | for package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) {
|
---|
189 | if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] {
|
---|
190 | Echo "ERROR: Requested optional package \"$(package)\" does not"
|
---|
191 | "exist." ;
|
---|
192 | packageError = 1 ;
|
---|
193 | }
|
---|
194 | }
|
---|
195 | if $(packageError) {
|
---|
196 | Exit ;
|
---|
197 | }
|
---|
198 |
|
---|
199 | # Pseudo-target to build all targets that are localized.
|
---|
200 | NotFile LocalizedTargets ;
|
---|
201 | Depends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ;
|
---|
202 |
|
---|
203 | NotFile catalogs ;
|
---|
204 | Depends catalogs : $(HAIKU_LOCALE_CATALOGS) ;
|
---|
205 |
|
---|
206 | NotFile catkeys ;
|
---|
207 | Depends catkeys : $(HAIKU_LOCALE_OUTPUT_CATKEYS) ;
|
---|