[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.18

1.18    ! tb          1: #      $OpenBSD: bsd.obj.mk,v 1.17 2017/01/21 06:55:52 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.1       deraadt    36:        if test $$here != $$subdir ; then \
1.14      espie      37:                dest=${BSDOBJDIR}/$$subdir ; \
1.1       deraadt    38:                echo "$$here/${__objdir} -> $$dest"; \
1.6       deraadt    39:                if test ! -L ${__objdir} -o \
1.9       kstailey   40:                    X`readlink ${__objdir}` != X$$dest; \
1.6       deraadt    41:                    then \
1.8       niklas     42:                        if test -e ${__objdir}; then rm -rf ${__objdir}; fi; \
1.11      flipk      43:                        ln -sf $$dest ${__objdir}; \
1.15      natano     44:                        $$SETOWNER ${__objdir}; \
1.6       deraadt    45:                fi; \
1.14      espie      46:                if test -d ${BSDOBJDIR}; then \
1.15      natano     47:                        test -d $$dest || $$MKDIRS $$dest; \
1.1       deraadt    48:                else \
1.14      espie      49:                        if test -e ${BSDOBJDIR}; then \
                     50:                                echo "${BSDOBJDIR} is not a directory"; \
1.13      espie      51:                        else \
1.14      espie      52:                                echo "${BSDOBJDIR} does not exist"; \
1.13      espie      53:                        fi; \
1.1       deraadt    54:                fi; \
                     55:        else \
                     56:                dest=$$here/${__objdir} ; \
                     57:                if test ! -d ${__objdir} ; then \
                     58:                        echo "making $$dest" ; \
1.15      natano     59:                        $$MKDIRS $$dest; \
1.16      tb         60:                        $$SETOWNER $$dest; \
1.1       deraadt    61:                fi ; \
                     62:        fi;
1.12      espie      63: .  endif
1.1       deraadt    64: .endif
1.15      natano     65:
                     66: .include <bsd.own.mk>