xref: /freebsd/share/mk/src.sys.obj.mk (revision 939d033cab9c78eba4e50cbe601f42e55ed02891)
1# $FreeBSD$
2
3_default_makeobjdir=	$${.CURDIR:S,^$${SRCTOP},$${OBJTOP},}
4
5.if empty(OBJROOT) || ${.MAKE.LEVEL} == 0
6.if defined(MAKEOBJDIRPREFIX) && !empty(MAKEOBJDIRPREFIX)
7# put things approximately where they want
8OBJROOT:=	${MAKEOBJDIRPREFIX}${SRCTOP}/
9MAKEOBJDIRPREFIX=
10.export MAKEOBJDIRPREFIX
11.endif
12.if empty(MAKEOBJDIR)
13# OBJTOP set below
14MAKEOBJDIR=	${_default_makeobjdir}
15# export but do not track
16.export-env MAKEOBJDIR
17# Expand for our own use
18MAKEOBJDIR:=	${MAKEOBJDIR}
19.endif
20.if !empty(SB)
21SB_OBJROOT?=	${SB}/obj/
22# this is what we use below
23OBJROOT?=	${SB_OBJROOT}
24.endif
25OBJROOT?=	/usr/obj${SRCTOP}/
26.if ${OBJROOT:M*/} != ""
27OBJROOT:=	${OBJROOT:H:tA}/
28.else
29OBJROOT:=	${OBJROOT:H:tA}/${OBJROOT:T}
30.endif
31.export OBJROOT SRCTOP
32.endif
33
34.if 0
35.if defined(MAKEOBJDIR)
36.if ${MAKEOBJDIR:M/*} == ""
37.error Cannot use MAKEOBJDIR=${MAKEOBJDIR}${.newline}Unset MAKEOBJDIR to get default:  MAKEOBJDIR='${_default_makeobjdir}'
38.endif
39.endif
40.endif
41