NetBSD/sys/lib/libkern/Makefile
kleink 31930d4de5 Provide BCD<->binary conversion in libkern and turn <dev/clock_subr.h>'s
FROMBCD()/TOBCD() macros into wrappers around it, resulting in both
smaller code footprint and elimination of possible issues due to
multiple evaluation of macro arguments.

Suggested by Simon Burge and Anders Gavare on tech-kern.
2006-03-11 15:40:07 +00:00

95 lines
2.3 KiB
Makefile

# $NetBSD: Makefile,v 1.78 2006/03/11 15:40:07 kleink Exp $
LIB= kern
NOPIC= # defined
LLIBS= # defined
.include <bsd.own.mk>
.if defined(LIBKERN_ARCH) && !empty(LIBKERN_ARCH) && \
exists(${KERNDIR}/arch/${LIBKERN_ARCH})
ARCHSUBDIR= ${LIBKERN_ARCH}
.elif defined(MACHINE_ARCH) && !empty(MACHINE_ARCH) && \
exists(${KERNDIR}/arch/${MACHINE_ARCH})
ARCHSUBDIR= ${MACHINE_ARCH}
.elif defined(MACHINE_CPU) && !empty(MACHINE_CPU) && \
exists(${KERNDIR}/arch/${MACHINE_CPU})
ARCHSUBDIR= ${MACHINE_CPU}
.else
.BEGIN:
@echo no ARCHSUBDIR for ${MACHINE_ARCH} nor ${MACHINE_CPU}
@false
.endif
M= ${KERNDIR}/arch/${ARCHSUBDIR}
CPPFLAGS= -I$M ${KERNCPPFLAGS} ${KERNMISCCPPFLAGS}
.include "${.PARSEDIR}/../../../common/lib/libc/Makefile.inc"
.PATH.c: ${KERNDIR}
.if exists ($M/Makefile.inc)
.PATH.c: $M
.PATH.S: $M
.include "$M/Makefile.inc"
.endif
.if (${MACHINE_ARCH} != "alpha")
# Quad support
SRCS+= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c iordi3.c \
lshldi3.c lshrdi3.c moddi3.c muldi3.c negdi2.c notdi2.c qdivrem.c \
subdi3.c ucmpdi2.c udivdi3.c umoddi3.c xordi3.c
.endif
# Other stuff
SRCS+= __cmsg_alignbytes.c inet_addr.c intoa.c md4c.c md5c.c sha1.c pmatch.c
SRCS+= _que.c arc4random.c bcd.c mcount.c
SRCS+= strstr.c strlcpy.c strlcat.c
SRCS+= xlat_mbr_fstype.c
# Files to clean up
CLEANFILES+= lib${LIB}.o lib${LIB}.po
# XXX these stub builds should be cleaned up even further.
# if no machine specific memcpy(3), build one out of bcopy(3) based stub.
.if empty(SRCS:Mmemcpy.S)
SRCS+= memcpy.c
.endif
# if no machine specific memmove(3), build one out of bcopy(3) based stub.
.if empty(SRCS:Mmemmove.S)
SRCS+= memmove.c
.endif
# if no machine specific strchr(3), build one out of index(3) based stub.
.if empty(SRCS:Mstrchr.S)
SRCS+= strchr.c
.endif
# if no machine specific strrchr(3), build one out of rindex(3) based stub.
.if empty(SRCS:Mstrrchr.S)
SRCS+= strrchr.c
.endif
# only needed during build
libinstall::
.undef DESTDIR
.include <bsd.lib.mk>
lib${LIB}.o:: ${OBJS}
@echo building standard ${LIB} library
@rm -f lib${LIB}.o
@${LD} -r -o lib${LIB}.o `NM=${NM} ${LORDER} ${OBJS} | ${TSORT}`
lib${LIB}.po:: ${POBJS}
@echo building profiled ${LIB} library
@rm -f lib${LIB}.po
@${LD} -r -o lib${LIB}.po `NM=${NM} ${LORDER} ${POBJS} | ${TSORT}`
showsources: ${SRCS}
@echo ${.ALLSRC}