[PATCH] add MAKEOBJDIRPREFIX variable

Marco Molteni <[email protected]>
Newsgroups gmane.os.freebsd.freesbie
Message-ID <[email protected]>
This patch allows to specify an obj directory different than /usb/obj.

Passing this variable is done via env(1) because make(1) wants it as
an env variable, not as an option.

I don't really like how I hacked launch.sh to support multiple
variables so feel free to improve it.



marco
-- 
He who receives an idea from me, receives instruction himself
without lessening mine; as he who lights his taper at mine,
receives light without darkening me. -- Thomas Jefferson

-- 
FreeSBIE mailing list (http://www.freesbie.org)
freesbie-diff1.txt (text/plain, 3.4 KB)
Index: conf/freesbie.defaults.conf
===================================================================
--- conf/freesbie.defaults.conf	(revision 5)
+++ conf/freesbie.defaults.conf	(working copy)
@@ -99,6 +99,11 @@ MAKEJ=${MAKEJ:-"-j3"}
 #
 #NO_BUILDKERNEL=YES
 
+# Define MAKEOBJDIRPREFIX to use an object directory different than /usr/obj.
+# Be sure you know what you're doing, it is easy to introduce suble bugs.
+#
+#MAKEOBJDIRPREFIX=/path/to/obj
+
 # Define NO_COMPRESSEDFS if you don't want to have compressed fs
 # inside the resulting image.
 #
Index: scripts/installkernel.sh
===================================================================
--- scripts/installkernel.sh	(revision 5)
+++ scripts/installkernel.sh	(working copy)
@@ -41,7 +41,7 @@ echo hint.psm.0.flags=0x1000 >> ${BASEDI
 cd ${SRCDIR}
 
 makeargs="${MAKEOPT:-} ${MAKEJ:-} __MAKE_CONF=${MAKE_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR}"
-(script -aq $LOGFILE make ${makeargs:-} installkernel || print_error;) | grep '^>>>'
+(env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} installkernel || print_error;) | grep '^>>>'
 
 cd ${BASEDIR}/boot/kernel
 if [ "${ARCH}" = "`uname -m`" -a -z "${DEBUG:-}" ]; then
Index: scripts/buildworld.sh
===================================================================
--- scripts/buildworld.sh	(revision 5)
+++ scripts/buildworld.sh	(working copy)
@@ -34,6 +34,6 @@ fi
 cd $SRCDIR
 
 makeargs="${MAKEOPT:-} ${MAKEJ:-} __MAKE_CONF=${MAKE_CONF} TARGET_ARCH=${ARCH}"
-(script -aq $LOGFILE make ${makeargs:-} buildworld || print_error;) | grep '^>>>'
+(env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} buildworld || print_error;) | grep '^>>>'
 
 cd $LOCALDIR
Index: scripts/launch.sh
===================================================================
--- scripts/launch.sh	(revision 7)
+++ scripts/launch.sh	(working copy)
@@ -46,6 +46,12 @@ FREESBIE_CONF=${FREESBIE_CONF:-./conf/fr
 
 ARCH=${ARCH:-`uname -m`}
 
+# Some variables can be passed to make only as environment, not as parameters.
+# usage: $MAKE_ENV make $makeargs
+MAKE_ENV=""
+if [ $MAKEOBJDIRPREFIX ]; then
+    MAKE_ENV="$MAKE_ENV MAKEOBJDIRPREFIX=$MAKEOBJDIRPREFIX"
+fi
 
 # XXX set common functions here
 
Index: scripts/installworld.sh
===================================================================
--- scripts/installworld.sh	(revision 5)
+++ scripts/installworld.sh	(working copy)
@@ -31,12 +31,12 @@ mkdir -p ${BASEDIR}
 cd ${SRCDIR}
 
 makeargs="${MAKEOPT:-} ${MAKEJ:-} __MAKE_CONF=${MAKE_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR}"
-(script -aq $LOGFILE make ${makeargs:-} installworld || print_error;) | grep '^>>>'
+(env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} installworld || print_error;) | grep '^>>>'
 
 cd ${SRCDIR}/etc
 
 makeargs="${MAKEOPT:-} __MAKE_CONF=${MAKE_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR}"
 set +e
-(script -aq $LOGFILE make ${makeargs:-} distribution || print_error;) | grep '^>>>'
+(env $MAKE_ENV script -aq $LOGFILE make ${makeargs:-} distribution || print_error;) | grep '^>>>'
 set -e
 cd $LOCALDIR
Index: scripts/buildkernel.sh
===================================================================
--- scripts/buildkernel.sh	(revision 5)
+++ scripts/buildkernel.sh	(working copy)
@@ -41,6 +41,6 @@ fi
 
 cd $SRCDIR
 makeargs="${MAKEOPT:-} ${MAKEJ:-} __MAKE_CONF=${MAKE_CONF} TARGET_ARCH=${ARCH}" 
-(script -aq $LOGFILE make $makeargs buildkernel || print_error;) | grep '^>>>'
+(env $MAKE_ENV script -aq $LOGFILE make $makeargs buildkernel || print_error;) | grep '^>>>'
 
 cd $LOCALDIR
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.