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
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

-- 
FreeSBIE mailing list (http://www.freesbie.org)

Reply via email to