xref: /netbsd/lib/libc/arch/sparc64/Makefile.inc (revision bf9ec67e)
1#	$NetBSD: Makefile.inc,v 1.5 2002/05/22 10:20:20 bjh21 Exp $
2
3KMINCLUDES= arch/sparc64/SYS.h
4KMSRCS=	bzero.S ffs.S strlen.S htonl.S htons.S \
5	ntohl.S ntohs.S divrem.m4 \
6	_setjmp.S mul.S saveregs.S setjmp.S umul.S
7
8# Some assembler files use v9a extensions.
9AFLAGS+= -Wa,-Av9a
10
11# `source' files built from m4 source
12# the name `div.o' is taken for the ANSI C `div' function, hence sdiv here
13SRCS+=	rem.S sdiv.S udiv.S urem.S
14CLEANFILES+=rem.S sdiv.S udiv.S urem.S
15
16sdiv.S: ${.CURDIR}/arch/sparc64/gen/divrem.m4
17	@echo 'building ${.TARGET} from ${.ALLSRC}'
18	@(echo "define(NAME,\`.div')define(OP,\`div')define(S,\`true')"; \
19	 cat ${.ALLSRC}) | m4 > ${.TARGET}
20	@chmod 444 ${.TARGET}
21
22udiv.S: ${.CURDIR}/arch/sparc64/gen/divrem.m4
23	@echo 'building ${.TARGET} from ${.ALLSRC}'
24	@(echo "define(NAME,\`.udiv')define(OP,\`div')define(S,\`false')"; \
25	 cat ${.ALLSRC}) | m4 > ${.TARGET}
26	@chmod 444 ${.TARGET}
27
28rem.S: ${.CURDIR}/arch/sparc64/gen/divrem.m4
29	@echo 'building ${.TARGET} from ${.ALLSRC}'
30	@(echo "define(NAME,\`.rem')define(OP,\`rem')define(S,\`true')"; \
31	 cat ${.ALLSRC}) | m4 > ${.TARGET}
32	@chmod 444 ${.TARGET}
33
34urem.S: ${.CURDIR}/arch/sparc64/gen/divrem.m4
35	@echo 'building ${.TARGET} from ${.ALLSRC}'
36	@(echo "define(NAME,\`.urem')define(OP,\`rem')define(S,\`false')"; \
37	 cat ${.ALLSRC}) | m4 > ${.TARGET}
38	@chmod 444 ${.TARGET}
39
40.PATH: ${ARCHDIR}/softfloat
41SRCS+= qp.c
42CPPFLAGS+=	-DSOFTFLOATSPARC64_FOR_GCC
43.if ${MKSOFTFLOAT} != "no"
44.include <softfloat/Makefile.inc>
45.else
46#
47# Can't directly use softfloat.c due to .PATH issues with the other source
48# in softfloat. Just provide a wrapper which pulls it in via a #include
49SRCS+= softfloat-wrapper.c
50CPPFLAGS+=      -I${ARCHDIR}/softfloat -I${.CURDIR}/softfloat \
51		-I${.CURDIR}/softfloat/bits64
52.endif
53