102 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/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
 | 
						|
 | 
						|
if [ "${ARCH}" -a "${ARCH}" != "$2" ]; then
 | 
						|
	echo "Failed: \$ARCH=${ARCH}, should be '$2' for ${BOARD_NAME}" 1>&2
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
 | 
						|
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 [ -e "${LNPREFIX}arch-$3" ] || [ -e "${LNPREFIX}arch-$6" ]; then
 | 
						|
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
 | 
						|
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
 |