Ticket #7798: Jamfile.2

File Jamfile.2, 4.2 KB (added by bbjimmy, 13 years ago)

/DATA/haiku/jamfile

Line 
1SubDir HAIKU_TOP ;
2
3NotFile doc_files ;
4Depends files : doc_files ;
5
6# Pseudo-target to build the mail kit only
7NotFile MailKit ;
8Depends 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
31NotFile MediaKit ;
32Depends 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
76NotFile InputKit ;
77Depends 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
95NotFile OpenGLKit ;
96Depends OpenGLKit :
97 libGL.so
98 GLTeapot
99# GLInfo
100;
101
102# Pseudo-target to build the screensaver kit only
103NotFile ScreenSaverKit ;
104Depends 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
114NotFile LocaleKit ;
115Depends 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.
133include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ;
134
135# Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES.
136if $(HAIKU_ADD_OPTIONAL_PACKAGES) {
137 AddOptionalHaikuImagePackages
138 [ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ;
139}
140
141# Include packages that are required by all images.
142AddOptionalHaikuImagePackages MandatoryPackages ;
143
144# If enabled, make sure that OpenSSL is added to the image.
145if $(HAIKU_OPENSSL_ENABLED) {
146 AddOptionalHaikuImagePackages OpenSSL ;
147}
148
149AddOptionalHaikuImagePackages ICU ;
150
151# Evaluate optional package dependencies
152include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ;
153
154# Optionally we allow not to include the "src" subdirectory.
155if $(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}
163if $(HAIKU_INCLUDE_3RDPARTY) {
164 SubInclude HAIKU_TOP 3rdparty ;
165}
166
167# Perform deferred SubIncludes.
168ExecuteDeferredSubIncludes ;
169
170# reset subdir
171SubDir HAIKU_TOP ;
172
173# Execute post-build-target user config rules.
174UserBuildConfigRulePostBuildTargets ;
175
176# specify the Haiku image and network boot archive contents
177include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ;
178include [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ;
179include [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ;
180include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ;
181include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootPPCImage ] ;
182include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuCD ] ;
183include [ FDirName $(HAIKU_BUILD_RULES_DIR) AnybootImage ] ;
184
185# Check whether all requested optional packages do actually exist.
186local package ;
187local packageError ;
188for 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}
195if $(packageError) {
196 Exit ;
197}
198
199# Pseudo-target to build all targets that are localized.
200NotFile LocalizedTargets ;
201Depends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ;
202
203NotFile catalogs ;
204Depends catalogs : $(HAIKU_LOCALE_CATALOGS) ;
205
206NotFile catkeys ;
207Depends catkeys : $(HAIKU_LOCALE_OUTPUT_CATKEYS) ;