Annotation of src/share/mk/bsd.obj.mk, Revision 1.30
1.30 ! tv 1: # $NetBSD: bsd.obj.mk,v 1.29 2001/10/31 01:46:42 tv Exp $
1.17 lukem 2:
3: .if !target(__initialized_obj__)
4: __initialized_obj__:
5: .include <bsd.own.mk>
1.1 mycroft 6:
1.29 tv 7: __curdir:= ${.CURDIR}
8:
1.16 lukem 9: .if ${MKOBJ} == "no"
1.1 mycroft 10: obj:
11: .else
1.24 itohy 12: .if defined(MAKEOBJDIRPREFIX) || defined(MAKEOBJDIR)
1.23 sjg 13: .if defined(MAKEOBJDIRPREFIX)
14: __objdir:= ${MAKEOBJDIRPREFIX}${.CURDIR}
15: .else
16: __objdir:= ${MAKEOBJDIR}
17: .endif
18: # MAKEOBJDIR and MAKEOBJDIRPREFIX are env variables supported
19: # by make(1). We simply mkdir -p the specified path.
20: # If that fails - we do a mkdir to get the appropriate error message
21: # before bailing out.
22: obj:
1.30 ! tv 23: @if [ ! -d ${__objdir} ]; then \
1.23 sjg 24: mkdir -p ${__objdir}; \
1.30 ! tv 25: if [ ! -d ${__objdir} ]; then \
1.23 sjg 26: mkdir ${__objdir}; exit 1; \
27: fi; \
1.29 tv 28: echo "${__curdir} -> ${__objdir}"; \
1.23 sjg 29: fi
30: .else
31: .if defined(OBJMACHINE)
1.3 cgd 32: __objdir= obj.${MACHINE}
33: .else
34: __objdir= obj
35: .endif
36:
37: .if defined(USR_OBJMACHINE)
1.4 cgd 38: __usrobjdir= ${BSDOBJDIR}.${MACHINE}
1.3 cgd 39: __usrobjdirpf=
40: .else
1.4 cgd 41: __usrobjdir= ${BSDOBJDIR}
1.3 cgd 42: .if defined(OBJMACHINE)
43: __usrobjdirpf= .${MACHINE}
44: .else
45: __usrobjdirpf=
46: .endif
47: .endif
48:
1.20 kim 49: PAWD?= /bin/pwd
1.18 kim 50:
1.12 mycroft 51: obj:
1.28 tv 52: @cd ${__curdir}; \
1.30 ! tv 53: here=`${PAWD}`/; subdir=$${here#${BSDSRCDIR}/}; \
! 54: if [ "$$here" != "$$subdir/" ]; then \
! 55: if [ ! -d ${__usrobjdir} ]; then \
1.27 mrg 56: echo "BSDOBJDIR ${__usrobjdir} does not exist, bailing..."; \
57: exit 1; \
58: fi; \
1.30 ! tv 59: subdir=$${subdir%/}; \
! 60: dest=${__usrobjdir}/$$subdir${__usrobjdirpf}; \
! 61: if [ -h $$here${__objdir} ]; then \
! 62: curtarg=`ls -ld $$here${__objdir} | awk '{print $$NF}'` ; \
1.22 sommerfe 63: if [ "$$curtarg" = "$$dest" ]; then \
64: : ; \
65: else \
1.30 ! tv 66: echo "$$here""${__objdir} -> $$dest"; \
1.22 sommerfe 67: rm -rf ${__objdir}; \
68: ln -s $$dest ${__objdir}; \
69: fi; \
70: else \
1.30 ! tv 71: echo "$$here""${__objdir} -> $$dest"; \
1.22 sommerfe 72: rm -rf ${__objdir}; \
73: ln -s $$dest ${__objdir}; \
74: fi; \
1.30 ! tv 75: if [ ! -d $$dest ]; then \
1.1 mycroft 76: mkdir -p $$dest; \
77: else \
78: true; \
79: fi; \
80: else \
81: true ; \
1.30 ! tv 82: dest=$$here${__objdir} ; \
! 83: if [ ! -d ${__objdir} ] || [ -h ${__objdir} ]; then \
1.1 mycroft 84: echo "making $$dest" ; \
1.22 sommerfe 85: rm -f ${__objdir}; \
1.1 mycroft 86: mkdir $$dest; \
87: fi ; \
88: fi;
1.23 sjg 89: .endif
1.1 mycroft 90: .endif
1.14 tv 91:
1.15 tv 92: print-objdir:
1.14 tv 93: @echo ${.OBJDIR}
1.28 tv 94: .endif
CVSweb <webmaster@jp.NetBSD.org>