All pastes #1793029 Raw Edit

Jamrules

public text v1 · immutable
#1793029 ·published 2010-02-10 21:03 UTC
rendered paste body
# Haiku Jamrules# Main directories used by the build.HAIKU_OUTPUT_DIR					?= [ FDirName $(HAIKU_TOP) generated ] ;HAIKU_BUILD_OUTPUT_DIR				= [ FDirName $(HAIKU_OUTPUT_DIR) build ] ;HAIKU_BUILD_DIR						= [ FDirName $(HAIKU_TOP) build ] ;HAIKU_BUILD_RULES_DIR				= [ FDirName $(HAIKU_BUILD_DIR) jam ] ;HAIKU_OBJECT_DIR					= [ FDirName $(HAIKU_OUTPUT_DIR) objects ] ;HAIKU_COMMON_PLATFORM_OBJECT_DIR	= [ FDirName $(HAIKU_OBJECT_DIR) common ] ;HAIKU_DOWNLOAD_DIR					= [ FDirName $(HAIKU_OUTPUT_DIR)											download ] ;HAIKU_OPTIONAL_BUILD_PACKAGES_DIR	= [ FDirName $(HAIKU_OUTPUT_DIR)											build_packages ] ;# Cache files for header scanning and jamfile cachingHCACHEFILE = header_cache ;JCACHEFILE = jamfile_cache ;LOCATE on $(HCACHEFILE) $(JCACHEFILE) = $(HAIKU_BUILD_OUTPUT_DIR) ;# include BuildConfiglocal buildConfig = [ GLOB $(HAIKU_BUILD_OUTPUT_DIR) : BuildConfig ] ;if ! $(buildConfig) {	ECHO "No `BuildConfig' found in $(HAIKU_BUILD_OUTPUT_DIR)!" ;	EXIT "Run ./configure in the source tree's root directory first!" ;}LOCATE on BuildConfig = $(HAIKU_BUILD_OUTPUT_DIR) ;include BuildConfig ;# The build setup and rules are neatly organized in several files. Include# them now. Start with the side-effect-less rules, since they are the most# likely to be used in the top level context (i.e. not only in rules).# At the end include BuildSetup that sets up global variables etc. The# optional user-defined UserBuildConfig is included thereafter.include [ FDirName $(HAIKU_BUILD_RULES_DIR) HelperRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) MathRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) BeOSRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) CommandLineArguments ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) ConfigRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) DocumentationRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) FileRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) FreetypeRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) HeadersRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) KernelRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) ImageRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) MainBuildRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) MiscRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) OverriddenJamRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) PackageRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) TestsRules ] ;include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildSetup ] ;# Declare no-op user-overridable build rules.rule UserBuildConfigRulePostBuildTargets	{ }rule UserBuildConfigRulePreImage			{ }rule UserBuildConfigRulePostImage			{ }# Include UserBuildConfig.if ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) {	local userBuildConfig		= [ GLOB $(HAIKU_BUILD_RULES_DIR) : UserBuildConfig ] ;	if $(userBuildConfig) {		include $(userBuildConfig) ;	}	# allow for a separate UserBuildConfig per output directory	local userBuildConfig		= [ GLOB $(HAIKU_OUTPUT_DIR) : UserBuildConfig ] ;	if $(userBuildConfig) {		include $(userBuildConfig) ;	}}include [ FDirName $(HAIKU_BUILD_RULES_DIR) ReleaseBuildProfiles ] ;# If a build profile was specified on the command line, now is the time to# check whether it is unknown or one of the default profiles.if $(HAIKU_BUILD_PROFILE) && ! $(HAIKU_BUILD_PROFILE_DEFINED) {	# define the obvious default profiles	if $(HAIKU_BUILD_PROFILE) in image vmware-image install {		DefineBuildProfile $(HAIKU_BUILD_PROFILE) : $(HAIKU_BUILD_PROFILE) ;	} else {		Exit "Build profile" $(HAIKU_BUILD_PROFILE) "not defined." ;	}}# Include embedded board-specific file.# UserBuildConfig can override HAIKU_BOOT_BOARD.if $(HAIKU_BOOT_BOARD) {	include [ FDirName $(HAIKU_BUILD_RULES_DIR) board $(HAIKU_BOOT_BOARD)		BoardSetup ] ;}PrepareConfigVariables ;