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>