bsd.obj.mk revision 1.22
1# $NetBSD: bsd.obj.mk,v 1.22 1999/12/04 02:44:07 sommerfeld Exp $ 2 3.if !target(__initialized_obj__) 4__initialized_obj__: 5.include <bsd.own.mk> 6.endif 7 8.if ${MKOBJ} == "no" 9obj: 10.else 11 12.if defined(MAKEOBJDIR) 13__objdir= ${MAKEOBJDIR} 14.elif defined(OBJMACHINE) 15__objdir= obj.${MACHINE} 16.else 17__objdir= obj 18.endif 19 20.if defined(USR_OBJMACHINE) 21__usrobjdir= ${BSDOBJDIR}.${MACHINE} 22__usrobjdirpf= 23.else 24__usrobjdir= ${BSDOBJDIR} 25.if defined(OBJMACHINE) 26__usrobjdirpf= .${MACHINE} 27.else 28__usrobjdirpf= 29.endif 30.endif 31 32PAWD?= /bin/pwd 33 34obj: 35 @cd ${.CURDIR}; \ 36 here=`${PAWD}`; subdir=$${here#${BSDSRCDIR}/}; \ 37 if test $$here != $$subdir ; then \ 38 dest=${__usrobjdir}/$$subdir${__usrobjdirpf} ; \ 39 if [ -L $$here/${__objdir} ]; then \ 40 curtarg=`ls -ld $$here/${__objdir} | awk '{print $$NF}'` ; \ 41 if [ "$$curtarg" = "$$dest" ]; then \ 42 : ; \ 43 else \ 44 echo "$$here/${__objdir} -> $$dest"; \ 45 rm -rf ${__objdir}; \ 46 ln -s $$dest ${__objdir}; \ 47 fi; \ 48 else \ 49 echo "$$here/${__objdir} -> $$dest"; \ 50 rm -rf ${__objdir}; \ 51 ln -s $$dest ${__objdir}; \ 52 fi; \ 53 if test -d ${__usrobjdir} -a ! -d $$dest; then \ 54 mkdir -p $$dest; \ 55 else \ 56 true; \ 57 fi; \ 58 else \ 59 true ; \ 60 dest=$$here/${__objdir} ; \ 61 if test ! -d ${__objdir} || test -L ${__objdir}; then \ 62 echo "making $$dest" ; \ 63 rm -f ${__objdir}; \ 64 mkdir $$dest; \ 65 fi ; \ 66 fi; 67.endif 68 69print-objdir: 70 @echo ${.OBJDIR} 71