Build libkern in the kernel compilation directory, like libcompat.

This commit is contained in:
christos 1995-06-24 20:31:12 +00:00
parent d0169ce44a
commit fc5a8cffa2
2 changed files with 38 additions and 27 deletions

View File

@ -1,31 +1,28 @@
# $NetBSD: Makefile,v 1.19 1995/02/13 21:48:17 cgd Exp $
# $NetBSD: Makefile,v 1.20 1995/06/24 20:31:12 christos Exp $
LIB= kern
NOPIC=
OBJMACHINE=
CFLAGS= -O3 -I${.CURDIR} -Imachine/.. -I. -I${.CURDIR}/../..
machine-links:
-@rm -f machine && \
ln -s ${.CURDIR}/../../arch/${MACHINE}/include machine
-@rm -f ${MACHINE_ARCH} && \
ln -s ${.CURDIR}/../../arch/${MACHINE_ARCH}/include ${MACHINE_ARCH}
DIR=${KERNREL}/${KERNDIR}
lib${LIB}.a lib${LIB}_p.a:: machine-links
.if exists (${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc)
.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}
.include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc"
.if exists (${DIR}/arch/${MACHINE_ARCH}/Makefile.inc)
.PATH: ${DIR}/arch/${MACHINE_ARCH}
.include "${DIR}/arch/${MACHINE_ARCH}/Makefile.inc"
.endif
LIBC= ${.CURDIR}/../../../lib/libc
LIBC= ${DIR}/../../../lib/libc
.PATH: ${LIBC}/string ${LIBC}/arch/${MACHINE_ARCH}/string
.PATH: ${LIBC}/net ${LIBC}/arch/${MACHINE_ARCH}/net
.PATH: ${LIBC}/gen ${LIBC}/arch/${MACHINE_ARCH}/gen
.PATH: ${LIBC}/stdlib ${LIBC}/arch/${MACHINE_ARCH}/stdlib
.PATH: ${LIBC}/sys ${LIBC}/arch/${MACHINE_ARCH}/sys
.PATH: ${DIR}
AINC+= -I${LIBC}/arch/${MACHINE_ARCH}
CFLAGS+= -I${.CURDIR}/arch/${MACHINE_ARCH}
CC = ${KERNCC}
CFLAGS += -I${DIR}/arch/${MACHINE_ARCH} \
${KERNCFLAGS:S/-D_KERNEL//:S@-I.@-I${KERNREL}/.@g}
.if (${MACHINE_ARCH} != "alpha")
# Quad support
@ -42,8 +39,6 @@ SRCS+= mcount.c
mcount.po: mcount.o
cp mcount.o mcount.po
CLEANFILES+= machine ${MACHINE_ARCH}
install:
.include <bsd.lib.mk>

View File

@ -1,21 +1,37 @@
# $NetBSD: Makefile.inc,v 1.9 1994/12/31 04:26:58 mycroft Exp $
# $NetBSD: Makefile.inc,v 1.10 1995/06/24 20:31:18 christos Exp $
#
# NOTE: $S must correspond to the top of the 'sys' tree
KERNDIR= $S/lib/libkern
KERNLIBDIR!=cd $(KERNDIR); \
printf "xxx:\n\techo \$${.OBJDIR}\n" | $(MAKE) -r -s -f - xxx
KERNDST= lib/kern
KERNREL= ../..
KERNLIB= ${KERNDST}/libkern.a
KERNLIB_PROF= ${KERNDST}/libkern_p.a
KERNLIB= $(KERNLIBDIR)/libkern.a
KERNLIB_PROF= $(KERNLIBDIR)/libkern_p.a
$(KERNLIB): .NOTMAIN __always_make_kernlib
${KERNLIB}: .NOTMAIN __always_make_kernlib
@echo making sure the kern library is up to date...
@(cd $(KERNDIR); $(MAKE) libkern.a)
@(cd ${KERNDST} && ${MAKE} -f ${KERNREL}/${KERNDIR}/Makefile \
KERNCC="${CC}" \
KERNCFLAGS="${CFLAGS}" \
KERNREL="${KERNREL}" \
KERNDIR="${KERNDIR}" libkern.a)
$(KERNLIB_PROF): .NOTMAIN __always_make_kernlib
${KERNLIB_PROF}: .NOTMAIN __always_make_kernlib
@echo making sure the profiled kern library is up to date...
@(cd $(KERNDIR); $(MAKE) libkern_p.a)
@(cd ${KERNDST} && ${MAKE} -f ${KERNREL}/${KERNDIR}/Makefile \
KERNCC="${CC}" \
KERNCFLAGS="${CFLAGS}" \
KERNREL="${KERNREL}" \
KERNDIR="${KERNDIR}" libkern_p.a)
clean:: .NOTMAIN __always_make_kernlib
@echo cleaning the kern library objects
@(cd ${KERNDST} && ${MAKE} -f ${KERNREL}/${KERNDIR}/Makefile \
KERNCC="${CC}" \
KERNCFLAGS="${CFLAGS}" \
KERNREL="${KERNREL}" \
KERNDIR="${KERNDIR}" clean)
__always_make_kernlib: .NOTMAIN
@([ -d ${KERNDST} ] || mkdir -p ${KERNDST})