Home | History | Annotate | Line # | Download | only in mk
      1 #	$NetBSD: bsd.klinks.mk,v 1.15 2020/04/25 15:46:59 bouyer Exp $
      2 #
      3 
      4 .include <bsd.own.mk>
      5 
      6 KLINK_MACHINE?=	${MACHINE}
      7 
      8 ##### Default values
      9 .if !defined(S)
     10 .   if defined(NETBSDSRCDIR)
     11 S=	${NETBSDSRCDIR}/sys
     12 .   elif defined(BSDSRCDIR)
     13 S=	${BSDSRCDIR}/sys
     14 .   else
     15 S=	/sys
     16 .   endif
     17 .endif
     18 
     19 KLINKFILES+=	${MACHINE_CPU} ${KLINK_MACHINE}
     20 
     21 .if ${KLINK_MACHINE} == "sun2" || ${KLINK_MACHINE} == "sun3"
     22 KLINKFILES+=	sun68k
     23 .elif ${KLINK_MACHINE} == "sparc64"
     24 KLINKFILES+=	sparc
     25 .elif ${KLINK_MACHINE} == "i386"
     26 KLINKFILES+=	x86 xen
     27 .elif ${KLINK_MACHINE} == "amd64"
     28 KLINKFILES+=	x86 i386 xen
     29 .elif ${KLINK_MACHINE} == "evbmips"
     30 KLINKFILES+=	algor sbmips
     31 .elif ${MACHINE_CPU} == "aarch64"
     32 KLINKFILES+=	arm
     33 .elif defined(XEN_BUILD) || ${KLINK_MACHINE} == "xen"
     34 KLINKFILES+=	xen
     35 CLEANFILES+=	xen-ma/machine # xen-ma
     36 CPPFLAGS+=	-I${.OBJDIR}/xen-ma
     37 .endif
     38 
     39 CLEANFILES+= machine ${KLINKFILES}
     40 
     41 # XXX.  This should be done a better way.  It's @'d to reduce visual spew.
     42 # XXX   .BEGIN is used to make sure the links are done before anything else.
     43 .if !make(obj) && !make(clean) && !make(cleandir)
     44 .BEGIN:
     45 	-@rm -f machine && \
     46 	    ln -s $S/arch/${KLINK_MACHINE}/include machine
     47 .   for kl in ${KLINKFILES}
     48 	-@if [ -d $S/arch/${kl}/include ]; then \
     49 	    rm -f ${kl} && ln -s $S/arch/${kl}/include ${kl}; \
     50 	fi
     51 .   endfor
     52 .   if defined(XEN_BUILD) || ${KLINK_MACHINE} == "xen"
     53 	-@rm -rf xen-ma && mkdir xen-ma && \
     54 	    ln -s ../${XEN_BUILD:U${MACHINE_ARCH}} xen-ma/machine
     55 .   endif
     56 .endif
     57