summaryrefslogtreecommitdiff
path: root/bootstrap/bmake/mk/bsd.obj.mk
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/bmake/mk/bsd.obj.mk')
-rw-r--r--bootstrap/bmake/mk/bsd.obj.mk91
1 files changed, 91 insertions, 0 deletions
diff --git a/bootstrap/bmake/mk/bsd.obj.mk b/bootstrap/bmake/mk/bsd.obj.mk
new file mode 100644
index 00000000000..2cb0298f6eb
--- /dev/null
+++ b/bootstrap/bmake/mk/bsd.obj.mk
@@ -0,0 +1,91 @@
+# $NetBSD: bsd.obj.mk,v 1.1.1.1 2004/03/11 13:04:17 grant Exp $
+
+.if !target(__initialized_obj__)
+__initialized_obj__:
+.include <bsd.own.mk>
+.endif
+
+.if ${MKOBJ} == "no"
+obj:
+.else
+.if defined(MAKEOBJDIRPREFIX) || defined(MAKEOBJDIR)
+.if defined(MAKEOBJDIRPREFIX)
+__objdir:= ${MAKEOBJDIRPREFIX}${.CURDIR}
+.else
+__objdir:= ${MAKEOBJDIR}
+.endif
+# MAKEOBJDIR and MAKEOBJDIRPREFIX are env variables supported
+# by make(1). We simply mkdir -p the specified path.
+# If that fails - we do a mkdir to get the appropriate error message
+# before bailing out.
+obj:
+ @if test ! -d ${__objdir}; then \
+ mkdir -p ${__objdir}; \
+ if test ! -d ${__objdir}; then \
+ mkdir ${__objdir}; exit 1; \
+ fi; \
+ echo "${.CURDIR} -> ${__objdir}"; \
+ fi
+.else
+.if defined(OBJMACHINE)
+__objdir= obj.${MACHINE}
+.else
+__objdir= obj
+.endif
+
+.if defined(USR_OBJMACHINE)
+__usrobjdir= ${BSDOBJDIR}.${MACHINE}
+__usrobjdirpf=
+.else
+__usrobjdir= ${BSDOBJDIR}
+.if defined(OBJMACHINE)
+__usrobjdirpf= .${MACHINE}
+.else
+__usrobjdirpf=
+.endif
+.endif
+
+PAWD?= /bin/pwd
+
+obj:
+ @cd ${.CURDIR}; \
+ here=`${PAWD}`; subdir=$${here#${BSDSRCDIR}/}; \
+ if test $$here != $$subdir ; then \
+ if test ! -d ${__usrobjdir}; then \
+ echo "BSDOBJDIR ${__usrobjdir} does not exist, bailing..."; \
+ exit 1; \
+ fi; \
+ dest=${__usrobjdir}/$$subdir${__usrobjdirpf} ; \
+ if [ -h $$here/${__objdir} ]; then \
+ curtarg=`ls -ld $$here/${__objdir} | awk '{print $$NF}'` ; \
+ if [ "$$curtarg" = "$$dest" ]; then \
+ : ; \
+ else \
+ echo "$$here/${__objdir} -> $$dest"; \
+ rm -rf ${__objdir}; \
+ ln -s $$dest ${__objdir}; \
+ fi; \
+ else \
+ echo "$$here/${__objdir} -> $$dest"; \
+ rm -rf ${__objdir}; \
+ ln -s $$dest ${__objdir}; \
+ fi; \
+ if test ! -d $$dest; then \
+ mkdir -p $$dest; \
+ else \
+ true; \
+ fi; \
+ else \
+ true ; \
+ dest=$$here/${__objdir} ; \
+ if test ! -d ${__objdir} || test -h ${__objdir}; then \
+ echo "making $$dest" ; \
+ rm -f ${__objdir}; \
+ mkdir $$dest; \
+ fi ; \
+ fi;
+.endif
+.endif
+
+print-objdir:
+ @echo ${.OBJDIR}