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) ; 208