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>