xref: /openbsd-src/share/mk/bsd.obj.mk (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1#	$OpenBSD: bsd.obj.mk,v 1.14 2013/11/22 15:43:18 espie Exp $
2#	$NetBSD: bsd.obj.mk,v 1.9 1996/04/10 21:08:05 thorpej Exp $
3
4.if !target(obj)
5.  if defined(NOOBJ)
6obj:
7.  else
8
9.  if defined(MAKEOBJDIR)
10__objdir=	${MAKEOBJDIR}
11.  else
12__objdir=	obj
13.  endif
14
15_SUBDIRUSE:
16
17obj! _SUBDIRUSE
18	@cd ${.CURDIR}; \
19	here=`/bin/pwd`; bsdsrcdir=`cd ${BSDSRCDIR}; /bin/pwd`; \
20	subdir=$${here#$${bsdsrcdir}/}; \
21	if test $$here != $$subdir ; then \
22		dest=${BSDOBJDIR}/$$subdir ; \
23		echo "$$here/${__objdir} -> $$dest"; \
24		if test ! -L ${__objdir} -o \
25		    X`readlink ${__objdir}` != X$$dest; \
26		    then \
27			if test -e ${__objdir}; then rm -rf ${__objdir}; fi; \
28			ln -sf $$dest ${__objdir}; \
29		fi; \
30		if test -d ${BSDOBJDIR}; then \
31			test -d $$dest || mkdir -p $$dest; \
32		else \
33			if test -e ${BSDOBJDIR}; then \
34				echo "${BSDOBJDIR} is not a directory"; \
35			else \
36				echo "${BSDOBJDIR} does not exist"; \
37			fi; \
38		fi; \
39	else \
40		true ; \
41		dest=$$here/${__objdir} ; \
42		if test ! -d ${__objdir} ; then \
43			echo "making $$dest" ; \
44			mkdir $$dest; \
45		fi ; \
46	fi;
47.  endif
48.endif
49