2014-03-22 23:23:10 +04:00
|
|
|
# set HAIKU_BUILD_TYPE early
|
2008-10-22 19:52:36 +04:00
|
|
|
switch $(HAIKU_BUILD_PROFILE) {
|
2014-03-16 04:00:28 +04:00
|
|
|
case "bootstrap-*" : {
|
2014-03-22 23:23:10 +04:00
|
|
|
HAIKU_BUILD_TYPE = bootstrap ;
|
|
|
|
EnableBuildFeatures bootstrap_image ;
|
2014-05-01 14:50:11 +04:00
|
|
|
|
2014-08-11 22:57:43 +04:00
|
|
|
# Add a third pseudo target for the platform used when building anything
|
|
|
|
# for stage0 of the bootstrap process.
|
|
|
|
NotFile bootstrap_stage0 ;
|
|
|
|
|
2014-01-26 20:42:05 +04:00
|
|
|
HAIKU_DEFINES += HAIKU_BOOTSTRAP_BUILD ;
|
|
|
|
TARGET_DEFINES += HAIKU_BOOTSTRAP_BUILD ;
|
2014-05-01 14:50:11 +04:00
|
|
|
}
|
2014-03-22 23:23:10 +04:00
|
|
|
|
|
|
|
case "minimum-*" : {
|
|
|
|
HAIKU_BUILD_TYPE = minimum ;
|
|
|
|
EnableBuildFeatures minimum_image ;
|
2014-05-01 01:12:59 +04:00
|
|
|
|
|
|
|
HAIKU_DEFINES += HAIKU_MINIMUM_BUILD ;
|
|
|
|
TARGET_DEFINES += HAIKU_MINIMUM_BUILD ;
|
2014-03-16 04:00:28 +04:00
|
|
|
}
|
2014-05-01 14:50:11 +04:00
|
|
|
|
2014-03-22 23:23:10 +04:00
|
|
|
case "*" : {
|
|
|
|
HAIKU_BUILD_TYPE = regular ;
|
|
|
|
EnableBuildFeatures regular_image ;
|
2014-05-01 01:12:59 +04:00
|
|
|
|
|
|
|
HAIKU_DEFINES += HAIKU_REGULAR_BUILD ;
|
|
|
|
TARGET_DEFINES += HAIKU_REGULAR_BUILD ;
|
2014-03-16 04:00:28 +04:00
|
|
|
}
|
2013-07-21 05:20:26 +04:00
|
|
|
}
|
2014-03-22 23:23:10 +04:00
|
|
|
Echo "Starting build of type $(HAIKU_BUILD_TYPE) ..." ;
|
2009-09-23 13:02:31 +04:00
|
|
|
|
2013-07-07 16:21:51 +04:00
|
|
|
|
2013-07-21 05:20:26 +04:00
|
|
|
rule DefineDefaultBuildProfiles
|
|
|
|
{
|
2013-11-23 19:49:10 +04:00
|
|
|
# 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
|
2016-11-29 18:41:15 +03:00
|
|
|
: "haiku-release-anyboot.iso" ;
|
2013-07-21 05:20:26 +04:00
|
|
|
|
|
|
|
# nightly profiles
|
|
|
|
DefineBuildProfile nightly-raw : image : "haiku-nightly.image" ;
|
2023-06-16 22:45:25 +03:00
|
|
|
DefineBuildProfile nightly-mmc : haiku-mmc-image : "haiku-nightly.mmc" ;
|
2013-07-21 05:20:26 +04:00
|
|
|
DefineBuildProfile nightly-vmware : vmware-image : "haiku-nightly.vmdk" ;
|
|
|
|
DefineBuildProfile nightly-cd : cd-image : "haiku-nightly.iso" ;
|
|
|
|
DefineBuildProfile nightly-anyboot : anyboot-image
|
2016-11-29 18:41:15 +03:00
|
|
|
: "haiku-nightly-anyboot.iso" ;
|
2013-07-21 05:20:26 +04:00
|
|
|
|
|
|
|
# bootstrap profiles
|
|
|
|
DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ;
|
2014-09-02 12:50:48 +04:00
|
|
|
DefineBuildProfile bootstrap-mmc : haiku-mmc-image : "haiku-bootstrap.mmc" ;
|
2013-07-21 05:20:26 +04:00
|
|
|
DefineBuildProfile bootstrap-vmware : vmware-image
|
|
|
|
: "haiku-bootstrap.vmdk" ;
|
2016-07-11 16:14:22 +03:00
|
|
|
DefineBuildProfile bootstrap-anyboot : anyboot-image
|
2016-11-29 18:41:15 +03:00
|
|
|
: "haiku-bootstrap-anyboot.iso" ;
|
2013-07-21 05:20:26 +04:00
|
|
|
|
2014-03-16 04:00:28 +04:00
|
|
|
# minimum profiles
|
|
|
|
DefineBuildProfile minimum-raw : image : "haiku-minimum.image" ;
|
2014-09-02 12:50:48 +04:00
|
|
|
DefineBuildProfile minimum-mmc : haiku-mmc-image : "haiku-minimum.mmc" ;
|
2014-03-16 04:00:28 +04:00
|
|
|
DefineBuildProfile minimum-vmware : vmware-image : "haiku-minimum.vmdk" ;
|
2018-07-09 18:36:07 +03:00
|
|
|
DefineBuildProfile minimum-cd : cd-image : "haiku-minimum.iso" ;
|
2014-05-01 14:50:11 +04:00
|
|
|
DefineBuildProfile minimum-anyboot : anyboot-image
|
2016-11-29 18:41:15 +03:00
|
|
|
: "haiku-minimum-anyboot.iso" ;
|
2014-03-16 04:00:28 +04:00
|
|
|
|
2013-07-21 05:20:26 +04:00
|
|
|
switch $(HAIKU_BUILD_PROFILE) {
|
2013-11-23 19:49:10 +04:00
|
|
|
case "release-*" : {
|
|
|
|
Echo Building Haiku R1/development preview ;
|
2013-10-11 01:45:29 +04:00
|
|
|
HAIKU_ROOT_USER_NAME ?= user ;
|
|
|
|
HAIKU_ROOT_USER_REAL_NAME ?= "Yourself" ;
|
2013-07-21 05:20:26 +04:00
|
|
|
AddGroupToHaikuImage party : 101 : user sshd ;
|
2013-10-11 01:45:29 +04:00
|
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
2022-11-14 02:57:08 +03:00
|
|
|
|
|
|
|
if $(HAIKU_INCLUDE_SOURCES) = 1 || $(DEBUG) != 0 {
|
|
|
|
HAIKU_IMAGE_SIZE ?= 1400 ;
|
2018-09-26 06:05:23 +03:00
|
|
|
} else {
|
2022-11-13 23:56:48 +03:00
|
|
|
HAIKU_IMAGE_SIZE ?= 800 ;
|
2018-09-26 06:05:23 +03:00
|
|
|
}
|
2013-07-21 05:20:26 +04:00
|
|
|
|
2020-01-26 00:27:48 +03:00
|
|
|
AddHaikuImageSystemPackages
|
2013-07-21 05:20:26 +04:00
|
|
|
bepdf
|
|
|
|
keymapswitcher
|
2020-04-20 00:54:51 +03:00
|
|
|
mandoc
|
2017-02-19 20:09:33 +03:00
|
|
|
noto
|
2017-07-12 19:54:45 +03:00
|
|
|
noto_sans_cjk_jp
|
2013-07-21 05:20:26 +04:00
|
|
|
openssh
|
2017-07-12 19:54:45 +03:00
|
|
|
pdfwriter
|
2013-07-21 05:20:26 +04:00
|
|
|
pe
|
|
|
|
timgmsoundfont
|
|
|
|
vision
|
2013-09-30 00:09:00 +04:00
|
|
|
wpa_supplicant
|
2013-07-21 05:20:26 +04:00
|
|
|
wqy_microhei
|
2021-04-17 22:41:55 +03:00
|
|
|
# Some packages can't be built with gcc2, so we install the gcc8
|
|
|
|
# secondary architecture package instead in this case
|
2022-11-13 07:46:54 +03:00
|
|
|
!gcc2 @{ nano p7zip python3.9 xz_utils }@
|
2021-04-17 22:41:55 +03:00
|
|
|
gcc2 @{ nano_x86@secondary_x86 p7zip_x86@secondary_x86
|
2022-11-13 07:46:54 +03:00
|
|
|
python3.9_x86@secondary_x86 xz_utils_x86@secondary_x86 }@
|
2013-07-21 05:20:26 +04:00
|
|
|
;
|
2018-07-01 21:25:10 +03:00
|
|
|
AddHaikuImageSourcePackages
|
|
|
|
bepdf
|
|
|
|
nano
|
|
|
|
p7zip
|
|
|
|
;
|
2013-07-21 05:20:26 +04:00
|
|
|
|
2013-08-10 11:58:11 +04:00
|
|
|
local architectureObject ;
|
2013-08-10 17:03:49 +04:00
|
|
|
for architectureObject in [ MultiArchSubDirSetup ] {
|
2013-08-10 11:58:11 +04:00
|
|
|
on $(architectureObject) {
|
2020-01-26 00:27:48 +03:00
|
|
|
AddHaikuImageSystemPackages openssl wonderbrush@gcc2 ;
|
2013-08-10 11:58:11 +04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-11-24 16:33:44 +04:00
|
|
|
AddOptionalHaikuImagePackages BeBook Development Git Welcome ;
|
2013-11-23 22:32:36 +04:00
|
|
|
|
2013-12-31 04:29:45 +04:00
|
|
|
# WebPositive can only built for x86_gcc2, x86 and x86_64
|
|
|
|
if $(HAIKU_PACKAGING_ARCHS) in x86_gcc2 x86 x86_64 {
|
2013-11-24 16:33:44 +04:00
|
|
|
AddOptionalHaikuImagePackages WebPositive ;
|
2013-11-25 00:06:54 +04:00
|
|
|
} else {
|
|
|
|
Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ;
|
2013-11-23 22:32:36 +04:00
|
|
|
}
|
2013-07-21 05:20:26 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
case "nightly-*" : {
|
|
|
|
Echo Building Haiku Nightly ;
|
2013-10-11 01:45:29 +04:00
|
|
|
HAIKU_ROOT_USER_NAME ?= user ;
|
|
|
|
HAIKU_ROOT_USER_REAL_NAME ?= "Yourself" ;
|
2013-07-21 05:20:26 +04:00
|
|
|
AddGroupToHaikuImage party : 101 : user sshd ;
|
2013-10-11 01:45:29 +04:00
|
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
2016-07-12 17:15:00 +03:00
|
|
|
if $(DEBUG) != 0 {
|
2017-10-02 22:35:26 +03:00
|
|
|
HAIKU_IMAGE_SIZE ?= 850 ;
|
2016-07-12 17:15:00 +03:00
|
|
|
}
|
2013-10-11 01:45:29 +04:00
|
|
|
HAIKU_IMAGE_SIZE ?= 600 ;
|
2019-02-14 23:09:24 +03:00
|
|
|
HAIKU_NIGHTLY_BUILD = 1 ;
|
2013-07-21 05:20:26 +04:00
|
|
|
|
2020-01-26 00:27:48 +03:00
|
|
|
AddHaikuImageSystemPackages
|
2020-04-20 00:54:51 +03:00
|
|
|
mandoc
|
2017-02-19 20:09:33 +03:00
|
|
|
noto
|
2013-07-21 05:20:26 +04:00
|
|
|
openssh
|
2013-09-30 00:09:00 +04:00
|
|
|
openssl
|
2013-07-21 05:20:26 +04:00
|
|
|
pe
|
|
|
|
vision
|
2013-09-30 00:09:00 +04:00
|
|
|
wpa_supplicant
|
2013-11-24 16:33:44 +04:00
|
|
|
# xz_utils can't be built with gcc2, so we install it for
|
2021-04-17 22:41:55 +03:00
|
|
|
# primary gcc 8 architectures or gcc 2 hybrids.
|
|
|
|
!gcc2 @{ nano p7zip xz_utils }@
|
|
|
|
gcc2 @{
|
|
|
|
nano_x86@secondary_x86
|
|
|
|
p7zip_x86@secondary_x86
|
|
|
|
xz_utils_x86@secondary_x86
|
|
|
|
}@
|
2013-07-21 05:20:26 +04:00
|
|
|
;
|
2018-07-01 21:25:10 +03:00
|
|
|
AddHaikuImageSourcePackages
|
|
|
|
nano
|
|
|
|
p7zip
|
|
|
|
;
|
2013-07-21 05:20:26 +04:00
|
|
|
|
2013-11-23 22:32:36 +04:00
|
|
|
AddOptionalHaikuImagePackages Development Git ;
|
|
|
|
|
2013-12-31 04:29:45 +04:00
|
|
|
# WebPositive can only built for x86_gcc2, x86 and x86_64
|
|
|
|
if $(HAIKU_PACKAGING_ARCHS) in x86_gcc2 x86 x86_64 {
|
2013-11-24 16:33:44 +04:00
|
|
|
AddOptionalHaikuImagePackages WebPositive ;
|
2013-11-25 00:06:54 +04:00
|
|
|
} else {
|
|
|
|
Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ;
|
2013-11-23 22:32:36 +04:00
|
|
|
}
|
2013-07-21 05:20:26 +04:00
|
|
|
}
|
|
|
|
|
2018-07-01 21:25:10 +03:00
|
|
|
case "minimum-*" : {
|
|
|
|
Echo Building Haiku Minimum Target ;
|
|
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
|
|
|
if $(DEBUG) != 0 {
|
|
|
|
HAIKU_IMAGE_SIZE ?= 450 ;
|
|
|
|
}
|
|
|
|
|
2020-01-26 00:27:48 +03:00
|
|
|
AddHaikuImageSystemPackages
|
2019-08-13 19:55:05 +03:00
|
|
|
openssl
|
2018-07-01 21:25:10 +03:00
|
|
|
;
|
|
|
|
}
|
|
|
|
|
2013-07-21 05:20:26 +04:00
|
|
|
case "bootstrap-*" : {
|
|
|
|
Echo Building Haiku Bootstrap ;
|
2013-10-11 01:45:29 +04:00
|
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
|
|
|
HAIKU_IMAGE_SIZE ?= 20000 ;
|
2013-07-21 05:20:26 +04:00
|
|
|
|
2020-01-26 00:27:48 +03:00
|
|
|
AddHaikuImageSystemPackages
|
2013-07-21 05:20:26 +04:00
|
|
|
binutils
|
|
|
|
bison
|
2015-02-08 22:28:42 +03:00
|
|
|
expat
|
2013-07-21 05:20:26 +04:00
|
|
|
flex
|
|
|
|
gcc
|
2013-09-30 00:09:00 +04:00
|
|
|
grep
|
2013-07-22 01:58:37 +04:00
|
|
|
haikuporter
|
2014-10-28 20:53:27 +03:00
|
|
|
less
|
2015-07-04 23:29:05 +03:00
|
|
|
libedit
|
2013-07-21 05:20:26 +04:00
|
|
|
make
|
2015-10-19 20:40:08 +03:00
|
|
|
ncurses6
|
2017-02-19 20:09:33 +03:00
|
|
|
noto
|
2013-07-22 01:58:37 +04:00
|
|
|
python
|
2013-09-30 00:09:00 +04:00
|
|
|
sed
|
2014-03-02 13:34:07 +04:00
|
|
|
texinfo
|
2023-08-03 20:44:13 +03:00
|
|
|
!gcc2 @{ gawk grep }@
|
|
|
|
gcc2 @{ grep_x86@secondary_x86 mawk }@
|
2020-03-16 02:30:08 +03:00
|
|
|
;
|
2020-01-26 00:27:48 +03:00
|
|
|
|
2020-01-26 00:27:48 +03:00
|
|
|
AddHaikuImageDisabledPackages
|
|
|
|
freetype_devel
|
|
|
|
libedit_devel
|
|
|
|
ncurses6_devel
|
|
|
|
zlib_devel
|
|
|
|
;
|
|
|
|
|
2013-08-06 05:37:22 +04:00
|
|
|
# secondary architecture packages
|
|
|
|
local architectureObject ;
|
|
|
|
for architectureObject
|
|
|
|
in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] {
|
|
|
|
on $(architectureObject) {
|
2020-01-26 00:27:48 +03:00
|
|
|
AddHaikuImageSystemPackages
|
2013-09-30 00:09:00 +04:00
|
|
|
binutils
|
2015-02-08 22:28:42 +03:00
|
|
|
expat
|
2013-08-06 05:37:22 +04:00
|
|
|
freetype
|
2013-09-30 00:09:00 +04:00
|
|
|
gcc
|
2021-04-17 22:41:55 +03:00
|
|
|
icu@gcc2 icu66@!gcc2
|
2013-08-06 05:37:22 +04:00
|
|
|
libsolv
|
2015-07-04 23:29:05 +03:00
|
|
|
libedit
|
2020-03-16 02:30:08 +03:00
|
|
|
ncurses6
|
|
|
|
zlib
|
|
|
|
;
|
2020-01-26 00:27:48 +03:00
|
|
|
AddHaikuImageDisabledPackages
|
|
|
|
freetype_devel
|
|
|
|
libedit_devel
|
|
|
|
ncurses6_devel
|
|
|
|
zlib_devel
|
|
|
|
;
|
2013-08-06 05:37:22 +04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-07-21 05:20:26 +04:00
|
|
|
AddOptionalHaikuImagePackages DevelopmentMin ;
|
|
|
|
}
|
2013-07-07 16:21:51 +04:00
|
|
|
}
|
2009-11-26 14:34:55 +03:00
|
|
|
|
|
|
|
|
2013-07-21 05:20:26 +04:00
|
|
|
# Uncomment in official release branch.
|
|
|
|
#HAIKU_DEFINES += HAIKU_OFFICIAL_RELEASE ;
|
|
|
|
#TARGET_DEFINES += HAIKU_OFFICIAL_RELEASE ;
|
2013-07-07 16:21:51 +04:00
|
|
|
|
|
|
|
|
2013-07-21 05:20:26 +04:00
|
|
|
# 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
|
2020-05-09 15:45:49 +03:00
|
|
|
if $(HAIKU_BUILD_PROFILE) in cd-image install vmware-image {
|
2013-07-21 05:20:26 +04:00
|
|
|
DefineBuildProfile $(HAIKU_BUILD_PROFILE) : $(HAIKU_BUILD_PROFILE) ;
|
|
|
|
} else {
|
|
|
|
Exit "Build profile" $(HAIKU_BUILD_PROFILE) "not defined." ;
|
|
|
|
}
|
2013-07-07 16:21:51 +04:00
|
|
|
}
|
|
|
|
}
|