1338b8dc3SIngo WeinholdSubDir HAIKU_TOP ; 269b97469SIngo Weinhold 3f35b607dSJérôme DuvalNotFile doc_files ; 4f35b607dSJérôme DuvalDepends files : doc_files ; 5f35b607dSJérôme Duval 64e7ab2f1SPhilippe Houdoin# Pseudo-target to build the mail kit only 74e7ab2f1SPhilippe HoudoinNotFile MailKit ; 84e7ab2f1SPhilippe HoudoinDepends MailKit : 94e7ab2f1SPhilippe Houdoin libmail.so 104e7ab2f1SPhilippe Houdoin mail_daemon 114e7ab2f1SPhilippe Houdoin E-mail 124e7ab2f1SPhilippe Houdoin BeMail 134e7ab2f1SPhilippe Houdoin 144e7ab2f1SPhilippe Houdoin # mail_daemon addons 154e7ab2f1SPhilippe Houdoin Inbox 164e7ab2f1SPhilippe Houdoin Outbox 174e7ab2f1SPhilippe Houdoin Message\ Parser 184e7ab2f1SPhilippe Houdoin New\ Mail\ Notification 194e7ab2f1SPhilippe Houdoin Match\ Header 204e7ab2f1SPhilippe Houdoin R5\ Daemon\ Filter 214e7ab2f1SPhilippe Houdoin IMAP 224e7ab2f1SPhilippe Houdoin POP3 234e7ab2f1SPhilippe Houdoin SMTP 244e7ab2f1SPhilippe Houdoin Fortune 251effc988SDarkWyrm Spam\ Filter 261effc988SDarkWyrm spamdbm 274e7ab2f1SPhilippe Houdoin; 284e7ab2f1SPhilippe Houdoin 29047625c2SPhilippe Houdoin# Pseudo-target to build the media stuffs only 300fdf2b41SMatt Madia# TODO: don't know how to make avcodec mp3_decoder mp3_reader ogg speex vorbis 31047625c2SPhilippe HoudoinNotFile MediaKit ; 32047625c2SPhilippe HoudoinDepends MediaKit : 3383abf055SPhilippe Houdoin libmedia.so 34184dd027SMarcus Overhagen libgame.so 35ed942695Sbeveloper 3628a06094Sbeveloper # Servers 37ed942695Sbeveloper media_addon_server 38ed942695Sbeveloper media_server 3983abf055SPhilippe Houdoin 4028a06094Sbeveloper # Preference 4128a06094Sbeveloper Sounds 4228a06094Sbeveloper Media 4328a06094Sbeveloper 4428a06094Sbeveloper # Deskbar replicant 4528a06094Sbeveloper desklink 4628a06094Sbeveloper 4783abf055SPhilippe Houdoin # add-ons 4883abf055SPhilippe Houdoin mixer.media_addon 4983abf055SPhilippe Houdoin tone_producer_demo.media_addon 5083abf055SPhilippe Houdoin video_producer_demo.media_addon 5183abf055SPhilippe Houdoin legacy.media_addon 5283abf055SPhilippe Houdoin multi_audio.media_addon 531b1b7ddfSbeveloper# reader.media_addon 541b1b7ddfSbeveloper# writer.media_addon 551b1b7ddfSbeveloper# demultiplexer.media_addon 5683abf055SPhilippe Houdoin 5783abf055SPhilippe Houdoin # codecs 584fed4f5eSbeveloper ac3_decoder 594a687b07Sbeveloper aiff_reader 604a687b07Sbeveloper au_reader 614a687b07Sbeveloper avcodec 624a687b07Sbeveloper avi_reader 63dfac3f85Sbeveloper matroska 6483abf055SPhilippe Houdoin mp3_decoder 654a687b07Sbeveloper mp3_reader 66df016bbaSbeveloper musepack 674a687b07Sbeveloper ogg 684a687b07Sbeveloper raw_decoder 69df016bbaSbeveloper speex 704a687b07Sbeveloper vorbis 714a687b07Sbeveloper wav_reader 72215c91dfSDavid McPaul mov_reader 73047625c2SPhilippe Houdoin; 74047625c2SPhilippe Houdoin 75d3e72bf6SJérôme Duval# Pseudo-target to build the input kit only 76d3e72bf6SJérôme DuvalNotFile InputKit ; 77d3e72bf6SJérôme DuvalDepends InputKit : 78d3e72bf6SJérôme Duval # Servers 79d3e72bf6SJérôme Duval input_server 80d3e72bf6SJérôme Duval 81d3e72bf6SJérôme Duval # Addons 82d3e72bf6SJérôme Duval <input>keyboard 83d3e72bf6SJérôme Duval <input>mouse 84d3e72bf6SJérôme Duval 85d3e72bf6SJérôme Duval # Apps 86d3e72bf6SJérôme Duval keymap 87d3e72bf6SJérôme Duval 88d3e72bf6SJérôme Duval # Preferences 89d3e72bf6SJérôme Duval Keymap 90d3e72bf6SJérôme Duval Keyboard 91d3e72bf6SJérôme Duval Mouse 92d3e72bf6SJérôme Duval; 93d3e72bf6SJérôme Duval 9499a77abfSPhilippe Houdoin# Pseudo-target to build the OpenGL kit only 9599a77abfSPhilippe HoudoinNotFile OpenGLKit ; 9699a77abfSPhilippe HoudoinDepends OpenGLKit : 9799a77abfSPhilippe Houdoin libGL.so 9899a77abfSPhilippe Houdoin GLTeapot 990fdf2b41SMatt Madia# GLInfo 10099a77abfSPhilippe Houdoin; 10199a77abfSPhilippe Houdoin 1021559de12SJérôme Duval# Pseudo-target to build the screensaver kit only 1031559de12SJérôme DuvalNotFile ScreenSaverKit ; 1041559de12SJérôme DuvalDepends ScreenSaverKit : 1051559de12SJérôme Duval libscreensaver.so 1061559de12SJérôme Duval screen_saver 1071559de12SJérôme Duval screen_blanker 1081559de12SJérôme Duval ScreenSaver 1091559de12SJérôme Duval Haiku 1101559de12SJérôme Duval; 1111559de12SJérôme Duval 112723383c0SOliver Tappe# Pseudo-target to build the locale kit only 1130fdf2b41SMatt Madia# TODO: src/add-ons/locale/collators/GermanDIN-2.cpp does not compile 114723383c0SOliver TappeNotFile LocaleKit ; 115723383c0SOliver TappeDepends LocaleKit : 116723383c0SOliver Tappe Locale 117723383c0SOliver Tappe 118723383c0SOliver Tappe # binaries for building localized software on haiku 119723383c0SOliver Tappe collectcatkeys 120723383c0SOliver Tappe dumpcatalog 121723383c0SOliver Tappe linkcatkeys 122723383c0SOliver Tappe 123723383c0SOliver Tappe # addons 124723383c0SOliver Tappe LocaleKitCollatorAddons 125723383c0SOliver Tappe LocaleKitCatalogAddons 126723383c0SOliver Tappe 127723383c0SOliver Tappe # tests 128723383c0SOliver Tappe LocaleKitTests 129723383c0SOliver Tappe; 130de490447SIngo Weinhold 131de490447SIngo Weinhold# Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES. 132de490447SIngo Weinholdif $(HAIKU_ADD_OPTIONAL_PACKAGES) { 133de490447SIngo Weinhold AddOptionalHaikuImagePackages 134de490447SIngo Weinhold [ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ; 135de490447SIngo Weinhold} 136723383c0SOliver Tappe 137*f4eb5cf7SMatt Madia# Prepare the optional build features before parsing the Jamfile tree. 138*f4eb5cf7SMatt Madiainclude [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalBuildFeatures ] ; 139*f4eb5cf7SMatt Madia 1400e82d313SMatt Madia# Include packages that are required by all images. 141a5c31cbbSMatt MadiaAddOptionalHaikuImagePackages MandatoryPackages ; 142429618d2SMatt Madia 143429618d2SMatt Madia# If enabled, make sure that OpenSSL is added to the image. 144429618d2SMatt Madiaif $(HAIKU_OPENSSL_ENABLED) { 145429618d2SMatt Madia AddOptionalHaikuImagePackages OpenSSL ; 146429618d2SMatt Madia} 147a5c31cbbSMatt Madia 1482a90ce53SAdrien DestuguesAddOptionalHaikuImagePackages ICU ; 1492a90ce53SAdrien Destugues 1500e82d313SMatt Madia# Evaluate optional package dependencies 151ff81d306SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ; 152ff81d306SIngo Weinhold 15348d60fa6SIngo Weinhold# Optionally we allow not to include the "src" subdirectory. 15448d60fa6SIngo Weinholdif $(HAIKU_DONT_INCLUDE_SRC) { 15548d60fa6SIngo Weinhold # Don't include "src", but at least include the stuff needed for the 15648d60fa6SIngo Weinhold # build. 15748d60fa6SIngo Weinhold SubInclude HAIKU_TOP src build ; 15848d60fa6SIngo Weinhold SubInclude HAIKU_TOP src tools ; 15948d60fa6SIngo Weinhold} else { 160338b8dc3SIngo Weinhold SubInclude HAIKU_TOP src ; 16148d60fa6SIngo Weinhold} 162a7ec9c1dSFrançois Revolif $(HAIKU_INCLUDE_3RDPARTY) { 163a7ec9c1dSFrançois Revol SubInclude HAIKU_TOP 3rdparty ; 164a7ec9c1dSFrançois Revol} 16548d60fa6SIngo Weinhold 166be8a6e43SIngo Weinhold# Perform deferred SubIncludes. 167be8a6e43SIngo WeinholdExecuteDeferredSubIncludes ; 168be8a6e43SIngo Weinhold 169689e6794SIngo Weinhold# reset subdir 170689e6794SIngo WeinholdSubDir HAIKU_TOP ; 171ad27081fSIngo Weinhold 172ad27081fSIngo Weinhold# Execute post-build-target user config rules. 173ad27081fSIngo WeinholdUserBuildConfigRulePostBuildTargets ; 174689e6794SIngo Weinhold 175b39c8d37SIngo Weinhold# specify the Haiku image and network boot archive contents 176a970df44SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ; 177b39c8d37SIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ; 17822ec1df3SFrançois Revolinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ; 1799ed64004SFrançois Revolinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ; 180c7d3cf5bSFrançois Revolinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootPPCImage ] ; 181e2c3dec9SMichael Lotzinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuCD ] ; 182100e9192SMichael Lotzinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) AnybootImage ] ; 18337aefc9cSIngo Weinhold 18437aefc9cSIngo Weinhold# Check whether all requested optional packages do actually exist. 18537aefc9cSIngo Weinholdlocal package ; 18637aefc9cSIngo Weinholdlocal packageError ; 18737aefc9cSIngo Weinholdfor package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) { 18837aefc9cSIngo Weinhold if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] { 18937aefc9cSIngo Weinhold Echo "ERROR: Requested optional package \"$(package)\" does not" 19037aefc9cSIngo Weinhold "exist." ; 19137aefc9cSIngo Weinhold packageError = 1 ; 19237aefc9cSIngo Weinhold } 19337aefc9cSIngo Weinhold} 19437aefc9cSIngo Weinholdif $(packageError) { 19537aefc9cSIngo Weinhold Exit ; 19637aefc9cSIngo Weinhold} 19780ad173eSMatt Madia 19880ad173eSMatt Madia# Pseudo-target to build all targets that are localized. 199a8fcb885SMatt MadiaNotFile LocalizedTargets ; 200a8fcb885SMatt MadiaDepends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ; 2019de5b022SMatt Madia 2029de5b022SMatt MadiaNotFile catalogs ; 2039de5b022SMatt MadiaDepends catalogs : $(HAIKU_LOCALE_CATALOGS) ; 2049de5b022SMatt Madia 2059de5b022SMatt MadiaNotFile catkeys ; 2069de5b022SMatt MadiaDepends catkeys : $(HAIKU_LOCALE_OUTPUT_CATKEYS) ; 207