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)