# set HAIKU_BOOTSTRAP_BUILD early, if building a bootstrap Haiku image switch $(HAIKU_BUILD_PROFILE) { case "bootstrap-*" : HAIKU_BOOTSTRAP_BUILD = 1 ; } rule DefineDefaultBuildProfiles { # release profiles DefineBuildProfile release-raw : image : "haiku-release.image" ; DefineBuildProfile release-vmware : vmware-image : "haiku-release.vmdk" ; DefineBuildProfile release-cd : cd-image : "haiku-release.iso" ; DefineBuildProfile release-anyboot : anyboot-image : "haiku-release-anyboot.image" ; # nightly profiles DefineBuildProfile nightly-raw : image : "haiku-nightly.image" ; DefineBuildProfile nightly-vmware : vmware-image : "haiku-nightly.vmdk" ; DefineBuildProfile nightly-cd : cd-image : "haiku-nightly.iso" ; DefineBuildProfile nightly-anyboot : anyboot-image : "haiku-nightly-anyboot.image" ; # bootstrap profiles DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ; DefineBuildProfile bootstrap-vmware : vmware-image : "haiku-bootstrap.vmdk" ; switch $(HAIKU_BUILD_PROFILE) { case "release-*" : { Echo Building Haiku R1/development preview ; HAIKU_ROOT_USER_NAME ?= user ; HAIKU_ROOT_USER_REAL_NAME ?= "Yourself" ; AddGroupToHaikuImage party : 101 : user sshd ; HAIKU_IMAGE_HOST_NAME ?= shredder ; HAIKU_IMAGE_SIZE ?= 800 ; AddHaikuImagePackages bepdf cvs keymapswitcher man mercurial nano openssh p7zip pe python subversion timgmsoundfont vision wpa_supplicant wqy_microhei # xz_utils can't be built with gcc2, so we install it for # primary gcc 4 architectures or gcc 2 hybrids. xz_utils@!gcc2 gcc2 @{ xz_utils_x86@secondary_x86 }@ ; local architectureObject ; for architectureObject in [ MultiArchSubDirSetup ] { on $(architectureObject) { AddHaikuImagePackages openssl wonderbrush@gcc2 ; } } AddOptionalHaikuImagePackages BeBook Development Git Welcome ; # WebPositive is only built for x86 and x86_gcc2 at the moment if $(HAIKU_PACKAGING_ARCHS) in x86_gcc2 x86 { AddOptionalHaikuImagePackages WebPositive ; } else { Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ; } } case "alpha-*" : { Echo The alpha-* build profiles have been renamed to release-* ; } case "nightly-*" : { Echo Building Haiku Nightly ; HAIKU_ROOT_USER_NAME ?= user ; HAIKU_ROOT_USER_REAL_NAME ?= "Yourself" ; AddGroupToHaikuImage party : 101 : user sshd ; HAIKU_IMAGE_HOST_NAME ?= shredder ; HAIKU_IMAGE_SIZE ?= 600 ; AddHaikuImagePackages man nano openssh openssl p7zip pe vision wpa_supplicant # xz_utils can't be built with gcc2, so we install it for # primary gcc 4 architectures or gcc 2 hybrids. xz_utils@!gcc2 gcc2 @{ xz_utils_x86@secondary_x86 }@ ; AddOptionalHaikuImagePackages Development Git ; # WebPositive is only built for x86 and x86_gcc2 at the moment if $(HAIKU_PACKAGING_ARCHS) in x86_gcc2 x86 { AddOptionalHaikuImagePackages WebPositive ; } else { Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ; } } case "bootstrap-*" : { Echo Building Haiku Bootstrap ; HAIKU_IMAGE_HOST_NAME ?= shredder ; HAIKU_IMAGE_SIZE ?= 20000 ; AddHaikuImagePackages autoconf automake binutils bison curl curl_devel flex freetype freetype_devel gcc grep haikuporter icu libsolv libtool libtool_libltdl m4 make ncurses ncurses_devel python sed zlib zlib_devel ; # secondary architecture packages local architectureObject ; for architectureObject in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] { on $(architectureObject) { AddHaikuImagePackages binutils curl curl_devel freetype freetype_devel gcc icu libsolv ncurses ncurses_devel zlib zlib_devel ; } } AddOptionalHaikuImagePackages DevelopmentMin ; } } # Uncomment in official release branch. #HAIKU_DEFINES += HAIKU_OFFICIAL_RELEASE ; #TARGET_DEFINES += HAIKU_OFFICIAL_RELEASE ; # 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 anyboot-image cd-image image install vmware-image { DefineBuildProfile $(HAIKU_BUILD_PROFILE) : $(HAIKU_BUILD_PROFILE) ; } else { Exit "Build profile" $(HAIKU_BUILD_PROFILE) "not defined." ; } } }