1#	$NetBSD: Makefile.inc,v 1.1 2011/07/02 13:43:05 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	addmul_1.c \
74	neg.c \
75	gcdext_lehmer.c \
76	divis.c \
77	dcpi1_div_q.c \
78	mul_1.c \
79	subcnd_n.c \
80	toom_eval_pm2.c \
81	hgcd2.c \
82	toom62_mul.c \
83	sbpi1_bdiv_qr.c \
84	scan1.c \
85	pre_divrem_1.c \
86	perfpow.c \
87	get_str.c \
88	mullo_basecase.c \
89	mulmod_bnm1.c \
90	tdiv_qr.c \
91	toom43_mul.c \
92	mod_1_1.c \
93	matrix22_mul.c \
94	powm_sec.c \
95	divrem.c \
96	gcd_1.c \
97	dcpi1_bdiv_qr.c \
98	mul_n.c \
99	redc_2.c \
100	submul_1.c \
101	toom6h_mul.c \
102	mul_fft.c \
103	sqrmod_bnm1.c \
104	powm.c \
105	rootrem.c \
106	mode1o.c \
107	toom_interpolate_8pts.c \
108	remove.c \
109	lshiftc.c \
110	dive_1.c \
111	cmp.c \
112	toom_eval_pm1.c \
113	scan0.c \
114	gcd_subdiv_step.c \
115	sbpi1_div_qr.c \
116	invert.c \
117	sub.c \
118	toom_eval_pm2rexp.c \
119	dcpi1_bdiv_q.c \
120	redc_1.c \
121	sqr.c \
122	nussbaumer_mul.c \
123	mu_bdiv_qr.c \
124	pow_1.c \
125	gcd_lehmer.c \
126	get_d.c \
127	toom52_mul.c \
128	sbpi1_div_q.c \
129	diveby3.c \
130	fib2_ui.c \
131	bdiv_qr.c \
132	toom3_sqr.c \
133	gcd.c \
134	redc_n.c \
135
136C_SRCS_LIST= \
137	xor_n.c			mpn/generic/logops_n.c \
138	nand_n.c		mpn/generic/logops_n.c \
139	nior_n.c		mpn/generic/logops_n.c \
140	hamdist.c		mpn/generic/popham.c \
141	popcount.c		mpn/generic/popham.c \
142	and_n.c			mpn/generic/logops_n.c \
143	ior_n.c			mpn/generic/logops_n.c \
144	xnor_n.c		mpn/generic/logops_n.c \
145	iorn_n.c		mpn/generic/logops_n.c \
146	andn_n.c		mpn/generic/logops_n.c \
147
148ASM_SRCS_LIST= \
149	add_n.asm		mpn/m68k/aors_n.asm \
150	lshift.asm		mpn/m68k/lshift.asm \
151	rshift.asm		mpn/m68k/rshift.asm \
152	sub_n.asm		mpn/m68k/aors_n.asm \
153
154gen-trialdivtab: gen-trialdivtab.c
155	${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm
156
157GMP_LIMB_BITS=32
158
159trialdiv.c: trialdivtab.h
160trialdivtab.h: gen-trialdivtab
161	${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h
162
163CLEANFILES+=	trialdivtab.h
164
165# XXX stuff looks for "../config.m4"
166dummy:
167	mkdir dummy
168${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4
169	cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET}
170
171.for _build _src in ${ASM_SRCS_LIST}
172${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4
173	${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET}
174
175SRCS+=		${_build:R}.s
176CLEANFILES+=	${_build:R}.s
177
178.endfor
179
180.for _build _src in ${C_SRCS_LIST}
181mpn_${_build}: Makefile
182	echo '#include "${_src}"' > ${.TARGET}
183
184CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R}
185
186SRCS+=		mpn_${_build}
187CLEANFILES+=	mpn_${_build}
188.endfor
189