Add support for a saving build objects in a separate directory.
Modifications are based on the linux kernel approach and
support two use cases:
1) Add O= to the make command line
'make O=/tmp/build all'
2) Set environement variable BUILD_DIR to point to the desired location
'export BUILD_DIR=/tmp/build'
'make'
The second approach can also be used with a MAKEALL script
'export BUILD_DIR=/tmp/build'
'./MAKEALL'
Command line 'O=' setting overrides BUILD_DIR environent variable.
When none of the above methods is used the local build is performed and
the object files are placed in the source directory.
diff --git a/mkconfig b/mkconfig
index 4fe6e44..c3e4cea 100755
--- a/mkconfig
+++ b/mkconfig
@@ -5,7 +5,7 @@
#
# Parameters: Target Architecture CPU Board [VENDOR] [SOC]
#
-# (C) 2002 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
+# (C) 2002-2006 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
#
APPEND=no # Default: Create new config file
@@ -27,24 +27,38 @@
echo "Configuring for ${BOARD_NAME} board..."
-cd ./include
-
#
# Create link to architecture specific headers
#
-rm -f asm
-ln -s asm-$2 asm
+if [ "$SRCTREE" != "$OBJTREE" ] ; then
+ mkdir -p ${OBJTREE}/include
+ mkdir -p ${OBJTREE}/include2
+ cd ${OBJTREE}/include2
+ rm -f asm
+ ln -s ${SRCTREE}/include/asm-$2 asm
+ LNPREFIX="../../include2/asm/"
+ cd ../include
+ rm -rf asm-$2
+ rm -f asm
+ mkdir asm-$2
+ ln -s asm-$2 asm
+else
+ cd ./include
+ rm -f asm
+ ln -s asm-$2 asm
+fi
+
rm -f asm-$2/arch
if [ -z "$6" -o "$6" = "NULL" ] ; then
- ln -s arch-$3 asm-$2/arch
+ ln -s ${LNPREFIX}arch-$3 asm-$2/arch
else
- ln -s arch-$6 asm-$2/arch
+ ln -s ${LNPREFIX}arch-$6 asm-$2/arch
fi
if [ "$2" = "arm" ] ; then
rm -f asm-$2/proc
- ln -s proc-armv asm-$2/proc
+ ln -s ${LNPREFIX}proc-armv asm-$2/proc
fi
#