SubDir HAIKU_TOP ; NotFile doc_files ; Depends files : doc_files ; # Pseudo-target to build the mail kit only NotFile MailKit ; Depends MailKit : libmail.so mail_daemon E-mail BeMail # mail_daemon addons Inbox Outbox Message\ Parser New\ Mail\ Notification Match\ Header R5\ Daemon\ Filter IMAP POP3 SMTP Fortune Spam\ Filter spamdbm ; # Pseudo-target to build the media stuffs only # TODO: don't know how to make avcodec mp3_decoder mp3_reader ogg speex vorbis NotFile MediaKit ; Depends MediaKit : libmedia.so libgame.so # Servers media_addon_server media_server # Preference Sounds Media # Deskbar replicant desklink # add-ons mixer.media_addon tone_producer_demo.media_addon video_producer_demo.media_addon legacy.media_addon multi_audio.media_addon # reader.media_addon # writer.media_addon # demultiplexer.media_addon # codecs ac3_decoder aiff_reader au_reader avcodec avi_reader matroska mp3_decoder mp3_reader musepack ogg raw_decoder speex vorbis wav_reader mov_reader ; # Pseudo-target to build the input kit only NotFile InputKit ; Depends InputKit : # Servers input_server # Addons keyboard mouse # Apps keymap # Preferences Keymap Keyboard Mouse ; # Pseudo-target to build the OpenGL kit only NotFile OpenGLKit ; Depends OpenGLKit : libGL.so GLTeapot # GLInfo ; # Pseudo-target to build the screensaver kit only NotFile ScreenSaverKit ; Depends ScreenSaverKit : libscreensaver.so screen_saver screen_blanker ScreenSaver Haiku ; # Pseudo-target to build the locale kit only # TODO: src/add-ons/locale/collators/GermanDIN-2.cpp does not compile NotFile LocaleKit ; Depends LocaleKit : Locale # binaries for building localized software on haiku collectcatkeys dumpcatalog linkcatkeys # addons LocaleKitCollatorAddons LocaleKitCatalogAddons # tests LocaleKitTests ; # Add optional packages given via HAIKU_ADD_OPTIONAL_PACKAGES. if $(HAIKU_ADD_OPTIONAL_PACKAGES) { AddOptionalHaikuImagePackages [ FSplitString $(HAIKU_ADD_OPTIONAL_PACKAGES) : / ] ; } # Prepare the optional build features before parsing the Jamfile tree. include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ; # Include packages that are required by all images. AddOptionalHaikuImagePackages MandatoryPackages ; # If enabled, make sure that OpenSSL is added to the image. if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) { AddOptionalHaikuImagePackages OpenSSL ; } AddOptionalHaikuImagePackages ICU ; # Evaluate optional package dependencies include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackageDependencies ] ; # Optionally we allow not to include the "src" subdirectory. if $(HAIKU_DONT_INCLUDE_SRC) { # Don't include "src", but at least include the stuff needed for the # build. SubInclude HAIKU_TOP src build ; SubInclude HAIKU_TOP src tools ; } else { SubInclude HAIKU_TOP src ; } if $(HAIKU_INCLUDE_3RDPARTY) { SubInclude HAIKU_TOP 3rdparty ; } # Perform deferred SubIncludes. ExecuteDeferredSubIncludes ; # reset subdir SubDir HAIKU_TOP ; # Execute post-build-target user config rules. UserBuildConfigRulePostBuildTargets ; # specify the Haiku image and network boot archive contents if $(TARGET_ARCH) = x86_64 { include [ FDirName $(HAIKU_BUILD_RULES_DIR) Haiku64Image ] ; } else { include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ; } include [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootPPCImage ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuCD ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) AnybootImage ] ; # Check whether all requested optional packages do actually exist. local package ; local packageError ; for package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) { if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] { Echo "ERROR: Requested optional package \"$(package)\" does not" "exist." ; packageError = 1 ; } } if $(packageError) { Exit ; } # Pseudo-target to build all targets that are localized. NotFile LocalizedTargets ; Depends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ; NotFile catalogs ; Depends catalogs : $(HAIKU_LOCALE_CATALOGS) ; NotFile catkeys ; Depends catkeys : $(HAIKU_LOCALE_OUTPUT_CATKEYS) ;