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"
9 obj:
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
32 PAWD?= /bin/pwd
33
34 obj:
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
69 print-objdir:
70 @echo ${.OBJDIR}
71