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