xref: /haiku/src/system/libroot/posix/glibc/arch/m68k/Jamfile (revision b0944c78b074a8110bd98e060415d0e8f38a7f65)
1cc9ad8e8SFrançois RevolSubDir HAIKU_TOP src system libroot posix glibc arch m68k ;
2cc9ad8e8SFrançois Revol
3*b0944c78SIngo WeinholdSubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc arch m68k ;
4cc9ad8e8SFrançois RevolSubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch
5cc9ad8e8SFrançois Revol	$(TARGET_ARCH) ;
6cc9ad8e8SFrançois RevolSubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include arch generic ;
7cc9ad8e8SFrançois RevolSubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc include ;
8cc9ad8e8SFrançois RevolSubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc stdlib ;
9cc9ad8e8SFrançois RevolSubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc math ;
10cc9ad8e8SFrançois RevolSubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc libio ;
11cc9ad8e8SFrançois RevolSubDirSysHdrs $(HAIKU_TOP) src system libroot posix glibc ;
12cc9ad8e8SFrançois Revol
13cc9ad8e8SFrançois RevolSubDirHdrs $(HAIKU_TOP) src system libroot posix glibc arch generic ;
14cc9ad8e8SFrançois Revol
15ae901935SOliver TappeUsePrivateHeaders libroot ;
16ae901935SOliver Tappe
17cc9ad8e8SFrançois Revol
18cc9ad8e8SFrançois Revolif $(OPTIM) = -O0 {
19cc9ad8e8SFrançois Revol	OPTIM = -O ;
20cc9ad8e8SFrançois Revol}
21cc9ad8e8SFrançois Revol
22cc9ad8e8SFrançois Revol# don't compile with debugging
23cc9ad8e8SFrançois RevolDEBUG = 0 ;
24cc9ad8e8SFrançois Revol
25cc9ad8e8SFrançois RevolSubDirCcFlags -D_GNU_SOURCE -D_IEEE_LIBM ;
26dd68e9e8SFrançois RevolSubDirAsFlags -DMOTOROLA_SYNTAX ;
27cc9ad8e8SFrançois Revol
28cc9ad8e8SFrançois Revol# Note: There is no *l() support yet. Our compiler says sizeof(long double) = 8,
29cc9ad8e8SFrançois Revol# while there are only 96 and 128 bit implementation in glibc.
30cc9ad8e8SFrançois Revollocal genericSources =
31cc9ad8e8SFrançois Revol	branred.c
32cc9ad8e8SFrançois Revol	cmp.c dbl2mpn.c divrem.c
33850456edSJérôme Duval	dosincos.c
34cc9ad8e8SFrançois Revol	halfulp.c
35e65c298cSFrançois Revol	memrchr.c
36cc9ad8e8SFrançois Revol	mpa.c mpatan.c mpatan2.c mpexp.c mplog.c mpn2dbl.c
37cc9ad8e8SFrançois Revol	mpn2flt.c mpn2ldbl.c mpsqrt.c mptan.c
38cc9ad8e8SFrançois Revol	mul.c mul_n.c
39cc9ad8e8SFrançois Revol	sincos32.c
40cc9ad8e8SFrançois Revol	slowexp.c
41cc9ad8e8SFrançois Revol	slowpow.c
42cc9ad8e8SFrançois Revol
43cc9ad8e8SFrançois Revol	e_acosh.c e_acoshf.c # e_acoshl.c
44cc9ad8e8SFrançois Revol	e_atan2.c e_atan2f.c # e_atan2l.c
45cc9ad8e8SFrançois Revol	e_atanh.c e_atanhf.c # e_atanhl.c
46cc9ad8e8SFrançois Revol	e_cosh.c e_coshf.c # e_coshl.c
47cc9ad8e8SFrançois Revol	e_exp.c e_expf.c
48cc9ad8e8SFrançois Revol	e_fmod.c e_fmodf.c # e_fmodl.c
49cc9ad8e8SFrançois Revol	e_gamma_r.c e_gammaf_r.c
50cc9ad8e8SFrançois Revol	e_hypot.c e_hypotf.c # e_hypotl.c
51cc9ad8e8SFrançois Revol	e_j0.c e_j0f.c
52cc9ad8e8SFrançois Revol	e_j1.c e_j1f.c
53cc9ad8e8SFrançois Revol	e_jn.c e_jnf.c
54cc9ad8e8SFrançois Revol	e_lgamma_r.c e_lgammaf_r.c
55cc9ad8e8SFrançois Revol	e_log.c e_logf.c
56cc9ad8e8SFrançois Revol	e_log10.c e_log10f.c
57cc9ad8e8SFrançois Revol	e_pow.c e_powf.c # e_powl.c
58cc9ad8e8SFrançois Revol	e_rem_pio2f.c
59cc9ad8e8SFrançois Revol	e_remainder.c e_remainderf.c # e_remainderl.c
60cc9ad8e8SFrançois Revol	e_scalb.c e_scalbf.c # e_scalbl.c
61cc9ad8e8SFrançois Revol	e_sinh.c e_sinhf.c # e_sinhl.c
62cc9ad8e8SFrançois Revol	k_cos.c k_cosf.c
63cc9ad8e8SFrançois Revol	k_sin.c k_sinf.c
64cc9ad8e8SFrançois Revol	k_rem_pio2.c k_rem_pio2f.c # k_rem_pio2l.c
65cc9ad8e8SFrançois Revol	k_tan.c k_tanf.c
66cc9ad8e8SFrançois Revol	s_asinh.c s_asinhf.c # s_asinhl.c
67cc9ad8e8SFrançois Revol	s_atan.c s_atanf.c # s_atanl.c
68cc9ad8e8SFrançois Revol	s_cbrt.c s_cbrtf.c # s_cbrtl.c
69cc9ad8e8SFrançois Revol	s_ceil.c s_ceilf.c # s_ceill.c
70850456edSJérôme Duval	s_copysign.c s_copysignf.c # s_copysignl.c
71cc9ad8e8SFrançois Revol	s_cos.c s_cosf.c
72cc9ad8e8SFrançois Revol	s_erf.c s_erff.c # s_erfl.c
73cc9ad8e8SFrançois Revol	s_expm1f.c s_expm1.c
74ee679412SFrançois Revol	s_fabs.c s_fabsf.c # s_fabsl.S
75cc9ad8e8SFrançois Revol	s_finite.c s_finitef.c # s_finitel.c
76cc9ad8e8SFrançois Revol	s_floor.c s_floorf.c # s_floorl.c
77d0c19517SJérôme Duval	s_fma.c s_fmaf.c # s_fmal.c
78d0c19517SJérôme Duval	s_fmax.c s_fmaxf.c # s_fmaxl.c
79d0c19517SJérôme Duval	s_fmin.c s_fminf.c # s_fminl.c
80cc9ad8e8SFrançois Revol	s_fpclassify.c s_fpclassifyf.c # s_fpclassifyl.c
81cc9ad8e8SFrançois Revol	s_frexp.c s_frexpf.c # s_frexpl.c
82cc9ad8e8SFrançois Revol	s_ilogb.c s_ilogbf.c
83cc9ad8e8SFrançois Revol	s_isinf.c s_isinff.c # s_isinfl.c
84cc9ad8e8SFrançois Revol	s_ldexp.c s_ldexpf.c # s_ldexpl.c
8559d67522SJérôme Duval	s_llrint.c s_llrintf.c # s_llrintl.c
86cc9ad8e8SFrançois Revol	s_log1p.c s_log1pf.c
87cc9ad8e8SFrançois Revol	s_logb.c s_logbf.c # s_logbl.c
8859d67522SJérôme Duval	s_lrint.c s_lrintf.c # s_lrintl.c
89cc9ad8e8SFrançois Revol	s_lround.c s_lroundf.c
90cc9ad8e8SFrançois Revol	s_modf.c s_modff.c # s_modfl.c
91cc9ad8e8SFrançois Revol	s_nan.c s_nanf.c # s_nanl.c
92bb971482SJérôme Duval	s_nextafter.c s_nextafterf.c # s_nextafterl.c
93ab2b993dSJérôme Duval	s_nexttoward.c # s_nexttowardf.c s_nexttowardl.c
94cc9ad8e8SFrançois Revol	s_round.c s_roundf.c # s_roundl.c
95cc9ad8e8SFrançois Revol	s_scalbn.c s_scalbnf.c # s_scalbnl.c
96cc9ad8e8SFrançois Revol	s_signbit.c s_signbitf.c # s_signbitl.c
97cc9ad8e8SFrançois Revol	s_significand.c s_significandf.c
98cc9ad8e8SFrançois Revol	s_signgam.c
99cc9ad8e8SFrançois Revol	s_sin.c s_sinf.c # s_sinl.c
100cc9ad8e8SFrançois Revol	s_sincos.c s_sincosf.c
101cc9ad8e8SFrançois Revol	s_tan.c s_tanf.c
102cc9ad8e8SFrançois Revol	s_tanh.c s_tanhf.c
103cc9ad8e8SFrançois Revol	s_trunc.c s_truncf.c
104cc9ad8e8SFrançois Revol	t_exp.c
105cc9ad8e8SFrançois Revol	w_acos.c w_acosf.c # w_acosl.c
106cc9ad8e8SFrançois Revol	w_acosh.c w_acoshf.c # w_acoshl.c
107cc9ad8e8SFrançois Revol	w_atan2.c w_atan2f.c # w_atan2l.c
108cc9ad8e8SFrançois Revol	w_asin.c w_asinf.c # w_asinl.c
109cc9ad8e8SFrançois Revol	w_atanh.c w_atanhf.c # w_atanhl.c
110cc9ad8e8SFrançois Revol	w_cosh.c w_coshf.c # w_coshl.c
111cc9ad8e8SFrançois Revol	w_drem.c w_dremf.c # w_dreml.c
112cc9ad8e8SFrançois Revol	w_exp.c w_expf.c # w_expl.c
113cc9ad8e8SFrançois Revol	w_fmod.c w_fmodf.c # w_fmodl.c
114cc9ad8e8SFrançois Revol	w_hypot.c w_hypotf.c # w_hypotl.c
115cc9ad8e8SFrançois Revol	w_j0.c w_j0f.c
116cc9ad8e8SFrançois Revol	w_j1.c w_j1f.c
117cc9ad8e8SFrançois Revol	w_jn.c w_jnf.c
118cc9ad8e8SFrançois Revol	w_lgamma.c w_lgammaf.c
119cc9ad8e8SFrançois Revol	w_lgamma_r.c w_lgammaf_r.c
120cc9ad8e8SFrançois Revol	w_log.c w_logf.c # w_logl.c
121cc9ad8e8SFrançois Revol	w_log10.c w_log10f.c # w_log10l.c
122cc9ad8e8SFrançois Revol	w_pow.c w_powf.c # w_powl.c
123cc9ad8e8SFrançois Revol	w_remainder.c w_remainderf.c # w_remainderl.c
124cc9ad8e8SFrançois Revol	w_scalb.c w_scalbf.c # w_scalbl.c
125cc9ad8e8SFrançois Revol	w_sinh.c w_sinhf.c # w_sinhl.c
126dd68e9e8SFrançois Revol	# no asm for m68k in glibc
127dd68e9e8SFrançois Revol	strlen.c
128dd68e9e8SFrançois Revol	w_sqrt.c w_sqrtf.c # w_sqrtl.c
129cc9ad8e8SFrançois Revol	;
130cc9ad8e8SFrançois Revol
131*b0944c78SIngo Weinholdlocal architectureObject ;
132*b0944c78SIngo Weinholdfor architectureObject in [ MultiArchSubDirSetup m68k ] {
133*b0944c78SIngo Weinhold	on $(architectureObject) {
134*b0944c78SIngo Weinhold		local architecture = $(TARGET_PACKAGING_ARCH) ;
135*b0944c78SIngo Weinhold
136*b0944c78SIngo Weinhold		MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o :
137cc9ad8e8SFrançois Revol			$(genericSources)
138cc9ad8e8SFrançois Revol			;
139cc9ad8e8SFrançois Revol
140*b0944c78SIngo Weinhold		MergeObject <$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o :
141cc9ad8e8SFrançois Revol
142dd68e9e8SFrançois Revol			add_n.S
143dd68e9e8SFrançois Revol			addmul_1.S
144850456edSJérôme Duval			doasin.c
145cc9ad8e8SFrançois Revol			feholdexcpt.c fraiseexcpt.c fesetenv.c fesetround.c ftestexcept.c
146cc9ad8e8SFrançois Revol#			ldbl2mpn.c
147dd68e9e8SFrançois Revol			lshift.S rshift.S
148dd68e9e8SFrançois Revol			mul_1.S
149cc9ad8e8SFrançois Revol#			strlen.S
150dd68e9e8SFrançois Revol			sub_n.S
151dd68e9e8SFrançois Revol			submul_1.S
152850456edSJérôme Duval
153850456edSJérôme Duval			e_acos.c e_acosf.c # e_acosl.c
154850456edSJérôme Duval			e_asin.c e_asinf.c # e_asinl.c
155850456edSJérôme Duval			e_sqrt.c e_sqrtf.c # e_sqrtl.c
156cc9ad8e8SFrançois Revol#			s_fdim.c s_fdimf.c # s_fdiml.S
157cc9ad8e8SFrançois Revol#			s_fabs.S s_fabsf.S # s_fabsl.S
15804e088c3SJérôme Duval			# s_fpclassifyl.c
159cc9ad8e8SFrançois Revol#			s_isnan.c s_isnanf.S
160bb971482SJérôme Duval			s_nearbyint.c s_nearbyintf.c # s_nearbyintl.c
161bb971482SJérôme Duval			s_remquo.c s_remquof.c # s_remquol.c
162d8fe1829SFrançois Revol			s_rint.c s_rintf.c # s_rintl.c
163bb971482SJérôme Duval			s_scalbln.c s_scalblnf.c # s_scalblnl.c
164cc9ad8e8SFrançois Revol#			t_sqrt.c
165cc9ad8e8SFrançois Revol#			w_sqrt.c w_sqrtf.c # w_sqrtl.c
166cc9ad8e8SFrançois Revol			;
167cc9ad8e8SFrançois Revol
168*b0944c78SIngo Weinhold		MergeObjectFromObjects <$(architecture)>posix_gnu_arch_$(TARGET_ARCH).o
169*b0944c78SIngo Weinhold			: :
170*b0944c78SIngo Weinhold			<$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_generic.o
171*b0944c78SIngo Weinhold			<$(architecture)>posix_gnu_arch_$(TARGET_ARCH)_other.o
172cc9ad8e8SFrançois Revol			;
173cc9ad8e8SFrançois Revol
174cc9ad8e8SFrançois Revol		SEARCH on [ FGristFiles $(genericSources) ]
175*b0944c78SIngo Weinhold			= [ FDirName $(HAIKU_TOP) src system libroot posix glibc arch
176*b0944c78SIngo Weinhold				generic ] ;
177*b0944c78SIngo Weinhold	}
178*b0944c78SIngo Weinhold}
179