1# set HAIKU_BOOTSTRAP_BUILD early, if building a bootstrap Haiku image 2switch $(HAIKU_BUILD_PROFILE) { 3 case "bootstrap-*" : 4 HAIKU_BOOTSTRAP_BUILD = 1 ; 5} 6 7 8rule DefineDefaultBuildProfiles 9{ 10 # alpha release profiles 11 DefineBuildProfile alpha-raw : image : "haiku-alpha.image" ; 12 DefineBuildProfile alpha-vmware : vmware-image : "haiku-alpha.vmdk" ; 13 DefineBuildProfile alpha-cd : cd-image : "haiku-alpha.iso" ; 14 DefineBuildProfile alpha-anyboot : anyboot-image 15 : "haiku-alpha-anyboot.image" ; 16 17 # nightly profiles 18 DefineBuildProfile nightly-raw : image : "haiku-nightly.image" ; 19 DefineBuildProfile nightly-vmware : vmware-image : "haiku-nightly.vmdk" ; 20 DefineBuildProfile nightly-cd : cd-image : "haiku-nightly.iso" ; 21 DefineBuildProfile nightly-anyboot : anyboot-image 22 : "haiku-nightly-anyboot.image" ; 23 24 # bootstrap profiles 25 DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ; 26 DefineBuildProfile bootstrap-vmware : vmware-image 27 : "haiku-bootstrap.vmdk" ; 28 29 switch $(HAIKU_BUILD_PROFILE) { 30 case "alpha-*" : { 31 Echo Building Haiku R1/alpha ; 32 HAIKU_ROOT_USER_NAME = user ; 33 HAIKU_ROOT_USER_REAL_NAME = "Yourself" ; 34 AddGroupToHaikuImage party : 101 : user sshd ; 35 HAIKU_IMAGE_HOST_NAME = shredder ; 36 HAIKU_IMAGE_SIZE = 800 ; 37 38 AddHaikuImagePackages 39 wpa_supplicant 40 : 41 system 42 ; 43 44 AddHaikuImagePackages 45 bepdf 46 cvs 47 keymapswitcher 48 man 49 mercurial 50 nano 51 openssh 52 p7zip 53 pe 54 python 55 subversion 56 timgmsoundfont 57 vision 58 wonderbrush 59 wqy_microhei 60 xz_utils@!gcc2 61 ; 62 63 # xz_utils can't be built with gcc2, so a mere gcc2 system doesn't 64 # have it. However, xz_utils does exist for the secondary (gcc4) 65 # architecture of a gcc2 hybrid. 66 if $(HAIKU_PACKAGING_ARCHS) != x86_gcc2 { 67 AddHaikuImagePackages 68 xz_utils_x86@gcc2 69 ; 70 } 71 72 local architectureObject ; 73 for architectureObject in [ MultiArchSubDirSetup ] { 74 on $(architectureObject) { 75 AddHaikuImagePackages openssl : system ; 76 } 77 } 78 79 AddOptionalHaikuImagePackages BeBook Development Git WebPositive 80 Welcome ; 81 } 82 83 case "beta-*" : { 84 Echo You wish. ; 85 } 86 87 case "nightly-*" : { 88 Echo Building Haiku Nightly ; 89 HAIKU_ROOT_USER_NAME = user ; 90 HAIKU_ROOT_USER_REAL_NAME = "Yourself" ; 91 AddGroupToHaikuImage party : 101 : user sshd ; 92 HAIKU_IMAGE_HOST_NAME = shredder ; 93 HAIKU_IMAGE_SIZE = 600 ; 94 95 AddHaikuImagePackages 96 openssl 97 wpa_supplicant 98 : 99 system 100 ; 101 102 AddHaikuImagePackages 103 man 104 nano 105 openssh 106 p7zip 107 pe 108 vision 109 xz_utils 110 ; 111 112 AddOptionalHaikuImagePackages Development Git WebPositive ; 113 } 114 115 case "bootstrap-*" : { 116 Echo Building Haiku Bootstrap ; 117 HAIKU_IMAGE_HOST_NAME = shredder ; 118 HAIKU_IMAGE_SIZE = 20000 ; 119 120 AddHaikuImagePackages 121 curl 122 curl_devel 123 freetype 124 freetype_devel 125 grep 126 icu 127 libsolv 128 ncurses 129 ncurses_devel 130 sed 131 zlib 132 zlib_devel 133 : 134 system 135 ; 136 137 AddHaikuImagePackages 138 autoconf 139 automake 140 binutils 141 bison 142 flex 143 gcc 144 haikuporter 145# jam 146 libtool 147 libtool_libltdl 148 m4 149 make 150# makeinfo 151# mkdepend 152# perl 153 python 154# texinfo 155 ; 156 157 # secondary architecture packages 158 local architectureObject ; 159 for architectureObject 160 in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] { 161 on $(architectureObject) { 162 AddHaikuImagePackages 163 curl 164 curl_devel 165 freetype 166 freetype_devel 167 icu 168 libsolv 169 ncurses 170 ncurses_devel 171 zlib 172 zlib_devel 173 : 174 system 175 ; 176 177 AddHaikuImagePackages 178 binutils 179 gcc 180 ; 181 } 182 } 183 184 AddOptionalHaikuImagePackages DevelopmentMin ; 185 } 186 } 187 188 189 # Uncomment in official release branch. 190 #HAIKU_DEFINES += HAIKU_OFFICIAL_RELEASE ; 191 #TARGET_DEFINES += HAIKU_OFFICIAL_RELEASE ; 192 193 194 # If a build profile was specified on the command line, now is the time to 195 # check whether it is unknown or one of the default profiles. 196 if $(HAIKU_BUILD_PROFILE) && ! $(HAIKU_BUILD_PROFILE_DEFINED) { 197 # define the obvious default profiles 198 if $(HAIKU_BUILD_PROFILE) in anyboot-image cd-image image install 199 vmware-image { 200 DefineBuildProfile $(HAIKU_BUILD_PROFILE) : $(HAIKU_BUILD_PROFILE) ; 201 } else { 202 Exit "Build profile" $(HAIKU_BUILD_PROFILE) "not defined." ; 203 } 204 } 205} 206