⛏️ index : haiku.git

SubDir HAIKU_TOP src system libroot posix glibc arch x86_64 ;

SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch x86_64 ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc math ;
SubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;

SubDirHdrs $(HAIKU_TOP) src system libroot posix glibc arch generic ;

UsePrivateHeaders libroot ;

if $(OPTIM) = -O0 {
	OPTIM = -O ;
}

SubDirCcFlags -D_GNU_SOURCE -D_IEEE_LIBM -DPIC ;
SubDirAsFlags -DPIC ;

local genericSources =
	cmp.c dbl2mpn.c divrem.c
	mpn2dbl.c mpn2flt.c mpn2ldbl.c
	mul.c mul_n.c

	s_cacos.c s_cacosf.c s_cacosl.c
	s_cacoshl.c
	s_casin.c s_casinf.c s_casinl.c
	s_casinh.c s_casinhf.c s_casinhl.c
	s_ccoshl.c
	s_cexp.c s_cexpf.c s_cexpl.c
	s_clog.c s_clogf.c s_clogl.c
	s_clog10.c s_clog10f.c s_clog10l.c
	s_cpow.c s_cpowf.c s_cpowl.c
	s_csinhl.c
	s_csqrtl.c
	s_ctanhl.c
	;

local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup x86_64 ] {
	on $(architectureObject) {
		local architecture = $(TARGET_PACKAGING_ARCH) ;

		MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o :
			add_n.S
			addmul_1.S
			ldbl2mpn.c

			mul_1.S
			lshift.S rshift.S
			sub_n.S
			submul_1.S

			$(genericSources)
			;

		SEARCH on [ FGristFiles $(genericSources) ]
			= [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch
				generic ] ;
	}
}