[BACK]Return to bsd.obj.mk CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / share / mk

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>