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

Annotation of src/share/mk/bsd.obj.mk, Revision 1.19

1.19    ! tb          1: #      $OpenBSD: bsd.obj.mk,v 1.18 2017/01/24 02:56:50 tb Exp $
1.3       deraadt     2: #      $NetBSD: bsd.obj.mk,v 1.9 1996/04/10 21:08:05 thorpej Exp $
1.1       deraadt     3:
                      4: .if !target(obj)
1.12      espie       5: .  if defined(NOOBJ)
1.1       deraadt     6: obj:
1.12      espie       7: .  else
1.1       deraadt     8:
1.12      espie       9: .  if defined(MAKEOBJDIR)
1.14      espie      10: __objdir=      ${MAKEOBJDIR}
1.12      espie      11: .  else
1.14      espie      12: __objdir=      obj
1.12      espie      13: .  endif
                     14:
                     15: _SUBDIRUSE:
1.1       deraadt    16:
1.5       niklas     17: obj! _SUBDIRUSE
1.10      grr        18:        @cd ${.CURDIR}; \
1.16      tb         19:        umask ${WOBJUMASK}; \
                     20:        here=`/bin/pwd`; bsdsrcdir=`cd ${BSDSRCDIR}; /bin/pwd`; \
                     21:        subdir=$${here#$${bsdsrcdir}/}; \
1.15      natano     22:        if [[ `id -u` -eq 0 && ${BUILDUSER} != root ]]; then \
1.16      tb         23:                SETOWNER="chown -h ${BUILDUSER}:${WOBJGROUP}"; \
                     24:                if [[ $$here != $$subdir ]]; then \
                     25:                        _mkdirs() { \
                     26:                                su ${BUILDUSER} -c "mkdir -p $$1"; \
                     27:                        }; \
                     28:                        MKDIRS=_mkdirs; \
                     29:                fi; \
1.17      tb         30:        elif [[ `id` == *'('${WOBJGROUP}')'* && $$here == $$subdir ]]; then \
1.16      tb         31:                SETOWNER="chown :${WOBJGROUP}"; \
1.15      natano     32:        else \
                     33:                SETOWNER=:; \
                     34:        fi; \
1.16      tb         35:        [[ -z $$MKDIRS ]] && MKDIRS="mkdir -p"; \
1.19    ! tb         36:        if [[ $$here != $$subdir ]]; then \
1.14      espie      37:                dest=${BSDOBJDIR}/$$subdir ; \
1.1       deraadt    38:                echo "$$here/${__objdir} -> $$dest"; \
1.19    ! tb         39:                if [[ ! -L ${__objdir} || `readlink ${__objdir}` != $$dest ]]; \
1.6       deraadt    40:                    then \
1.19    ! tb         41:                        [[ -e ${__objdir} ]] && rm -rf ${__objdir}; \
1.11      flipk      42:                        ln -sf $$dest ${__objdir}; \
1.15      natano     43:                        $$SETOWNER ${__objdir}; \
1.6       deraadt    44:                fi; \
1.19    ! tb         45:                if [[ -d ${BSDOBJDIR} ]]; then \
        !            46:                        [[ -d $$dest ]] || $$MKDIRS $$dest; \
1.1       deraadt    47:                else \
1.19    ! tb         48:                        if [[ -e ${BSDOBJDIR} ]]; then \
1.14      espie      49:                                echo "${BSDOBJDIR} is not a directory"; \
1.13      espie      50:                        else \
1.14      espie      51:                                echo "${BSDOBJDIR} does not exist"; \
1.13      espie      52:                        fi; \
1.1       deraadt    53:                fi; \
                     54:        else \
                     55:                dest=$$here/${__objdir} ; \
1.19    ! tb         56:                if [[ ! -d ${__objdir} ]]; then \
1.1       deraadt    57:                        echo "making $$dest" ; \
1.15      natano     58:                        $$MKDIRS $$dest; \
1.16      tb         59:                        $$SETOWNER $$dest; \
1.1       deraadt    60:                fi ; \
                     61:        fi;
1.12      espie      62: .  endif
1.1       deraadt    63: .endif
1.15      natano     64:
                     65: .include <bsd.own.mk>