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