mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-17 15:38:51 +09:00
![Wolfgang Denk](/assets/img/avatar_default.png)
To simplify the top level makefile it useful to be able to parse
the top level makefile target to multiple individual target, then
put them to the config.h, leave the board config file to handle
the different targets.
Note that this method uses the '_'(underline) as the delimiter when
splits the board make target.
Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
This also reverts commit 511c02f611
.
Signed-off-by: Wolfgang Denk <wd@denx.de>
96 lines
1.9 KiB
Bash
Executable File
96 lines
1.9 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
# Script to create header files and links to configure
|
|
# U-Boot for a specific board.
|
|
#
|
|
# Parameters: Target Architecture CPU Board [VENDOR] [SOC]
|
|
#
|
|
# (C) 2002-2006 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
|
|
#
|
|
|
|
APPEND=no # Default: Create new config file
|
|
BOARD_NAME="" # Name to print in make output
|
|
TARGETS=""
|
|
|
|
while [ $# -gt 0 ] ; do
|
|
case "$1" in
|
|
--) shift ; break ;;
|
|
-a) shift ; APPEND=yes ;;
|
|
-n) shift ; BOARD_NAME="${1%%_config}" ; shift ;;
|
|
-t) shift ; TARGETS="`echo $1 | sed 's:_: :g'` ${TARGETS}" ; shift ;;
|
|
*) break ;;
|
|
esac
|
|
done
|
|
|
|
[ "${BOARD_NAME}" ] || BOARD_NAME="$1"
|
|
|
|
[ $# -lt 4 ] && exit 1
|
|
[ $# -gt 6 ] && exit 1
|
|
|
|
echo "Configuring for ${BOARD_NAME} board..."
|
|
|
|
#
|
|
# Create link to architecture specific headers
|
|
#
|
|
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 ${LNPREFIX}arch-$3 asm-$2/arch
|
|
else
|
|
ln -s ${LNPREFIX}arch-$6 asm-$2/arch
|
|
fi
|
|
|
|
if [ "$2" = "arm" ] ; then
|
|
rm -f asm-$2/proc
|
|
ln -s ${LNPREFIX}proc-armv asm-$2/proc
|
|
fi
|
|
|
|
#
|
|
# Create include file for Make
|
|
#
|
|
echo "ARCH = $2" > config.mk
|
|
echo "CPU = $3" >> config.mk
|
|
echo "BOARD = $4" >> config.mk
|
|
|
|
[ "$5" ] && [ "$5" != "NULL" ] && echo "VENDOR = $5" >> config.mk
|
|
|
|
[ "$6" ] && [ "$6" != "NULL" ] && echo "SOC = $6" >> config.mk
|
|
|
|
#
|
|
# Create board specific header file
|
|
#
|
|
if [ "$APPEND" = "yes" ] # Append to existing config file
|
|
then
|
|
echo >> config.h
|
|
else
|
|
> config.h # Create new config file
|
|
fi
|
|
echo "/* Automatically generated - do not edit */" >>config.h
|
|
|
|
for i in ${TARGETS} ; do
|
|
echo "#define CONFIG_MK_${i} 1" >>config.h ;
|
|
done
|
|
|
|
echo "#include <configs/$1.h>" >>config.h
|
|
echo "#include <asm/config.h>" >>config.h
|
|
|
|
exit 0
|