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