buildiso was assuming a native obj hierarchy when running the make distribute
authorMatthew Dillon <dillon@dragonflybsd.org>
Fri, 23 Apr 2004 02:14:07 +0000 (02:14 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Fri, 23 Apr 2004 02:14:07 +0000 (02:14 +0000)
for etc, but buildworld's obj hierarchy is in a buildworld-special place, so
this was creating a failure.

Give nrelease its own custom hierarchy for any manual make distribute's that
it decides to issue (of which there is exactly one right now: etc for
sendmail's CF generation).

nrelease/Makefile

index c53090e..b7d7192 100644 (file)
@@ -1,11 +1,17 @@
-# $DragonFly: src/nrelease/Makefile,v 1.7 2004/02/11 11:11:24 joerg Exp $
+# $DragonFly: src/nrelease/Makefile,v 1.8 2004/04/23 02:14:07 dillon Exp $
 #
+
 ISODIR ?= /usr/release
 ISOFILE ?= ${ISODIR}/dfly.iso
 ISOROOT = ${ISODIR}/root
 OBJSYS= ${.OBJDIR}/../sys
 KERNCONF ?= GENERIC
 
+# note: we use the '${NRLOBJDIR}/nrelease' construct, that is we add
+# the additional '/nrelease' manually, as a safety measure.
+#
+NRLOBJDIR?= /usr/obj
+
 WORLD_CCVER ?= ${CCVER}
 KERNEL_CCVER ?= ${CCVER}
 
@@ -35,10 +41,16 @@ buildkernel1:
 buildkernel2:
        ( cd ${.CURDIR}/..; make -DNOCLEAN buildkernel KERNCONF=${KERNCONF} CCVER=${KERNEL_CCVER} )
 
+# note that we do not want to mess with any /usr/obj directories not related
+# to buildworld, buildkernel, or nrelease, so we must supply the proper
+# MAKEOBJDIRPREFIX for targets that are not run through the buildworld and 
+# buildkernel mechanism.
+#
 buildiso:
        if [ ! -d ${ISOROOT} ]; then mkdir -p ${ISOROOT}; fi
+       if [ ! -d ${NRLOBJDIR}/nrelease ]; then mkdir -p ${NRLOBJDIR}/nrelease; fi
        ( cd ${.CURDIR}/..; make DESTDIR=${ISOROOT} installworld )
-       ( cd ${.CURDIR}/../etc; make DESTDIR=${ISOROOT} distribution )
+       ( cd ${.CURDIR}/../etc; MAKEOBJDIRPREFIX=${NRLOBJDIR}/nrelease make DESTDIR=${ISOROOT} distribution )
        cpdup -X cpignore -o ${.CURDIR}/root ${ISOROOT} -vv
        ( cd ${.CURDIR}/..; make DESTDIR=${ISOROOT} \
                installkernel KERNCONF=${KERNCONF} )
@@ -57,6 +69,7 @@ mkiso:
 clean:
        if [ -d ${ISOROOT} ]; then chflags -R noschg ${ISOROOT}; fi
        if [ -d ${ISOROOT} ]; then rm -rf ${ISOROOT}; fi
+       if [ -d ${NRLOBJDIR}/nrelease ]; then rm -rf ${NRLOBJDIR}/nrelease; fi
 
 realclean:     clean
        rm -rf ${OBJSYS}/${KERNCONF}