1338b8dc3SIngo WeinholdSubDir HAIKU_TOP ; 269b97469SIngo Weinhold 3f35b607dSJérôme DuvalNotFile doc_files ; 4f35b607dSJérôme DuvalDepends files : doc_files ; 5f35b607dSJérôme Duval 6f4eb5cf7SMatt Madia# Prepare the optional build features before parsing the Jamfile tree. 7b0944c78SIngo Weinholdlocal architectureObject ; 8b0944c78SIngo Weinholdfor architectureObject in [ MultiArchSubDirSetup ] { 9b0944c78SIngo Weinhold on $(architectureObject) { 10f0cacbb3SIngo Weinhold include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ; 11b0944c78SIngo Weinhold } 12b0944c78SIngo Weinhold} 13f4eb5cf7SMatt Madia 140e82d313SMatt Madia# Include packages that are required by all images. 1548b1ed42SIngo Weinholdif ! $(HAIKU_BOOTSTRAP_BUILD) { 1678f4c163SIngo Weinhold AddHaikuImagePackages 1778f4c163SIngo Weinhold bzip2 ctags ffmpeg freetype glu grep icu jpeg libpng libsolv mesa sed 1878f4c163SIngo Weinhold tar zlib 1978f4c163SIngo Weinhold : 2078f4c163SIngo Weinhold system 2178f4c163SIngo Weinhold ; 2278f4c163SIngo Weinhold} 23429618d2SMatt Madia 24429618d2SMatt Madia# If enabled, make sure that OpenSSL is added to the image. 25*57190167SIngo Weinholdif [ FIsBuildFeatureEnabled openssl ] { 2698c6dfa4SIngo Weinhold AddHaikuImagePackages openssl ; 27429618d2SMatt Madia} 28a5c31cbbSMatt Madia 2948d60fa6SIngo Weinhold# Optionally we allow not to include the "src" subdirectory. 3048d60fa6SIngo Weinholdif $(HAIKU_DONT_INCLUDE_SRC) { 3148d60fa6SIngo Weinhold # Don't include "src", but at least include the stuff needed for the 3248d60fa6SIngo Weinhold # build. 3348d60fa6SIngo Weinhold SubInclude HAIKU_TOP src build ; 3448d60fa6SIngo Weinhold SubInclude HAIKU_TOP src tools ; 3548d60fa6SIngo Weinhold} else { 36338b8dc3SIngo Weinhold SubInclude HAIKU_TOP src ; 3748d60fa6SIngo Weinhold} 38a7ec9c1dSFrançois Revolif $(HAIKU_INCLUDE_3RDPARTY) { 39a7ec9c1dSFrançois Revol SubInclude HAIKU_TOP 3rdparty ; 40a7ec9c1dSFrançois Revol} 4148d60fa6SIngo Weinhold 42be8a6e43SIngo Weinhold# Perform deferred SubIncludes. 43be8a6e43SIngo WeinholdExecuteDeferredSubIncludes ; 44be8a6e43SIngo Weinhold 45689e6794SIngo Weinhold# reset subdir 46689e6794SIngo WeinholdSubDir HAIKU_TOP ; 47ad27081fSIngo Weinhold 48ad27081fSIngo Weinhold# Execute post-build-target user config rules. 49ad27081fSIngo WeinholdUserBuildConfigRulePostBuildTargets ; 50689e6794SIngo Weinhold 51b39c8d37SIngo Weinhold# specify the Haiku image and network boot archive contents 5278f4c163SIngo Weinholdif $(HAIKU_BOOTSTRAP_BUILD) { 5378f4c163SIngo Weinhold include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImageBootstrap ] ; 5478f4c163SIngo Weinhold} else { 55e8c5236aSIngo Weinhold include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImage ] ; 5678f4c163SIngo Weinhold} 57e8c5236aSIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) images NetBootArchive ] ; 58e8c5236aSIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) images FloppyBootImage ] ; 59e8c5236aSIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootImage ] ; 60e8c5236aSIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootPPCImage ] ; 61e8c5236aSIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuCD ] ; 62e8c5236aSIngo Weinholdinclude [ FDirName $(HAIKU_BUILD_RULES_DIR) images AnybootImage ] ; 6337aefc9cSIngo Weinhold 6437aefc9cSIngo Weinhold# Check whether all requested optional packages do actually exist. 6537aefc9cSIngo Weinholdlocal package ; 6637aefc9cSIngo Weinholdlocal packageError ; 6737aefc9cSIngo Weinholdfor package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) { 6837aefc9cSIngo Weinhold if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] { 6937aefc9cSIngo Weinhold Echo "ERROR: Requested optional package \"$(package)\" does not" 7037aefc9cSIngo Weinhold "exist." ; 7137aefc9cSIngo Weinhold packageError = 1 ; 7237aefc9cSIngo Weinhold } 7337aefc9cSIngo Weinhold} 7437aefc9cSIngo Weinholdif $(packageError) { 7537aefc9cSIngo Weinhold Exit ; 7637aefc9cSIngo Weinhold} 7780ad173eSMatt Madia 7880ad173eSMatt Madia# Pseudo-target to build all targets that are localized. 79a8fcb885SMatt MadiaNotFile LocalizedTargets ; 80a8fcb885SMatt MadiaDepends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ; 819de5b022SMatt Madia 829de5b022SMatt MadiaNotFile catalogs ; 839de5b022SMatt MadiaDepends catalogs : $(HAIKU_LOCALE_CATALOGS) ; 849de5b022SMatt Madia 859de5b022SMatt MadiaNotFile catkeys ; 869de5b022SMatt MadiaDepends catkeys : $(HAIKU_LOCALE_OUTPUT_CATKEYS) ; 87