4 Depends files : doc_files ;
6 # Prepare the optional build features before parsing the Jamfile tree.
7 local architectureObject ;
8 for architectureObject in [ MultiArchSubDirSetup ] {
9 on $(architectureObject) {
10 include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildFeatures ] ;
12 # Let the target platform depend on the external header directories such
13 # that those will be unpacked before anything is built for the target
15 Depends $(TARGET_PLATFORM) : [
16 BuildFeatureAttribute gcc_syslibs_devel : c++-headers
18 BuildFeatureAttribute gcc_syslibs_devel : gcc-headers
23 # Include required packages:
24 # primary architecture
25 AddHaikuImagePackages [ FFilterByBuildFeatures
26 bash coreutils curl freetype icu libsolv zlib
29 bzip2 ctags expat ffmpeg findutils gawk glu grep gutenprint gzip jasper jpeg
30 less libicns libpcap libpng libpng16 libwebp
31 mesa mesa_devel mesa_swrast
34 tar tcpdump tiff unzip wget which zip
37 if $(HAIKU_PACKAGING_ARCHS[1]) != x86_gcc2 {
38 AddHaikuImagePackages [ FFilterByBuildFeatures gcc_syslibs ] ;
41 if $(HAIKU_PACKAGING_ARCHS[2]) {
42 # secondary architectures
43 local architectureObject ;
44 for architectureObject
45 in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) ] {
46 on $(architectureObject) {
47 AddHaikuImagePackages [ FFilterByBuildFeatures
48 curl freetype icu libsolv zlib
51 ffmpeg glu jasper jpeg libicns libpng libwebp mesa
54 if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
55 AddHaikuImagePackages [ FFilterByBuildFeatures gcc_syslibs ] ;
61 # If enabled, make sure that OpenSSL is added to the image.
62 if [ FIsBuildFeatureEnabled openssl ] {
63 AddHaikuImagePackages openssl ;
66 # add additionally requested packages
67 AddHaikuImagePackages $(HAIKU_IMAGE_ADDITIONAL_PACKAGES) ;
69 # Optionally we allow not to include the "src" subdirectory.
70 if $(HAIKU_DONT_INCLUDE_SRC) {
71 # Don't include "src", but at least include the stuff needed for the
73 SubInclude HAIKU_TOP src build ;
74 SubInclude HAIKU_TOP src tools ;
76 SubInclude HAIKU_TOP src ;
78 if $(HAIKU_INCLUDE_3RDPARTY) {
79 SubInclude HAIKU_TOP 3rdparty ;
82 # Perform deferred SubIncludes.
83 ExecuteDeferredSubIncludes ;
88 # Execute post-build-target user config rules.
89 UserBuildConfigRulePostBuildTargets ;
91 # specify the Haiku repository contents
92 include [ FDirName $(HAIKU_BUILD_RULES_DIR) repositories Haiku ] ;
94 # specify the actual Haiku image contents
95 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImage ] ;
97 # specify the additional image contents one for each boot type
98 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images NetBootArchive ] ;
99 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images FloppyBootImage ] ;
100 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootImage ] ;
101 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootPPCImage ] ;
102 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuCD ] ;
103 include [ FDirName $(HAIKU_BUILD_RULES_DIR) images AnybootImage ] ;
105 # Check whether all requested optional packages do actually exist.
108 for package in $(HAIKU_ADDED_OPTIONAL_PACKAGES) {
109 if ! [ on $(package) return $(HAIKU_OPTIONAL_PACKAGE_EXISTS) ] {
110 Echo "ERROR: Requested optional package \"$(package)\" does not"
119 # Pseudo-target to build all targets that are localized.
120 NotFile LocalizedTargets ;
121 Depends LocalizedTargets : $(HAIKU_LOCALIZED_TARGETS) ;
124 Depends catalogs : $(HAIKU_LOCALE_CATALOGS) ;
127 Depends catkeys : $(HAIKU_LOCALE_OUTPUT_CATKEYS) ;