glue: correctly support different architectures.

* use MergeObject even if we don't need the merged object: the rule does what
is needed and is standardly used for instance in libroot.so.
* add a grist to source files for the bootstrap glue.
This commit is contained in:
Jérôme Duval 2018-01-31 21:42:51 +01:00
parent b71f9969c9
commit ac690cf148
6 changed files with 24 additions and 12 deletions

View File

@ -3,6 +3,8 @@ SubDir HAIKU_TOP src system glue ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ;
UsePrivateSystemHeaders ;
local sources =
@ -10,11 +12,11 @@ for architectureObject in [ MultiArchSubDirSetup ] {
start_dyn.c
haiku_version_glue.c
;
Objects $(sources) ;
MergeObject <$(architecture)>glue_common.o : $(sources) ;
if $(HAIKU_BUILD_TYPE) = bootstrap {
# build a version for stage0 of the bootstrap process
BootstrapStage0PlatformObjects $(sources) : true ;
BootstrapStage0PlatformObjects [ FGristFiles $(sources) ] : true ;
}
}
}

View File

@ -3,17 +3,19 @@ SubDir HAIKU_TOP src system glue arch arm ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup arm ] {
on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ;
UsePrivateSystemHeaders ;
local sources =
crti.S
crtn.S
;
Objects $(sources) ;
MergeObject <$(architecture)>glue_arch_$(TARGET_ARCH).o : $(sources) ;
if $(HAIKU_BUILD_TYPE) = bootstrap {
# build a version for stage0 of the bootstrap process
BootstrapStage0PlatformObjects $(sources) : true ;
BootstrapStage0PlatformObjects [ FGristFiles $(sources) ] : true ;
}
}
}

View File

@ -3,17 +3,19 @@ SubDir HAIKU_TOP src system glue arch m68k ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup m68k ] {
on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ;
UsePrivateSystemHeaders ;
local sources =
crti.S
crtn.S
;
Objects $(sources) ;
MergeObject <$(architecture)>glue_arch_$(TARGET_ARCH).o : $(sources) ;
if $(HAIKU_BUILD_TYPE) = bootstrap {
# build a version for stage0 of the bootstrap process
BootstrapStage0PlatformObjects $(sources) : true ;
BootstrapStage0PlatformObjects [ FGristFiles $(sources) ] : true ;
}
}
}

View File

@ -3,17 +3,19 @@ SubDir HAIKU_TOP src system glue arch ppc ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ppc ] {
on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ;
UsePrivateSystemHeaders ;
local sources =
crti.S
crtn.S
;
Objects $(sources) ;
MergeObject <$(architecture)>glue_arch_$(TARGET_ARCH).o : $(sources) ;
if $(HAIKU_BUILD_TYPE) = bootstrap {
# build a version for stage0 of the bootstrap process
BootstrapStage0PlatformObjects $(sources) : true ;
BootstrapStage0PlatformObjects [ FGristFiles $(sources) ] : true ;
}
}
}

View File

@ -3,17 +3,19 @@ SubDir HAIKU_TOP src system glue arch x86 ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup x86 x86_gcc2 ] {
on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ;
UsePrivateSystemHeaders ;
local sources =
crti.S
crtn.S
;
Objects $(sources) ;
MergeObject <$(architecture)>glue_arch_$(TARGET_ARCH).o : $(sources) ;
if $(HAIKU_BUILD_TYPE) = bootstrap {
# build a version for stage0 of the bootstrap process
BootstrapStage0PlatformObjects $(sources) : true ;
BootstrapStage0PlatformObjects [ FGristFiles $(sources) ] : true ;
}
}
}

View File

@ -3,17 +3,19 @@ SubDir HAIKU_TOP src system glue arch x86_64 ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup x86_64 ] {
on $(architectureObject) {
local architecture = $(TARGET_PACKAGING_ARCH) ;
UsePrivateSystemHeaders ;
local sources =
crti.S
crtn.S
;
Objects $(sources) ;
MergeObject <$(architecture)>glue_arch_$(TARGET_ARCH).o : $(sources) ;
if $(HAIKU_BUILD_TYPE) = bootstrap {
# build a version for stage0 of the bootstrap process
BootstrapStage0PlatformObjects $(sources) : true ;
BootstrapStage0PlatformObjects [ FGristFiles $(sources) ] : true ;
}
}
}