d6a1675c00
We don't want to ship these images as the ones for main distribution, but at least we can make them available as downloads for those who do want to use CDs.
266 lines
6.4 KiB
Plaintext
266 lines
6.4 KiB
Plaintext
# set HAIKU_BUILD_TYPE early
|
|
switch $(HAIKU_BUILD_PROFILE) {
|
|
case "bootstrap-*" : {
|
|
HAIKU_BUILD_TYPE = bootstrap ;
|
|
EnableBuildFeatures bootstrap_image ;
|
|
|
|
# Add a third pseudo target for the platform used when building anything
|
|
# for stage0 of the bootstrap process.
|
|
NotFile bootstrap_stage0 ;
|
|
|
|
HAIKU_DEFINES += HAIKU_BOOTSTRAP_BUILD ;
|
|
TARGET_DEFINES += HAIKU_BOOTSTRAP_BUILD ;
|
|
}
|
|
|
|
case "minimum-*" : {
|
|
HAIKU_BUILD_TYPE = minimum ;
|
|
EnableBuildFeatures minimum_image ;
|
|
|
|
HAIKU_DEFINES += HAIKU_MINIMUM_BUILD ;
|
|
TARGET_DEFINES += HAIKU_MINIMUM_BUILD ;
|
|
}
|
|
|
|
case "*" : {
|
|
HAIKU_BUILD_TYPE = regular ;
|
|
EnableBuildFeatures regular_image ;
|
|
|
|
HAIKU_DEFINES += HAIKU_REGULAR_BUILD ;
|
|
TARGET_DEFINES += HAIKU_REGULAR_BUILD ;
|
|
}
|
|
}
|
|
Echo "Starting build of type $(HAIKU_BUILD_TYPE) ..." ;
|
|
|
|
|
|
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.iso" ;
|
|
|
|
# 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.iso" ;
|
|
|
|
# bootstrap profiles
|
|
DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ;
|
|
DefineBuildProfile bootstrap-mmc : haiku-mmc-image : "haiku-bootstrap.mmc" ;
|
|
DefineBuildProfile bootstrap-vmware : vmware-image
|
|
: "haiku-bootstrap.vmdk" ;
|
|
DefineBuildProfile bootstrap-anyboot : anyboot-image
|
|
: "haiku-bootstrap-anyboot.iso" ;
|
|
|
|
# minimum profiles
|
|
DefineBuildProfile minimum-raw : image : "haiku-minimum.image" ;
|
|
DefineBuildProfile minimum-mmc : haiku-mmc-image : "haiku-minimum.mmc" ;
|
|
DefineBuildProfile minimum-vmware : vmware-image : "haiku-minimum.vmdk" ;
|
|
DefineBuildProfile minimum-cd : cd-image : "haiku-minimum.iso" ;
|
|
DefineBuildProfile minimum-anyboot : anyboot-image
|
|
: "haiku-minimum-anyboot.iso" ;
|
|
|
|
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 ;
|
|
if $(DEBUG) != 0 {
|
|
HAIKU_IMAGE_SIZE ?= 1300 ;
|
|
}
|
|
if $(HAIKU_INCLUDE_SOURCES) = 1 {
|
|
HAIKU_IMAGE_SIZE ?= 1100 ;
|
|
} else {
|
|
HAIKU_IMAGE_SIZE ?= 700 ;
|
|
}
|
|
|
|
AddHaikuImagePackages
|
|
bepdf
|
|
keymapswitcher
|
|
llvm
|
|
man
|
|
nano
|
|
noto
|
|
noto_sans_cjk_jp
|
|
openssh
|
|
p7zip
|
|
pdfwriter
|
|
pe
|
|
python
|
|
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 }@
|
|
;
|
|
AddHaikuImageSourcePackages
|
|
bepdf
|
|
man
|
|
mercurial
|
|
nano
|
|
p7zip
|
|
gcc
|
|
;
|
|
|
|
local architectureObject ;
|
|
for architectureObject in [ MultiArchSubDirSetup ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImagePackages openssl wonderbrush@gcc2 ;
|
|
}
|
|
}
|
|
|
|
AddOptionalHaikuImagePackages BeBook Development Git Welcome ;
|
|
|
|
# WebPositive can only built for x86_gcc2, x86 and x86_64
|
|
if $(HAIKU_PACKAGING_ARCHS) in x86_gcc2 x86 x86_64 {
|
|
AddOptionalHaikuImagePackages WebPositive ;
|
|
} else {
|
|
Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ;
|
|
}
|
|
}
|
|
|
|
case "alpha-*" : {
|
|
Echo The alpha-* build profiles have been renamed to release-* ;
|
|
Exit ;
|
|
}
|
|
|
|
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 ;
|
|
if $(DEBUG) != 0 {
|
|
HAIKU_IMAGE_SIZE ?= 850 ;
|
|
}
|
|
HAIKU_IMAGE_SIZE ?= 600 ;
|
|
|
|
AddHaikuImagePackages
|
|
man
|
|
nano
|
|
noto
|
|
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 }@
|
|
;
|
|
AddHaikuImageSourcePackages
|
|
man
|
|
nano
|
|
p7zip
|
|
gcc
|
|
;
|
|
|
|
AddOptionalHaikuImagePackages Development Git ;
|
|
|
|
# WebPositive can only built for x86_gcc2, x86 and x86_64
|
|
if $(HAIKU_PACKAGING_ARCHS) in x86_gcc2 x86 x86_64 {
|
|
AddOptionalHaikuImagePackages WebPositive ;
|
|
} else {
|
|
Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ;
|
|
}
|
|
}
|
|
|
|
case "minimum-*" : {
|
|
Echo Building Haiku Minimum Target ;
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
|
if $(DEBUG) != 0 {
|
|
HAIKU_IMAGE_SIZE ?= 450 ;
|
|
}
|
|
|
|
AddHaikuImagePackages
|
|
;
|
|
}
|
|
|
|
case "bootstrap-*" : {
|
|
Echo Building Haiku Bootstrap ;
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
|
HAIKU_IMAGE_SIZE ?= 20000 ;
|
|
|
|
AddHaikuImagePackages
|
|
binutils
|
|
bison
|
|
curl_devel
|
|
expat
|
|
flex
|
|
freetype_devel
|
|
gawk
|
|
gcc
|
|
grep
|
|
haikuporter
|
|
less
|
|
libedit
|
|
libedit_devel
|
|
m4
|
|
make
|
|
ncurses6
|
|
ncurses6_devel
|
|
noto
|
|
python
|
|
sed
|
|
texinfo
|
|
zlib_devel
|
|
;
|
|
|
|
# secondary architecture packages
|
|
local architectureObject ;
|
|
for architectureObject
|
|
in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImagePackages
|
|
binutils
|
|
curl
|
|
curl_devel
|
|
expat
|
|
freetype
|
|
freetype_devel
|
|
gcc
|
|
icu
|
|
libsolv
|
|
libedit
|
|
libedit_devel
|
|
ncurses6
|
|
ncurses6_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." ;
|
|
}
|
|
}
|
|
}
|