bsd.obj.mk revision 1.22
1#	$NetBSD: bsd.obj.mk,v 1.22 1999/12/04 02:44:07 sommerfeld Exp $
2
3.if !target(__initialized_obj__)
4__initialized_obj__:
5.include <bsd.own.mk>
6.endif
7
8.if ${MKOBJ} == "no"
9obj:
10.else
11
12.if defined(MAKEOBJDIR)
13__objdir=	${MAKEOBJDIR}
14.elif defined(OBJMACHINE)
15__objdir=	obj.${MACHINE}
16.else
17__objdir=	obj
18.endif
19
20.if defined(USR_OBJMACHINE)
21__usrobjdir=	${BSDOBJDIR}.${MACHINE}
22__usrobjdirpf=	
23.else
24__usrobjdir=	${BSDOBJDIR}
25.if defined(OBJMACHINE)
26__usrobjdirpf=	.${MACHINE}
27.else
28__usrobjdirpf=
29.endif
30.endif
31
32PAWD?=		/bin/pwd
33
34obj:
35	@cd ${.CURDIR}; \
36	here=`${PAWD}`; subdir=$${here#${BSDSRCDIR}/}; \
37	if test $$here != $$subdir ; then \
38		dest=${__usrobjdir}/$$subdir${__usrobjdirpf} ; \
39		if [ -L $$here/${__objdir} ]; then \
40			curtarg=`ls -ld $$here/${__objdir} | awk '{print $$NF}'` ; \
41			if [ "$$curtarg" = "$$dest" ]; then \
42				: ; \
43			else \
44				echo "$$here/${__objdir} -> $$dest"; \
45				rm -rf ${__objdir}; \
46				ln -s $$dest ${__objdir}; \
47			fi; \
48		else \
49			echo "$$here/${__objdir} -> $$dest"; \
50			rm -rf ${__objdir}; \
51			ln -s $$dest ${__objdir}; \
52		fi; \
53		if test -d ${__usrobjdir} -a ! -d $$dest; then \
54			mkdir -p $$dest; \
55		else \
56			true; \
57		fi; \
58	else \
59		true ; \
60		dest=$$here/${__objdir} ; \
61		if test ! -d ${__objdir} || test -L ${__objdir}; then \
62			echo "making $$dest" ; \
63			rm -f ${__objdir}; \
64			mkdir $$dest; \
65		fi ; \
66	fi;
67.endif
68
69print-objdir:
70	@echo ${.OBJDIR}
71