xref: /haiku/src/system/glue/Jamfile (revision ab39ceb10cd46f91f7c2443e133e2ba7e66121d9)
1338b8dc3SIngo WeinholdSubDir HAIKU_TOP src system glue ;
25af32e75SAxel Dörfler
3b0944c78SIngo Weinholdlocal architectureObject ;
4b0944c78SIngo Weinholdfor architectureObject in [ MultiArchSubDirSetup ] {
5b0944c78SIngo Weinhold	on $(architectureObject) {
6ac690cf1SJérôme Duval		local architecture = $(TARGET_PACKAGING_ARCH) ;
7ac690cf1SJérôme Duval
86b202f4eSIngo Weinhold		UsePrivateSystemHeaders ;
96b202f4eSIngo Weinhold
10f7653b1bSOliver Tappe		local sources =
115af32e75SAxel Dörfler			init_term_dyn.c
125af32e75SAxel Dörfler			start_dyn.c
13c154b946SIngo Weinhold			haiku_version_glue.c
145af32e75SAxel Dörfler			;
15ac690cf1SJérôme Duval		MergeObject <$(architecture)>glue_common.o : $(sources) ;
16f7653b1bSOliver Tappe
17*ab39ceb1SAugustin Cavalier		if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
18*ab39ceb1SAugustin Cavalier			MergeObject <$(architecture)>crtbeginS.o : crtbegin.c ;
19*ab39ceb1SAugustin Cavalier			MergeObject <$(architecture)>crtendS.o : crtend.c ;
20*ab39ceb1SAugustin Cavalier			ObjectCcFlags crtbegin.c crtend.c : -DCRT_HAS_INITFINI_ARRAY -DCRT_SHARED ;
21*ab39ceb1SAugustin Cavalier		}
22*ab39ceb1SAugustin Cavalier
23f7653b1bSOliver Tappe		if $(HAIKU_BUILD_TYPE) = bootstrap {
24f7653b1bSOliver Tappe			# build a version for stage0 of the bootstrap process
25ac690cf1SJérôme Duval			BootstrapStage0PlatformObjects [ FGristFiles $(sources) ] : true ;
26b0944c78SIngo Weinhold		}
27b0944c78SIngo Weinhold	}
28f7653b1bSOliver Tappe}
29f7653b1bSOliver Tappe
305af32e75SAxel Dörfler
31b0944c78SIngo Weinholdlocal arch ;
32b0944c78SIngo Weinholdfor arch in $(TARGET_ARCHS) {
33b0944c78SIngo Weinhold	SubInclude HAIKU_TOP src system glue arch $(arch) ;
34b0944c78SIngo Weinhold}
35