1338b8dc3SIngo WeinholdSubDir HAIKU_TOP ; 269b97469SIngo Weinhold 307a49963SIngo WeinholdNotFile alltests ; 407a49963SIngo WeinholdDepends alltests : r5tests obostests ; 507a49963SIngo Weinhold 6f35b607dSJérôme DuvalNotFile doc_files ; 7f35b607dSJérôme DuvalDepends files : doc_files ; 8f35b607dSJérôme Duval 94e7ab2f1SPhilippe Houdoin# Pseudo-target to build the mail kit only 104e7ab2f1SPhilippe HoudoinNotFile MailKit ; 114e7ab2f1SPhilippe HoudoinDepends MailKit : 124e7ab2f1SPhilippe Houdoin libmail.so 134e7ab2f1SPhilippe Houdoin mail_daemon 144e7ab2f1SPhilippe Houdoin E-mail 154e7ab2f1SPhilippe Houdoin BeMail 164e7ab2f1SPhilippe Houdoin 174e7ab2f1SPhilippe Houdoin # mail_daemon addons 184e7ab2f1SPhilippe Houdoin Inbox 194e7ab2f1SPhilippe Houdoin Outbox 204e7ab2f1SPhilippe Houdoin Message\ Parser 214e7ab2f1SPhilippe Houdoin New\ Mail\ Notification 224e7ab2f1SPhilippe Houdoin Match\ Header 234e7ab2f1SPhilippe Houdoin R5\ Daemon\ Filter 244e7ab2f1SPhilippe Houdoin IMAP 254e7ab2f1SPhilippe Houdoin POP3 264e7ab2f1SPhilippe Houdoin SMTP 274e7ab2f1SPhilippe Houdoin Fortune 281effc988SDarkWyrm Spam\ Filter 291effc988SDarkWyrm spamdbm 304e7ab2f1SPhilippe Houdoin; 314e7ab2f1SPhilippe Houdoin 325c3a5204SPhilippe Houdoin# Pseudo-target to build the network kit only 335c3a5204SPhilippe HoudoinNotFile NetworkingKit ; 345c3a5204SPhilippe HoudoinDepends NetworkingKit : 3558f2dcabSPhilippe Houdoin net_stack_driver net_server_driver 3658f2dcabSPhilippe Houdoin core 37b82b832eSWaldemar Kornewald ethernet loopback ppp 3879a14ca5SWaldemar Kornewald raw route ipv4 icmp udp tcp 396c3f95cdSWaldemar Kornewald libnet.so libnetapi.so libbind.so libsocket.so 4079a14ca5SWaldemar Kornewald ping ifconfig <bin>route traceroute arp pppconfig 41ef0e9a6aSWaldemar Kornewald 42ef0e9a6aSWaldemar Kornewald # network drivers: 434e7ab2f1SPhilippe Houdoin sis900 rtl8139 rtl8169 via-rhine ipro1000 wb840 bcm440x bcm570x 44ef0e9a6aSWaldemar Kornewald 45ef0e9a6aSWaldemar Kornewald # PPP devices: 466c3f95cdSWaldemar Kornewald modem pppoe 47ef0e9a6aSWaldemar Kornewald # PPP protocols: 48ef0e9a6aSWaldemar Kornewald ipcp 49ef0e9a6aSWaldemar Kornewald # PPP authenticators: 50ef0e9a6aSWaldemar Kornewald pap 5158f2dcabSPhilippe Houdoin; 5258f2dcabSPhilippe Houdoin 53047625c2SPhilippe Houdoin# Pseudo-target to build the media stuffs only 54047625c2SPhilippe HoudoinNotFile MediaKit ; 55047625c2SPhilippe HoudoinDepends MediaKit : 5683abf055SPhilippe Houdoin libmedia.so 57184dd027SMarcus Overhagen libgame.so 58ed942695Sbeveloper 5928a06094Sbeveloper # Servers 60ed942695Sbeveloper media_addon_server 61ed942695Sbeveloper media_server 6283abf055SPhilippe Houdoin 6328a06094Sbeveloper # Preference 6428a06094Sbeveloper Sounds 6528a06094Sbeveloper Media 6628a06094Sbeveloper 6728a06094Sbeveloper # Deskbar replicant 6828a06094Sbeveloper desklink 6928a06094Sbeveloper 7083abf055SPhilippe Houdoin # add-ons 7183abf055SPhilippe Houdoin mixer.media_addon 7283abf055SPhilippe Houdoin tone_producer_demo.media_addon 7383abf055SPhilippe Houdoin video_producer_demo.media_addon 7483abf055SPhilippe Houdoin legacy.media_addon 7583abf055SPhilippe Houdoin multi_audio.media_addon 761b1b7ddfSbeveloper# reader.media_addon 771b1b7ddfSbeveloper# writer.media_addon 781b1b7ddfSbeveloper# demultiplexer.media_addon 7983abf055SPhilippe Houdoin 8083abf055SPhilippe Houdoin # codecs 814fed4f5eSbeveloper ac3_decoder 824a687b07Sbeveloper aiff_reader 834a687b07Sbeveloper au_reader 844a687b07Sbeveloper avcodec 854a687b07Sbeveloper avi_reader 86dfac3f85Sbeveloper matroska 8783abf055SPhilippe Houdoin mp3_decoder 884a687b07Sbeveloper mp3_reader 89df016bbaSbeveloper musepack 904a687b07Sbeveloper ogg 914a687b07Sbeveloper raw_decoder 92df016bbaSbeveloper speex 934a687b07Sbeveloper vorbis 944a687b07Sbeveloper wav_reader 95215c91dfSDavid McPaul mov_reader 96047625c2SPhilippe Houdoin; 97047625c2SPhilippe Houdoin 98d3e72bf6SJérôme Duval# Pseudo-target to build the input kit only 99d3e72bf6SJérôme DuvalNotFile InputKit ; 100d3e72bf6SJérôme DuvalDepends InputKit : 101d3e72bf6SJérôme Duval # Servers 102d3e72bf6SJérôme Duval input_server 103d3e72bf6SJérôme Duval 104d3e72bf6SJérôme Duval # Addons 105d3e72bf6SJérôme Duval <input>keyboard 106d3e72bf6SJérôme Duval <input>mouse 107d3e72bf6SJérôme Duval 108d3e72bf6SJérôme Duval # Apps 109d3e72bf6SJérôme Duval keymap 110d3e72bf6SJérôme Duval 111d3e72bf6SJérôme Duval # Preferences 112d3e72bf6SJérôme Duval Keymap 113d3e72bf6SJérôme Duval Keyboard 114d3e72bf6SJérôme Duval Mouse 115d3e72bf6SJérôme Duval; 116d3e72bf6SJérôme Duval 11799a77abfSPhilippe Houdoin# Pseudo-target to build the OpenGL kit only 11899a77abfSPhilippe HoudoinNotFile OpenGLKit ; 11999a77abfSPhilippe HoudoinDepends OpenGLKit : 12099a77abfSPhilippe Houdoin libGL.so 12199a77abfSPhilippe Houdoin GLTeapot 12299a77abfSPhilippe Houdoin GLInfo 12399a77abfSPhilippe Houdoin; 12499a77abfSPhilippe Houdoin 1251559de12SJérôme Duval# Pseudo-target to build the screensaver kit only 1261559de12SJérôme DuvalNotFile ScreenSaverKit ; 1271559de12SJérôme DuvalDepends ScreenSaverKit : 1281559de12SJérôme Duval libscreensaver.so 1291559de12SJérôme Duval screen_saver 1301559de12SJérôme Duval screen_blanker 1311559de12SJérôme Duval ScreenSaver 1321559de12SJérôme Duval Haiku 1331559de12SJérôme Duval; 1341559de12SJérôme Duval 135723383c0SOliver Tappe# Pseudo-target to build the locale kit only 136723383c0SOliver TappeNotFile LocaleKit ; 137723383c0SOliver TappeDepends LocaleKit : 138723383c0SOliver Tappe liblocale.so 139723383c0SOliver Tappe Locale 140723383c0SOliver Tappe 141723383c0SOliver Tappe # binaries for building localized software on haiku 142723383c0SOliver Tappe collectcatkeys 143723383c0SOliver Tappe dumpcatalog 144723383c0SOliver Tappe linkcatkeys 145723383c0SOliver Tappe 146723383c0SOliver Tappe # addons 147723383c0SOliver Tappe LocaleKitCollatorAddons 148723383c0SOliver Tappe LocaleKitCatalogAddons 149723383c0SOliver Tappe 150723383c0SOliver Tappe # tests 151723383c0SOliver Tappe LocaleKitTests 152723383c0SOliver Tappe; 153de490447SIngo Weinhold 154de490447SIngo Weinhold# Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES. 155de490447SIngo Weinholdif $(HAIKU_ADD_OPTIONAL_PACKAGES) { 156de490447SIngo Weinhold AddOptionalHaikuImagePackages 157de490447SIngo Weinhold [ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ; 158de490447SIngo Weinhold} 159723383c0SOliver Tappe 160*a5c31cbbSMatt Madia#include packages that are required by all images. 161*a5c31cbbSMatt MadiaAddOptionalHaikuImagePackages MandatoryPackages ; 162*a5c31cbbSMatt Madia 163ff81d306SIngo Weinhold# Evaluate optional package dependencies and prepare the optional build 164ff81d306SIngo Weinhold# features before parsing the Jamfile tree. 165ff81d306SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ; 166ff81d306SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ; 167ff81d306SIngo Weinhold 16848d60fa6SIngo Weinhold# Optionally we allow not to include the "src" subdirectory. 16948d60fa6SIngo Weinholdif $(HAIKU_DONT_INCLUDE_SRC) { 17048d60fa6SIngo Weinhold # Don't include "src", but at least include the stuff needed for the 17148d60fa6SIngo Weinhold # build. 17248d60fa6SIngo Weinhold SubInclude HAIKU_TOP src build ; 17348d60fa6SIngo Weinhold SubInclude HAIKU_TOP src tools ; 17448d60fa6SIngo Weinhold} else { 175338b8dc3SIngo Weinhold SubInclude HAIKU_TOP src ; 17648d60fa6SIngo Weinhold} 177a7ec9c1dSFrançois Revolif $(HAIKU_INCLUDE_3RDPARTY) { 178a7ec9c1dSFrançois Revol SubInclude HAIKU_TOP 3rdparty ; 179a7ec9c1dSFrançois Revol} 18048d60fa6SIngo Weinhold 181be8a6e43SIngo Weinhold# Perform deferred SubIncludes. 182be8a6e43SIngo WeinholdExecuteDeferredSubIncludes ; 183be8a6e43SIngo Weinhold 184689e6794SIngo Weinhold# reset subdir 185689e6794SIngo WeinholdSubDir HAIKU_TOP ; 186ad27081fSIngo Weinhold 187ad27081fSIngo Weinhold# Execute post-build-target user config rules. 188ad27081fSIngo WeinholdUserBuildConfigRulePostBuildTargets ; 189689e6794SIngo Weinhold 190b39c8d37SIngo Weinhold# specify the Haiku image and network boot archive contents 191a970df44SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ; 192b39c8d37SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ; 19322ec1df3SFrançois Revolinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ; 1949ed64004SFrançois Revolinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ; 195c7d3cf5bSFrançois Revolinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootPPCImage ] ; 196e2c3dec9SMichael Lotzinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuCD ] ; 197100e9192SMichael Lotzinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) AnybootImage ] ; 19837aefc9cSIngo Weinhold 19937aefc9cSIngo Weinhold# Check whether all requested optional packages do actually exist. 20037aefc9cSIngo Weinholdlocal package ; 20137aefc9cSIngo Weinholdlocal packageError ; 20237aefc9cSIngo Weinholdfor package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) { 20337aefc9cSIngo Weinhold if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] { 20437aefc9cSIngo Weinhold Echo "ERROR: Requested optional package \"$(package)\" does not" 20537aefc9cSIngo Weinhold "exist." ; 20637aefc9cSIngo Weinhold packageError = 1 ; 20737aefc9cSIngo Weinhold } 20837aefc9cSIngo Weinhold} 20937aefc9cSIngo Weinholdif $(packageError) { 21037aefc9cSIngo Weinhold Exit ; 21137aefc9cSIngo Weinhold} 212