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