Skip to content
Snippets Groups Projects
mkconfig 1.83 KiB
Newer Older
  • Learn to ignore specific revisions
  • Wolfgang Denk's avatar
    Wolfgang Denk committed
    #!/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]
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #
    
    # (C) 2002-2006 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #
    
    APPEND=no	# Default: Create new config file
    
    BOARD_NAME=""	# Name to print in make output
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    while [ $# -gt 0 ] ; do
    	case "$1" in
    	--) shift ; break ;;
    	-a) shift ; APPEND=yes ;;
    
    	-n) shift ; BOARD_NAME="${1%%_config}" ; shift ;;
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    	*)  break ;;
    	esac
    done
    
    
    [ "${BOARD_NAME}" ] || BOARD_NAME="$1"
    
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    [ $# -lt 4 ] && exit 1
    
    [ $# -gt 6 ] && exit 1
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    echo "Configuring for ${BOARD_NAME} board..."
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    #
    # 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
    
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    rm -f asm-$2/arch
    
    if [ -z "$6" -o "$6" = "NULL" ] ; then
    
    	ln -s ${LNPREFIX}arch-$3 asm-$2/arch
    
    	ln -s ${LNPREFIX}arch-$6 asm-$2/arch
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    if [ "$2" = "arm" ] ; then
    	rm -f asm-$2/proc
    
    	ln -s ${LNPREFIX}proc-armv asm-$2/proc
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #
    # Create include file for Make
    #
    
    echo "ARCH   = $2" >  config.mk
    echo "CPU    = $3" >> config.mk
    echo "BOARD  = $4" >> config.mk
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    [ "$5" ] && [ "$5" != "NULL" ] && echo "VENDOR = $5" >> config.mk
    
    [ "$6" ] && [ "$6" != "NULL" ] && echo "SOC    = $6" >> config.mk
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    #
    # 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
    
    echo "#define CONFIG_MK_${BOARD_NAME} 1" >>config.h
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    echo "#include <configs/$1.h>" >>config.h
    
    echo "#include <asm/config.h>" >>config.h
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    exit 0