Optionally build glue code for bootstrap_stage0 platform.
This commit is contained in:
@@ -760,3 +760,31 @@ rule BuildPlatformStaticLibraryPIC target : sources : otherObjects
|
||||
|
||||
BuildPlatformStaticLibrary $(target) : $(sources) : $(otherObjects) ;
|
||||
}
|
||||
|
||||
rule BootstrapStage0PlatformObjects sources : separateFromStandardSiblings
|
||||
{
|
||||
# BootstrapStage0PlatformObjects <sources> : <separateFromStandardSiblings>
|
||||
# Builds objects from the given sources for stage0 of the bootstrap process.
|
||||
# <sources> The sources from which objects should be created.
|
||||
# <separateFromStandardSiblings> Pass 'true' if the same objects are built
|
||||
# in a different context, too, so that a separate grist and target location
|
||||
# is required. This defaults to ''.
|
||||
local source ;
|
||||
for source in $(sources) {
|
||||
local objectGrist ;
|
||||
if $(separateFromStandardSiblings) = true {
|
||||
objectGrist = "bootstrap!$(SOURCE_GRIST)" ;
|
||||
} else {
|
||||
objectGrist = $(SOURCE_GRIST) ;
|
||||
}
|
||||
local object = $(source:S=$(SUFOBJ):G=$(objectGrist)) ;
|
||||
PLATFORM on $(object) = bootstrap_stage0 ;
|
||||
SUPPORTED_PLATFORMS on $(object) = bootstrap_stage0 ;
|
||||
if $(separateFromStandardSiblings) = true {
|
||||
MakeLocate $(object) : [
|
||||
FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) bootstrap
|
||||
] ;
|
||||
}
|
||||
Object $(object) : $(source) ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,14 +5,21 @@ for architectureObject in [ MultiArchSubDirSetup ] {
|
||||
on $(architectureObject) {
|
||||
UsePrivateSystemHeaders ;
|
||||
|
||||
Objects
|
||||
local sources =
|
||||
init_term_dyn.c
|
||||
start_dyn.c
|
||||
haiku_version_glue.c
|
||||
;
|
||||
Objects $(sources) ;
|
||||
|
||||
if $(HAIKU_BUILD_TYPE) = bootstrap {
|
||||
# build a version for stage0 of the bootstrap process
|
||||
BootstrapStage0PlatformObjects $(sources) : true ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
local arch ;
|
||||
for arch in $(TARGET_ARCHS) {
|
||||
SubInclude HAIKU_TOP src system glue arch $(arch) ;
|
||||
|
||||
@@ -3,9 +3,17 @@ SubDir HAIKU_TOP src system glue arch arm ;
|
||||
local architectureObject ;
|
||||
for architectureObject in [ MultiArchSubDirSetup arm ] {
|
||||
on $(architectureObject) {
|
||||
Objects
|
||||
UsePrivateSystemHeaders ;
|
||||
|
||||
local sources =
|
||||
crti.S
|
||||
crtn.S
|
||||
;
|
||||
Objects $(sources) ;
|
||||
|
||||
if $(HAIKU_BUILD_TYPE) = bootstrap {
|
||||
# build a version for stage0 of the bootstrap process
|
||||
BootstrapStage0PlatformObjects $(sources) : true ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,17 @@ SubDir HAIKU_TOP src system glue arch m68k ;
|
||||
local architectureObject ;
|
||||
for architectureObject in [ MultiArchSubDirSetup m68k ] {
|
||||
on $(architectureObject) {
|
||||
Objects
|
||||
UsePrivateSystemHeaders ;
|
||||
|
||||
local sources =
|
||||
crti.S
|
||||
crtn.S
|
||||
;
|
||||
Objects $(sources) ;
|
||||
|
||||
if $(HAIKU_BUILD_TYPE) = bootstrap {
|
||||
# build a version for stage0 of the bootstrap process
|
||||
BootstrapStage0PlatformObjects $(sources) : true ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,17 @@ SubDir HAIKU_TOP src system glue arch ppc ;
|
||||
local architectureObject ;
|
||||
for architectureObject in [ MultiArchSubDirSetup ppc ] {
|
||||
on $(architectureObject) {
|
||||
Objects
|
||||
UsePrivateSystemHeaders ;
|
||||
|
||||
local sources =
|
||||
crti.S
|
||||
crtn.S
|
||||
;
|
||||
Objects $(sources) ;
|
||||
|
||||
if $(HAIKU_BUILD_TYPE) = bootstrap {
|
||||
# build a version for stage0 of the bootstrap process
|
||||
BootstrapStage0PlatformObjects $(sources) : true ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,17 @@ SubDir HAIKU_TOP src system glue arch x86 ;
|
||||
local architectureObject ;
|
||||
for architectureObject in [ MultiArchSubDirSetup x86 x86_gcc2 ] {
|
||||
on $(architectureObject) {
|
||||
Objects
|
||||
UsePrivateSystemHeaders ;
|
||||
|
||||
local sources =
|
||||
crti.S
|
||||
crtn.S
|
||||
;
|
||||
Objects $(sources) ;
|
||||
|
||||
if $(HAIKU_BUILD_TYPE) = bootstrap {
|
||||
# build a version for stage0 of the bootstrap process
|
||||
BootstrapStage0PlatformObjects $(sources) : true ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,15 @@ for architectureObject in [ MultiArchSubDirSetup x86_64 ] {
|
||||
on $(architectureObject) {
|
||||
UsePrivateSystemHeaders ;
|
||||
|
||||
Objects
|
||||
local sources =
|
||||
crti.S
|
||||
crtn.S
|
||||
;
|
||||
Objects $(sources) ;
|
||||
|
||||
if $(HAIKU_BUILD_TYPE) = bootstrap {
|
||||
# build a version for stage0 of the bootstrap process
|
||||
BootstrapStage0PlatformObjects $(sources) : true ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user