#!/bin/bash
|
#!/bin/bash
|
# Xanthopoulos Constantinos
|
# Author: Constantinos Xanthopoulos
|
|
# This script install MinSOC tree
|
|
# under a specific directory.
|
|
|
# ===== CONFIGURATIONS =====
|
# ===== CONFIGURATIONS =====
|
# ==========================
|
# ==========================
|
|
|
# Where should I put the dir. minsoc?
|
# Where should I put the dir. minsoc?
|
# ex. /home/conx/Thesis/
|
# ex. /home/conx/Thesis/
|
DIR_TO_INSTALL=""
|
DIR_TO_INSTALL=""
|
|
|
# This variable should be set to trunk
|
# This variable should be set to trunk
|
# or to stable.
|
# or to stable.
|
VERSION=""
|
VERSION=""
|
|
|
# This variable should take one of
|
# This variable should take one of
|
# the following values depending
|
# the following values depending
|
# to your system: linux, cygwin, freebsd
|
# to your system: linux, cygwin, freebsd
|
ENV=""
|
ENV=""
|
|
|
# !!! DO NOT EDIT BELLOW THIS LINE !!!
|
# !!! DO NOT EDIT BELLOW THIS LINE !!!
|
# ===================================
|
# ===================================
|
|
|
# ===== SCRIPT ======
|
# ===== SCRIPT ======
|
# ===================
|
# ===================
|
|
|
# Debug ?
|
# Debug ?
|
export DEBUG=0;
|
export DEBUG=0;
|
. beautify.sh
|
. beautify.sh
|
. func.sh
|
|
|
|
# User check!
|
# User check!
|
if [ `whoami` == "root" ];
|
if [ `whoami` = "root" ];
|
then
|
then
|
errormsg "You shouldn't be root for this script to run.";
|
errormsg "You shouldn't be root for this script to run.";
|
fi;
|
fi;
|
|
|
# Wizard
|
# Wizard
|
if [ $DIR_TO_INSTALL == "" ]
|
if [ -z ${DIR_TO_INSTALL} ]
|
then
|
then
|
read $DIR_TO_INSTALL;
|
cnecho "Give full path (ex. /home/foo/): ";
|
|
read DIR_TO_INSTALL;
|
fi
|
fi
|
|
|
# Directory exists?
|
# Directory exists?
|
if [ ! -d $DIR_TO_INSTALL ]
|
if [ ! -d ${DIR_TO_INSTALL} ]
|
then
|
then
|
errormsg "Directory doesn't exist. Please create it";
|
errormsg "Directory doesn't exist. Please create it";
|
fi;
|
fi;
|
|
|
cd $DIR_TO_INSTALL
|
cd ${DIR_TO_INSTALL}
|
|
|
|
|
if [ $VERSION == "" ]
|
# Which Version?
|
|
if [ -z ${VERSION} ]
|
then
|
then
|
while [ $VERSION != "trunk" -a $VERSION != "stable"]
|
while [ "$VERSION" != "trunk" -a "$VERSION" != "stable" ]
|
do
|
do
|
cecho "Which version you want to install [stable/trunk]?"
|
cnecho "Select MinSOC Version [stable/trunk]: "
|
read $VERSION;
|
read VERSION;
|
done
|
done
|
fi
|
fi
|
|
|
if [ $ENV == "" ]
|
if [ -z ${ENV} ]
|
then
|
then
|
while [ $ENV != "linux" -a $ENV != "cygwin" -a $ENV != "freebsd" ]
|
while [ "$ENV" != "linux" -a "$ENV" != "cygwin" -a "$ENV" != "freebsd" ]
|
do
|
do
|
cecho "In which environement are you installing MinSOC [linux/cygwin/freebsd]?"
|
cnecho "Select build environment [linux/cygwin/freebsd]: "
|
read $ENV;
|
read ENV;
|
done
|
done
|
fi
|
fi
|
|
|
|
|
|
|
# Checkout MinSOC
|
# Checkout MinSOC
|
if [ $VERSION == "trunk" ]
|
if [ "${VERSION}" = "trunk" ]
|
then
|
then
|
execcmd "Download minsoc" "svn co -q http://opencores.org/ocsvn/minsoc/minsoc/trunk/ minsoc"
|
execcmd "Download minsoc" "svn co -q http://opencores.org/ocsvn/minsoc/minsoc/trunk/ minsoc"
|
else
|
else
|
execcmd "Download minsoc" "svn co -q http://opencores.org/ocsvn/minsoc/minsoc/tags/release-0.9/ minsoc"
|
execcmd "Download minsoc" "svn co -q http://opencores.org/ocsvn/minsoc/minsoc/tags/release-0.9/ minsoc"
|
fi
|
fi
|
|
|
cd minsoc/rtl/verilog
|
cd minsoc/rtl/verilog
|
|
|
execcmd "Checkout adv_jtag_bridge" "svn co -q http://opencores.org/ocsvn/adv_debug_sys/adv_debug_sys/trunk adv_debug_sys"
|
execcmd "Checkout adv_jtag_bridge" "svn co -q http://opencores.org/ocsvn/adv_debug_sys/adv_debug_sys/trunk adv_debug_sys"
|
execcmd "Checkout ethmac" "svn co -q http://opencores.org/ocsvn/ethmac/ethmac/trunk ethmac"
|
execcmd "Checkout ethmac" "svn co -q http://opencores.org/ocsvn/ethmac/ethmac/trunk ethmac"
|
execcmd "Checkout openrisc" "svn co -q http://opencores.org/ocsvn/openrisc/openrisc/trunk/or1200 or1200"
|
execcmd "Checkout openrisc" "svn co -q http://opencores.org/ocsvn/openrisc/openrisc/trunk/or1200 or1200"
|
execcmd "Checkout uart" "svn co -q http://opencores.org/ocsvn/uart16550/uart16550/trunk uart16550"
|
execcmd "Checkout uart" "svn co -q http://opencores.org/ocsvn/uart16550/uart16550/trunk uart16550"
|
|
|
cecho "I will now start to compile everything that's needed";
|
cecho "I will now start to compile everything that's needed";
|
|
|
cd $DIR_TO_INSTALL/minsoc/sw/utils
|
cd ${DIR_TO_INSTALL}/minsoc/sw/utils
|
|
|
echo $PWD
|
echo $PWD
|
|
|
execcmd "Make utils" "make"
|
execcmd "Make utils" "make"
|
|
|
cd ../support
|
cd ../support
|
|
|
execcmd "Make support tools" "make"
|
execcmd "Make support tools" "make"
|
|
|
cd ../drivers
|
cd ../drivers
|
|
|
execcmd "Make drivers" "make"
|
execcmd "Make drivers" "make"
|
|
|
|
|
cd ../uart
|
cd ../uart
|
|
|
execcmd "Make UART" "make"
|
execcmd "Make UART" "make"
|
|
|
# adv_jtag_bridge install
|
# adv_jtag_bridge install
|
cd ${DIR_TO_INSTALL}/minsoc/rtl/verilog/adv_debug_sys/Software/adv_jtag_bridge
|
cd ${DIR_TO_INSTALL}/minsoc/rtl/verilog/adv_debug_sys/Software/adv_jtag_bridge
|
|
|
cecho "Installing FTDI headers! You will be asked to give root pass"
|
# FIXME: install FTDI headers for all build environments
|
|
#cecho "Installing FTDI headers! You will be asked to give root pass"
|
|
|
execcmd "Install FTDI headers" "su -c \"aptitude install libftdi-dev\""; #FIXME
|
#execcmd "Install FTDI headers" "su -c \"aptitude install libftdi-dev\"";
|
|
|
if [ `grep "INCLUDE_JSP_SERVER=true" Makefile` != "" ]
|
if [ `grep "INCLUDE_JSP_SERVER=true" Makefile` != "" ]
|
then
|
then
|
cecho "Switching off the adv_jtag_bridge JSP_SERVER option";
|
cecho "Switching off the adv_jtag_bridge JSP_SERVER option";
|
sed 's/INCLUDE_JSP_SERVER=true/INCLUDE_JSP_SERVER=false/' Makefile > TMPFILE && mv TMPFILE Makefile
|
sed 's/INCLUDE_JSP_SERVER=true/INCLUDE_JSP_SERVER=false/' Makefile > TMPFILE && mv TMPFILE Makefile
|
fi
|
fi
|
|
|
if [ $ENV != "cygwin" ]
|
if [ "${ENV}" != "cygwin" ]
|
then
|
then
|
cecho "Setting the right build environment";
|
cecho "Setting the right build environment";
|
sed "s/BUILD_ENVIRONMENT=cygwin/BUILD_ENVIRONMENT=${ENV}/" Makefile > TMPFILE && mv TMPFILE Makefile
|
sed "s/BUILD_ENVIRONMENT=cygwin/BUILD_ENVIRONMENT=${ENV}/" Makefile > TMPFILE && mv TMPFILE Makefile
|
fi
|
fi
|
|
|
execcmd "Make adv_jtag_bridge" "make"
|
execcmd "Make adv_jtag_bridge" "make"
|
|
|
cecho "Installation Finised"
|
cecho "Installation Finised"
|
|
|