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# Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES. 155if $(HAIKU_ADD_OPTIONAL_PACKAGES) { 156 AddOptionalHaikuImagePackages 157 [ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ; 158} 159 160# Evaluate optional package dependencies and prepare the optional build 161# features before parsing the Jamfile tree. 162include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ; 163include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ; 164 165# Optionally we allow not to include the "src" subdirectory. 166if $(HAIKU_DONT_INCLUDE_SRC) { 167 # Don't include "src", but at least include the stuff needed for the 168 # build. 169 SubInclude HAIKU_TOP src build ; 170 SubInclude HAIKU_TOP src tools ; 171} else { 172 SubInclude HAIKU_TOP src ; 173} 174if $(HAIKU_INCLUDE_3RDPARTY) { 175 SubInclude HAIKU_TOP 3rdparty ; 176} 177 178# Perform deferred SubIncludes. 179ExecuteDeferredSubIncludes ; 180 181# reset subdir 182SubDir HAIKU_TOP ; 183 184# Execute post-build-target user config rules. 185UserBuildConfigRulePostBuildTargets ; 186 187# specify the Haiku image and network boot archive contents 188include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ; 189include [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ; 190include [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ; 191include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ; 192include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootPPCImage ] ; 193include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuCD ] ; 194 195# Check whether all requested optional packages do actually exist. 196local package ; 197local packageError ; 198for package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) { 199 if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] { 200 Echo "ERROR: Requested optional package \"$(package)\" does not" 201 "exist." ; 202 packageError = 1 ; 203 } 204} 205if $(packageError) { 206 Exit ; 207} 208