1#	$NetBSD: Makefile.inc,v 1.2 2011/07/02 14:04:14 mrg Exp $
2
3SRCS+= \
4	random.c \
5	divrem_2.c \
6	toom_interpolate_7pts.c \
7	sbpi1_divappr_q.c \
8	random2.c \
9	mu_bdiv_q.c \
10	toom32_mul.c \
11	toom44_mul.c \
12	toom8h_mul.c \
13	toom2_sqr.c \
14	zero.c \
15	mod_1_4.c \
16	gcdext.c \
17	binvert.c \
18	mu_div_q.c \
19	invertappr.c \
20	dump.c \
21	mu_divappr_q.c \
22	dcpi1_div_qr.c \
23	redc_1_sec.c \
24	toom6_sqr.c \
25	divrem_1.c \
26	mod_1.c \
27	divexact.c \
28	powlo.c \
29	mul.c \
30	set_str.c \
31	toom42_mul.c \
32	toom_interpolate_6pts.c \
33	dcpi1_divappr_q.c \
34	copyd.c \
35	toom_eval_dgr3_pm2.c \
36	mod_1_3.c \
37	com.c \
38	copyi.c \
39	toom_couple_handling.c \
40	add.c \
41	toom_interpolate_12pts.c \
42	perfsqr.c \
43	toom53_mul.c \
44	toom_eval_pm2exp.c \
45	mu_div_qr.c \
46	toom_interpolate_16pts.c \
47	mod_34lsub1.c \
48	bdiv_q.c \
49	toom22_mul.c \
50	toom4_sqr.c \
51	div_q.c \
52	jacbase.c \
53	gcdext_subdiv_step.c \
54	mullo_n.c \
55	toom33_mul.c \
56	toom_eval_dgr3_pm1.c \
57	mod_1_2.c \
58	sub_1.c \
59	trialdiv.c \
60	add_1.c \
61	sqr_basecase.c \
62	toom_interpolate_5pts.c \
63	sbpi1_bdiv_q.c \
64	pre_mod_1.c \
65	hgcd.c \
66	bdiv_dbm1c.c \
67	sqrtrem.c \
68	bdiv_q_1.c \
69	gcdext_1.c \
70	toom63_mul.c \
71	mul_basecase.c \
72	toom8_sqr.c \
73	neg.c \
74	udiv_w_sdiv.c \
75	gcdext_lehmer.c \
76	divis.c \
77	dcpi1_div_q.c \
78	subcnd_n.c \
79	toom_eval_pm2.c \
80	hgcd2.c \
81	toom62_mul.c \
82	sbpi1_bdiv_qr.c \
83	scan1.c \
84	pre_divrem_1.c \
85	perfpow.c \
86	get_str.c \
87	mullo_basecase.c \
88	mulmod_bnm1.c \
89	tdiv_qr.c \
90	toom43_mul.c \
91	mod_1_1.c \
92	matrix22_mul.c \
93	powm_sec.c \
94	divrem.c \
95	gcd_1.c \
96	dcpi1_bdiv_qr.c \
97	mul_n.c \
98	redc_2.c \
99	toom6h_mul.c \
100	mul_fft.c \
101	sqrmod_bnm1.c \
102	powm.c \
103	rootrem.c \
104	mode1o.c \
105	toom_interpolate_8pts.c \
106	remove.c \
107	lshiftc.c \
108	dive_1.c \
109	cmp.c \
110	toom_eval_pm1.c \
111	scan0.c \
112	gcd_subdiv_step.c \
113	sbpi1_div_qr.c \
114	invert.c \
115	sub.c \
116	toom_eval_pm2rexp.c \
117	dcpi1_bdiv_q.c \
118	redc_1.c \
119	sqr.c \
120	nussbaumer_mul.c \
121	mu_bdiv_qr.c \
122	pow_1.c \
123	gcd_lehmer.c \
124	get_d.c \
125	toom52_mul.c \
126	sbpi1_div_q.c \
127	diveby3.c \
128	fib2_ui.c \
129	bdiv_qr.c \
130	toom3_sqr.c \
131	gcd.c \
132	redc_n.c \
133
134C_SRCS_LIST= \
135	xor_n.c		mpn/generic/logops_n.c \
136	nand_n.c	mpn/generic/logops_n.c \
137	nior_n.c	mpn/generic/logops_n.c \
138	hamdist.c	mpn/generic/popham.c \
139	popcount.c	mpn/generic/popham.c \
140	and_n.c		mpn/generic/logops_n.c \
141	ior_n.c		mpn/generic/logops_n.c \
142	xnor_n.c	mpn/generic/logops_n.c \
143	iorn_n.c	mpn/generic/logops_n.c \
144	andn_n.c	mpn/generic/logops_n.c \
145
146ASM_SRCS_LIST= \
147	submul_1.s	mpn/vax/submul_1.s \
148	addmul_1.s	mpn/vax/addmul_1.s \
149	lshift.s	mpn/vax/lshift.s \
150	mul_1.s		mpn/vax/mul_1.s \
151	sub_n.s		mpn/vax/sub_n.s \
152	add_n.s		mpn/vax/add_n.s \
153	rshift.s	mpn/vax/rshift.s \
154
155# XXX can't build these asm sources yet
156ASM_SRCS_LIST=
157
158C_SRCS_LIST+= \
159	add_n.c		mpn/generic/add_n.c \
160	addmul_1.c	mpn/generic/addmul_1.c \
161	lshift.c	mpn/generic/lshift.c \
162	mul_1.c		mpn/generic/mul_1.c \
163	rshift.c	mpn/generic/rshift.c \
164	sub_n.c		mpn/generic/sub_n.c \
165	submul_1.c	mpn/generic/submul_1.c \
166
167gen-trialdivtab: gen-trialdivtab.c
168	${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
169
170GMP_LIMB_BITS=32
171
172DPSRCS+=trialdivtab.h
173trialdivtab.h: gen-trialdivtab
174	${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h
175
176CLEANFILES+=	trialdivtab.h
177
178.for _build _src in ${ASM_SRCS_LIST}
179${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 ${_src}
180	${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET}
181
182SRCS+=		${_build:R}.s
183CLEANFILES+=	${_build:R}.s
184
185.endfor
186
187# XXX stuff looks for "../config.m4"
188dummy:
189	mkdir dummy
190${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4
191	cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET}
192
193.for _build _src in ${C_SRCS_LIST}
194mpn_${_build}: Makefile ${_src}
195	echo '#include "${_src}"' > ${.TARGET}
196
197CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R}
198
199SRCS+=		mpn_${_build}
200CLEANFILES+=	mpn_${_build}
201.endfor
202