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 32047625c2SPhilippe Houdoin# Pseudo-target to build the media stuffs only 33047625c2SPhilippe HoudoinNotFile MediaKit ; 34047625c2SPhilippe HoudoinDepends MediaKit : 3583abf055SPhilippe Houdoin libmedia.so 36184dd027SMarcus Overhagen libgame.so 37ed942695Sbeveloper 3828a06094Sbeveloper # Servers 39ed942695Sbeveloper media_addon_server 40ed942695Sbeveloper media_server 4183abf055SPhilippe Houdoin 4228a06094Sbeveloper # Preference 4328a06094Sbeveloper Sounds 4428a06094Sbeveloper Media 4528a06094Sbeveloper 4628a06094Sbeveloper # Deskbar replicant 4728a06094Sbeveloper desklink 4828a06094Sbeveloper 4983abf055SPhilippe Houdoin # add-ons 5083abf055SPhilippe Houdoin mixer.media_addon 5183abf055SPhilippe Houdoin tone_producer_demo.media_addon 5283abf055SPhilippe Houdoin video_producer_demo.media_addon 5383abf055SPhilippe Houdoin legacy.media_addon 5483abf055SPhilippe Houdoin multi_audio.media_addon 551b1b7ddfSbeveloper# reader.media_addon 561b1b7ddfSbeveloper# writer.media_addon 571b1b7ddfSbeveloper# demultiplexer.media_addon 5883abf055SPhilippe Houdoin 5983abf055SPhilippe Houdoin # codecs 604fed4f5eSbeveloper ac3_decoder 614a687b07Sbeveloper aiff_reader 624a687b07Sbeveloper au_reader 634a687b07Sbeveloper avcodec 644a687b07Sbeveloper avi_reader 65dfac3f85Sbeveloper matroska 6683abf055SPhilippe Houdoin mp3_decoder 674a687b07Sbeveloper mp3_reader 68df016bbaSbeveloper musepack 694a687b07Sbeveloper ogg 704a687b07Sbeveloper raw_decoder 71df016bbaSbeveloper speex 724a687b07Sbeveloper vorbis 734a687b07Sbeveloper wav_reader 74215c91dfSDavid McPaul mov_reader 75047625c2SPhilippe Houdoin; 76047625c2SPhilippe Houdoin 77d3e72bf6SJérôme Duval# Pseudo-target to build the input kit only 78d3e72bf6SJérôme DuvalNotFile InputKit ; 79d3e72bf6SJérôme DuvalDepends InputKit : 80d3e72bf6SJérôme Duval # Servers 81d3e72bf6SJérôme Duval input_server 82d3e72bf6SJérôme Duval 83d3e72bf6SJérôme Duval # Addons 84d3e72bf6SJérôme Duval <input>keyboard 85d3e72bf6SJérôme Duval <input>mouse 86d3e72bf6SJérôme Duval 87d3e72bf6SJérôme Duval # Apps 88d3e72bf6SJérôme Duval keymap 89d3e72bf6SJérôme Duval 90d3e72bf6SJérôme Duval # Preferences 91d3e72bf6SJérôme Duval Keymap 92d3e72bf6SJérôme Duval Keyboard 93d3e72bf6SJérôme Duval Mouse 94d3e72bf6SJérôme Duval; 95d3e72bf6SJérôme Duval 9699a77abfSPhilippe Houdoin# Pseudo-target to build the OpenGL kit only 9799a77abfSPhilippe HoudoinNotFile OpenGLKit ; 9899a77abfSPhilippe HoudoinDepends OpenGLKit : 9999a77abfSPhilippe Houdoin libGL.so 10099a77abfSPhilippe Houdoin GLTeapot 10199a77abfSPhilippe Houdoin GLInfo 10299a77abfSPhilippe Houdoin; 10399a77abfSPhilippe Houdoin 1041559de12SJérôme Duval# Pseudo-target to build the screensaver kit only 1051559de12SJérôme DuvalNotFile ScreenSaverKit ; 1061559de12SJérôme DuvalDepends ScreenSaverKit : 1071559de12SJérôme Duval libscreensaver.so 1081559de12SJérôme Duval screen_saver 1091559de12SJérôme Duval screen_blanker 1101559de12SJérôme Duval ScreenSaver 1111559de12SJérôme Duval Haiku 1121559de12SJérôme Duval; 1131559de12SJérôme Duval 114723383c0SOliver Tappe# Pseudo-target to build the locale kit only 115723383c0SOliver TappeNotFile LocaleKit ; 116723383c0SOliver TappeDepends LocaleKit : 117723383c0SOliver Tappe liblocale.so 118723383c0SOliver Tappe Locale 119723383c0SOliver Tappe 120723383c0SOliver Tappe # binaries for building localized software on haiku 121723383c0SOliver Tappe collectcatkeys 122723383c0SOliver Tappe dumpcatalog 123723383c0SOliver Tappe linkcatkeys 124723383c0SOliver Tappe 125723383c0SOliver Tappe # addons 126723383c0SOliver Tappe LocaleKitCollatorAddons 127723383c0SOliver Tappe LocaleKitCatalogAddons 128723383c0SOliver Tappe 129723383c0SOliver Tappe # tests 130723383c0SOliver Tappe LocaleKitTests 131723383c0SOliver Tappe; 132de490447SIngo Weinhold 13369681c75SJérôme Duval# Prepare the optional build features before parsing the Jamfile tree. 1340e82d313SMatt Madiainclude [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ; 1350e82d313SMatt Madia 136de490447SIngo Weinhold# Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES. 137de490447SIngo Weinholdif $(HAIKU_ADD_OPTIONAL_PACKAGES) { 138de490447SIngo Weinhold AddOptionalHaikuImagePackages 139de490447SIngo Weinhold [ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ; 140de490447SIngo Weinhold} 141723383c0SOliver Tappe 1420e82d313SMatt Madia# Include packages that are required by all images. 143a5c31cbbSMatt MadiaAddOptionalHaikuImagePackages MandatoryPackages ; 144429618d2SMatt Madia 145429618d2SMatt Madia# If enabled, make sure that OpenSSL is added to the image. 146429618d2SMatt Madiaif $(HAIKU_OPENSSL_ENABLED) { 147429618d2SMatt Madia AddOptionalHaikuImagePackages OpenSSL ; 148429618d2SMatt Madia} 149a5c31cbbSMatt Madia 1502a90ce53SAdrien DestuguesAddOptionalHaikuImagePackages ICU ; 1512a90ce53SAdrien Destugues 1520e82d313SMatt Madia# Evaluate optional package dependencies 153ff81d306SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ; 154ff81d306SIngo Weinhold 15548d60fa6SIngo Weinhold# Optionally we allow not to include the "src" subdirectory. 15648d60fa6SIngo Weinholdif $(HAIKU_DONT_INCLUDE_SRC) { 15748d60fa6SIngo Weinhold # Don't include "src", but at least include the stuff needed for the 15848d60fa6SIngo Weinhold # build. 15948d60fa6SIngo Weinhold SubInclude HAIKU_TOP src build ; 16048d60fa6SIngo Weinhold SubInclude HAIKU_TOP src tools ; 16148d60fa6SIngo Weinhold} else { 162338b8dc3SIngo Weinhold SubInclude HAIKU_TOP src ; 16348d60fa6SIngo Weinhold} 164a7ec9c1dSFrançois Revolif $(HAIKU_INCLUDE_3RDPARTY) { 165a7ec9c1dSFrançois Revol SubInclude HAIKU_TOP 3rdparty ; 166a7ec9c1dSFrançois Revol} 16748d60fa6SIngo Weinhold 168be8a6e43SIngo Weinhold# Perform deferred SubIncludes. 169be8a6e43SIngo WeinholdExecuteDeferredSubIncludes ; 170be8a6e43SIngo Weinhold 171689e6794SIngo Weinhold# reset subdir 172689e6794SIngo WeinholdSubDir HAIKU_TOP ; 173ad27081fSIngo Weinhold 174ad27081fSIngo Weinhold# Execute post-build-target user config rules. 175ad27081fSIngo WeinholdUserBuildConfigRulePostBuildTargets ; 176689e6794SIngo Weinhold 177b39c8d37SIngo Weinhold# specify the Haiku image and network boot archive contents 178a970df44SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ; 179b39c8d37SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ; 18022ec1df3SFrançois Revolinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ; 1819ed64004SFrançois Revolinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ; 182c7d3cf5bSFrançois Revolinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootPPCImage ] ; 183e2c3dec9SMichael Lotzinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuCD ] ; 184100e9192SMichael Lotzinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) AnybootImage ] ; 18537aefc9cSIngo Weinhold 18637aefc9cSIngo Weinhold# Check whether all requested optional packages do actually exist. 18737aefc9cSIngo Weinholdlocal package ; 18837aefc9cSIngo Weinholdlocal packageError ; 18937aefc9cSIngo Weinholdfor package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) { 19037aefc9cSIngo Weinhold if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] { 19137aefc9cSIngo Weinhold Echo "ERROR: Requested optional package \"$(package)\" does not" 19237aefc9cSIngo Weinhold "exist." ; 19337aefc9cSIngo Weinhold packageError = 1 ; 19437aefc9cSIngo Weinhold } 19537aefc9cSIngo Weinhold} 19637aefc9cSIngo Weinholdif $(packageError) { 19737aefc9cSIngo Weinhold Exit ; 19837aefc9cSIngo Weinhold} 19980ad173eSMatt Madia 20080ad173eSMatt Madia# Pseudo-target to build all targets that are localized. 201*a8fcb885SMatt MadiaNotFile catalogs ; 202*a8fcb885SMatt MadiaDepends catalogs : $(HAIKU_LOCALIZED_CATALOGS) ; 203*a8fcb885SMatt Madia 204*a8fcb885SMatt MadiaNotFile LocalizedTargets ; 205*a8fcb885SMatt MadiaDepends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ; 206