SubDir HAIKU_TOP ; NotFile doc_files ; Depends files : doc_files ; # Prepare the optional build features before parsing the Jamfile tree. local architectureObject ; for architectureObject in [ MultiArchSubDirSetup ] { on $(architectureObject) { include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ; } } # Include packages that are required by all images. if ! $(HAIKU_BOOTSTRAP_BUILD) { # primary architecture AddHaikuImagePackages bzip2 ctags findutils grep sed tar which zlib ffmpeg freetype icu jpeg libpng libsolv mesa mesa_devel mesa_swrast glu ; # secondary architectures local architectureObject ; for architectureObject in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) ] { on $(architectureObject) { AddHaikuImagePackages ffmpeg freetype glu icu jpeg libpng libsolv mesa zlib ; } } } # If enabled, make sure that OpenSSL is added to the image. if [ FIsBuildFeatureEnabled openssl ] { AddHaikuImagePackages openssl ; } # add additionally requested packages AddHaikuImagePackages $(HAIKU_IMAGE_ADDITIONAL_PACKAGES) ; # 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 repository contents include [ FDirName $(HAIKU_BUILD_RULES_DIR) repositories Haiku ] ; # specify the Haiku image and network boot archive contents if $(HAIKU_BOOTSTRAP_BUILD) { include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImageBootstrap ] ; } else { include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImage ] ; } include [ FDirName $(HAIKU_BUILD_RULES_DIR) images NetBootArchive ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) images FloppyBootImage ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootImage ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootPPCImage ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuCD ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) images 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) ;