build_oai.bash 17.4 KB
Newer Older
1 2 3 4 5 6 7
################################################################################
#   OpenAirInterface
#   Copyright(c) 1999 - 2014 Eurecom
#
#    OpenAirInterface is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
8
#    (at your option) anylater version.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#
#
#    OpenAirInterface is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with OpenAirInterface.The full GNU General Public License is
#    included in this distribution in the file called "COPYING". If not,
#    see <http://www.gnu.org/licenses/>.
#
#  Contact Information
#  OpenAirInterface Admin: openair_admin@eurecom.fr
#  OpenAirInterface Tech : openair_tech@eurecom.fr
#  OpenAirInterface Dev  : openair4g-devel@eurecom.fr
#
#  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
#
################################################################################
# file build_oai.bash
30
# brief OAI automated build tool that can be used to install, compile, run OAI.
31 32 33 34 35 36 37 38 39 40 41 42
# author  Navid Nikaein 
# company Eurecom
# email:  navid.nikaein@eurecom.fr 
#

#!/bin/bash
################################
# include helper functions
################################
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
. $THIS_SCRIPT_PATH/build_helper.bash

43
check_for_root_rights
44 45

#######################################
46
# Default PARAMETERS
47 48
######################################

49 50 51
#only one could be set at the time
BUILD_LTE="ENB" # ENB, EPC, HSS, NONE

Navid Nikaein's avatar
Navid Nikaein committed
52
HW="EXMIMO" # EXMIMO, USRP, ETHERNET, NONE
53 54
TARGET="ALL" # ALL, SOFTMODEM, OAISIM, UNISIM, NONE
ENB_S1=1
55
REL="REL8" # REL8, REL10
Navid Nikaein's avatar
 
Navid Nikaein committed
56
RT="NONE" # RTAI, RT_PREMPT or RT_DISABLED, NONE
57 58
DEBUG=0

59

60
OAI_TEST=0
61
XFORMS=0
62

63
# script is not currently handling these params
64 65
EPC=0 # flag to build EPC

66 67 68 69
ITTI_ANALYZER=0
VCD_TIMING=0
WIRESHARK=0
TIME_MEAS=0
70
DOXYGEN=0
71
DEV=0
72 73 74 75 76

EMULATION_DEV_INTERFACE="eth0"
EMULATION_MULTICAST_GROUP=1
EMULATION_DEV_ADDRESS=`ifconfig $EMULATION_DEV_INTERFACE | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`

Navid Nikaein's avatar
Navid Nikaein committed
77
############## script params #####################
78

Navid Nikaein's avatar
Navid Nikaein committed
79
if [ -f ./.lock_oaibuild ]; then 
80
    OAI_CLEAN=0
Navid Nikaein's avatar
Navid Nikaein committed
81
else 
82
    OAI_CLEAN=1
Navid Nikaein's avatar
Navid Nikaein committed
83 84
fi 
 
85 86 87 88 89
#for i in "$@"
#do 
#    echo "i is : $i"
#    case $i in

90
while getopts "abcdmsxzhe:l:w:r:t:" OPTION; do
91
   case "$OPTION" in
92 93 94 95
       a)
	 DOXYGEN=1
	 echo "setting doxygen flag to: $DOXYGEN"
	 ;;
96
       b)
Navid Nikaein's avatar
 
Navid Nikaein committed
97 98
	   ENB_S1=0
	   echo "disable eNB S1 flag"
99 100 101 102 103
	   ;;
       c)
	   rm -rf ./.lock_oaibuild
	   OAI_CLEAN=1
	   echo "setting clean flag to: $OAI_CLEAN"
104
	   echo "check package installation, and recompile OAI"
105 106 107 108 109 110 111 112 113
	   ;;
       d)
	   DEBUG=1
	   echo "setting debug flag to: $DEBUG"
	   ;;
       e)
	   RT="$OPTARG"
	   echo "setting realtime flag to: $RT"
	   ;;
114 115 116 117
       l) 
	   BUILD_LTE="$OPTARG"
	   echo "setting top-level build target to: $OPTARG"
	   ;;
118
       h)
119 120
	   print_help
	   exit -1
121 122 123 124
	   ;;
       m)
	   BUILD_FROM_MAKEFILE=1
	   set_build_from_makefile $BUILD_FROM_MAKEFILE
125
	   echo "setting a flag to build from makefile to: $BUILD_FROM_MAKEFILE"
126 127 128 129 130 131 132 133 134 135 136 137 138
	   ;;
       r)
	   REL="$OPTARG" 
	   echo "setting release to: $REL"
	   ;;
       s)
	   OAI_TEST=1
	   echo "setting sanity check to: $OAI_TEST"
	   ;;
       t)
	   TARGET="$OPTARG" 
	   echo "setting target to: $TARGET"
	   ;;
139 140 141 142
       w)
	   HW="$OPTARG" #"${i#*=}"
	   echo "setting hardware to: $HW"
	   ;;
143 144 145 146 147 148 149 150 151 152 153 154
       x)
	   XFORMS=1
	   echo "setting xforms to: $XFORMS"
	   ;;
       z)
	   echo "setting all parameters to: default"
	   rm -rf ./.lock_oaibuild
	   OAI_CLEAN=1
	   HW="EXMIMO"
	   TARGET="ALL" 
	   ENB_S1=1
	   REL="REL8" 
155
	   RT="NONE"
156 157 158 159 160
	   DEBUG=0
	   ENB_CONFIG_FILE=$OPENAIR_TARGETS/"PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.conf"
	   OAI_TEST=0
  	   ;;
       *)
Navid Nikaein's avatar
Navid Nikaein committed
161
            # unknown option
162 163
	   ;;
   esac
Navid Nikaein's avatar
Navid Nikaein committed
164 165
done

166 167 168
#####################
# create a bin dir
#####################
169
echo_info "1. Creating the bin dir ..." 
170 171 172 173 174 175
rm -rf bin
mkdir -m 777 -p bin 

build_date=`date +%Y_%m_%d`
oai_build_date="oai_built_${build_date}"
touch bin/${oai_build_date} 
Navid Nikaein's avatar
Navid Nikaein committed
176
touch bin/install_log.txt
177 178 179
################################
# cleanup first 
################################
180
#echo_info "3. Cleaning ..."
181

182 183 184 185
#$SUDO kill -9 `ps -ef | grep oaisim | awk '{print $2}'` 2>&1
#$SUDO kill -9 `ps -ef | grep lte-softmodem | awk '{print $2}'`  2>&1
#$SUDO kill -9 `ps -ef | grep dlsim | awk '{print $2}'`  2>&1
#$SUDO kill -9 `ps -ef | grep ulsim | awk '{print $2}'`  2>&1
Navid Nikaein's avatar
Navid Nikaein committed
186

187 188

############################################
189
# setting and printing OAI envs, we should check here
190
############################################
191 192
    
echo_info "2. Setting the OAI PATHS ..."
193

Navid Nikaein's avatar
Navid Nikaein committed
194
set_openair_env 
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
cecho "OPENAIR_HOME    = $OPENAIR_HOME" $green
cecho "OPENAIR1_DIR    = $OPENAIR1_DIR" $green
cecho "OPENAIR2_DIR    = $OPENAIR2_DIR" $green
cecho "OPENAIR3_DIR    = $OPENAIR3_DIR" $green
cecho "OPENAIRCN_DIR   = $OPENAIRCN_DIR" $green
cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green


echo "OPENAIR_HOME    = $OPENAIR_HOME" >>  bin/${oai_build_date}
echo "OPENAIR1_DIR    = $OPENAIR1_DIR"  >>  bin/${oai_build_date}
echo "OPENAIR2_DIR    = $OPENAIR2_DIR"  >>  bin/${oai_build_date}
echo "OPENAIR3_DIR    = $OPENAIR3_DIR"  >>  bin/${oai_build_date}
echo "OPENAIRCN_DIR   = $OPENAIRCN_DIR"  >>  bin/${oai_build_date}
echo "OPENAIR_TARGETS = $OPENAIR_TARGETS"  >>  bin/${oai_build_date}

210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230

build_enb(){

##########################################
# process parameters
#########################################

    echo_info "4. Process the parameters"

    echo_info "User-defined Parameters :  HW=$HW, TARGET=$TARGET, ENB_S1=$ENB_S1, REL=$REL, RT=$RT, DEBUG=$DEBUG XFORMS=$XFORMS"
    
    echo "User-defined Parameters :  HW=$HW, TARGET=$TARGET, ENB_S1=$ENB_S1, REL=$REL, RT=$RT, DEBUG=$DEBUG XFORMS=$XFORMS" >> bin/${oai_build_date}
    
 
############################################
# compilation directives 
############################################

    echo_info "5. building the compilation directives ..."
    
    
231 232 233 234 235 236 237 238 239 240 241 242 243
    SOFTMODEM_DIRECTIVES="DEBUG=$DEBUG XFORMS=$XFORMS "
    OAISIM_DIRECTIVES="DEBUG=$DEBUG XFORMS=$XFORMS "
    
    if [ $ENB_S1 = 1 ]; then 
	SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES USE_MME=R10 ENABLE_ITTI=1 LINK_PDCP_TO_GTPV1U=1  SECU=1 "
	OAISIM_DIRECTIVES="$OAISIM_DIRECTIVES USE_MME=R10 ENABLE_ITTI=1 LINK_PDCP_TO_GTPV1U=1  SECU=1 "
    fi 
    
    if [ $DEBUG = 0 ]; then 
	SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES DISABLE_XER_PRINT=1 "
	OAISIM_DIRECTIVES="$OAISIM_DIRECTIVES DISABLE_XER_PRINT=1 "
    fi 

244 245 246 247 248
    if [ $HW = "USRP" ]; then 
	SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES USRP=1 "
    fi
    
    if [ $HW = "EXMIMO" ]; then 
249
	SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES EXMIMO=1 "
250 251 252
    fi
    
    if [ $HW = "ETHERNET" ]; then 
253
	SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES ETHERNET=1 "
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
    fi 
    
    if [ $ENB_S1 -eq 0 ]; then 
	SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES NAS=1 "
	OAISIM_DIRECTIVES="$OAISIM_DIRECTIVES NAS=1 "
    fi 
    
    if [ $REL = "REL8" ]; then
	SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES Rel8=1 "
	OAISIM_DIRECTIVES="$OAISIM_DIRECTIVES Rel8=1 "
    else 
	SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES Rel10=1 "
	OAISIM_DIRECTIVES="$OAISIM_DIRECTIVES Rel10=1 "
    fi
    
    if [ $RT = "RTAI" ]; then 
	if [ ! -f /usr/realtime/modules/rtai_hal.ko ];   then
	    echo_warning "RTAI doesn't seem to be installed"
	    RT="NONE"
	    SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES RTAI=0 "
	else 
	    SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES HARD_RT=1 "
	fi
    else 
	SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES RTAI=0 "
	RT="NONE"
    fi
    
    if [ $TARGET != "ALL" ]; then 
	if [ $TARGET  != "SOFTMODEM" ]; then 
	    HW="NONE"
	fi
    fi
    
288 289 290 291 292 293 294
    if [ $UBUNTU_REL = "12.04" ]; then 
	output=$(check_for_machine_type 2>&1) 
	MACHINE_ARCH=$?
   	if [ $MACHINE_ARCH -eq 64 ]; then
	    SOFTMODEM_DIRECTIVES="$SOFTMODEM_DIRECTIVES LIBCONFIG_LONG=1 "
	    OAISIM_DIRECTIVES="$OASIM_DIRECTIVES LIBCONFIG_LONG=1 "
	fi
295 296 297 298 299 300 301 302 303
    fi
    
    echo_success "SOFTMODEM Compilation directives: $SOFTMODEM_DIRECTIVES"
    echo_success "OAISIM Compilation directives:    $OAISIM_DIRECTIVES"
    
    echo "SOFTMODEM Compilation directives: $SOFTMODEM_DIRECTIVES" >>  bin/${oai_build_date}
    echo "OAISIM Compilation directive:    $OAISIM_DIRECTIVES" >>  bin/${oai_build_date}
    
    
304 305 306 307
############################################
# check the installation
############################################

308
    echo_info "6. Checking the installation ..."
309

310
    check_install_oai_software  
311 312 313
    if [ $HW = "USRP" ]; then 
	check_install_usrp_uhd_driver 
    fi
314
    check_install_asn1c
315 316 317 318 319

############################################
# compile 
############################################

320
    echo_info "7. compiling and installing the OAI binaries ..."
321

322 323 324
    softmodem_compiled=1
    oaisim_compiled=1
    unisim_compiled=1
325
    
326
    if [ $TARGET = "ALL" ]; then
327
	echo "############# compile_ltesoftmodem #############" >> bin/install_log.txt 
328
	output=$(compile_ltesoftmodem  >> bin/install_log.txt  2>&1 )
329 330
	softmodem_compiled=$?
	check_for_ltesoftmodem_executable
331 332
	echo_info "7.1 finished ltesoftmodem target : check the installation log file bin/install_log.txt" 
	
333
	echo "################ compile_oaisim #################"  >> bin/install_log.txt 
334 335
	output=$(compile_oaisim      >> bin/install_log.txt   2>&1 )
	oaisim_compiled=$?
336
	check_for_oaisim_executable
337 338
	echo_info "7.2 finished oaisim target : check the installation log file bin/install_log.txt" 
	
339
	echo "################## compile_unisim ##################"  >> bin/install_log.txt 
340
	output=$(compile_unisim      >> bin/install_log.txt  2>&1 )
341 342 343 344 345 346 347 348
	unisim_compiled=$?
	check_for_dlsim_executable
	check_for_ulsim_executable
	check_for_pucchsim_executable
	check_for_prachsim_executable
	check_for_pdcchsim_executable
	check_for_pbchsim_executable
	check_for_mbmssim_executable
349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383
	echo_info "7.3 finished unisim target : check the installation log file bin/install_log.txt" 
	
	
    else
	
	if [ $TARGET = "SOFTMODEM" ]; then 
	    echo "############# compile_ltesoftmodem #############" >> bin/install_log.txt 
	    output=$(compile_ltesoftmodem   >> bin/install_log.txt 2>&1 )
	    softmodem_compiled=$?
	    check_for_ltesoftmodem_executable
	    echo_info "7.1 finished ltesoftmodem target: check the installation log file bin/install_log.txt" 
	    
	fi
	if [ $TARGET = "OAISIM" ]; then 
	    echo "################ compile_oaisim #################"  >> bin/install_log.txt 
	    output=$(compile_oaisim   >> bin/install_log.txt 2>&1 )
	    oaisim_compiled=$?	
	    check_for_oaisim_executable
	    echo_info "7.2 finished oaisim target: check the installation log file bin/install_log.txt" 
	    
	fi
	if [ $TARGET = "UNISIM" ]; then 
	    echo "################## compile_unisim ##################"  >> bin/install_log.txt 
	    output=$(compile_unisim   >> bin/install_log.txt 2>&1 )
	    unisim_compiled=$?
	    check_for_dlsim_executable
	    check_for_ulsim_executable
	    check_for_pucchsim_executable
	    check_for_prachsim_executable
	    check_for_pdcchsim_executable
	    check_for_pbchsim_executable
	    check_for_mbmssim_executable
	    echo_info "7.3 finished unisim target: check the installation log file bin/install_log.txt" 
	    
	fi
384 385 386 387
    fi


############################################
388
# install 
389 390
############################################

391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410
    echo_info "8. Installing ..."
    
    if [ $softmodem_compiled = 0 ]; then 
	echo_success "target lte-softmodem built and installed in the bin directory"
	echo "target lte-softmodem built and installed in the bin directory"  >>  bin/${oai_build_date}
	output=$(install_ltesoftmodem $RT $HW $ENB_S1 )
    fi
    if [ $oaisim_compiled = 0 ]; then 
	echo_success "target oaisim built and installed in the bin directory"
	echo "target oaisim built and installed in the bin directory"  >>  bin/${oai_build_date}
	output=$(install_oaisim $ENB_S1 )
    fi 
    if [ $unisim_compiled =  0 ]; then 
	echo_success "target unisim built and installed in the bin directory"
	echo "target unisim built and installed in the bin directory"  >>  bin/${oai_build_date}
    fi 
    
    echo_info "build terminated, binaries are located in bin/"
    echo_info "build terminated, logs are located in bin/${oai_build_date} and bin/install_log.txt"
    
411 412


413 414
}
build_epc(){
Navid Nikaein's avatar
 
Navid Nikaein committed
415 416 417

    epc_compiled=1

418 419 420 421 422 423
    
    echo_info "Note: this scripts works only for Ubuntu 12.04"

######################################
# CHECK MISC SOFTWARES AND LIBS      #
######################################
Navid Nikaein's avatar
 
Navid Nikaein committed
424
    echo_info "4. check the required packages for HSS"
425 426 427 428 429

    check_install_epc_software
   
    check_install_asn1c
    
Navid Nikaein's avatar
 
Navid Nikaein committed
430
    if [ $OAI_CLEAN = 1 ]; then
431
	check_install_freediamter
Navid Nikaein's avatar
 
Navid Nikaein committed
432 433 434 435
    else 
	if [ ! -d /usr/local/etc/freeDiameter ]; then
	    check_install_freediamter
	fi
436 437 438 439 440 441 442
    fi
    check_s6a_certificate

###########################################
# configure and compile
##########################################

Navid Nikaein's avatar
 
Navid Nikaein committed
443 444 445 446 447 448 449
    echo_info "5. configure and compile epc"

    output=$(compile_epc $OAI_CLEAN  >> bin/install_log.txt  2>&1 )
    epc_compiled=$?
    check_for_epc_executable
    echo_info "finished epc target: check the installation log file bin/install_log.txt" 
	    
450
    
Navid Nikaein's avatar
 
Navid Nikaein committed
451 452 453 454 455 456 457 458 459 460
###########################################
# install the binary in bin
##########################################

    echo_info "6. install the binary file"

    if [ $epc_compiled = 0 ]; then 
	echo_success "target epc built and installed in the bin directory"
	echo "target epc built and installed in the bin directory"  >>  bin/${oai_build_date}
	cp -f $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/epc.generic.conf  $OPENAIR_TARGETS/bin
Navid Nikaein's avatar
Navid Nikaein committed
461
	cp -f $OPENAIRCN_DIR/objs/UTILS/CONF/s6a.conf  $OPENAIR_TARGETS/bin
Navid Nikaein's avatar
 
Navid Nikaein committed
462 463 464
    fi
    
######################################
Navid Nikaein's avatar
Navid Nikaein committed
465
# run 
Navid Nikaein's avatar
 
Navid Nikaein committed
466 467
######################################
    echo_info "7. run EPC (check the bin/epc.generic.conf params)"
Navid Nikaein's avatar
Navid Nikaein committed
468 469
    cd bin/
    $SUDO ./oai_epc -c ./epc.generic.conf  -K /tmp/itti.log
470 471 472 473 474

}

build_hss(){

Navid Nikaein's avatar
 
Navid Nikaein committed
475 476 477
    hss_compiled=1
    
    echo_info "Note: this scripts works only for Ubuntu 12.04"
478 479 480 481

######################################
# CHECK MISC SOFTWARES AND LIBS      #
######################################
Navid Nikaein's avatar
 
Navid Nikaein committed
482 483 484
    echo_info "4. check the required packages for HSS"
    hss_certificate_generated=1;
    
485 486
    check_install_hss_software
    
Navid Nikaein's avatar
 
Navid Nikaein committed
487
    if [ $OAI_CLEAN = 1 ]; then
488
	check_install_freediamter
Navid Nikaein's avatar
 
Navid Nikaein committed
489 490 491 492
    else 
	if [ ! -d /usr/local/etc/freeDiameter ]; then
	    check_install_freediamter
	fi
493
    fi
Navid Nikaein's avatar
 
Navid Nikaein committed
494 495 496 497
    $(make_certs >> bin/install_log.txt  2>&1)
    output=$(check_s6a_certificate >> bin/install_log.txt  2>&1)
    hss_certificate_generated=$?
  
498 499 500
######################################
# compile HSS                        #
######################################
Navid Nikaein's avatar
 
Navid Nikaein committed
501
    echo_info "5. compile HSS"
502
    
Navid Nikaein's avatar
 
Navid Nikaein committed
503
     output=$(compile_hss  $OAI_CLEAN >> bin/install_log.txt  2>&1 )
Navid Nikaein's avatar
 
Navid Nikaein committed
504 505 506 507
     hss_compiled=$?
     check_for_hss_executable
     echo_info "finished hss target: check the installation log file bin/install_log.txt" 
 
508 509 510
######################################
# fill the HSS DB
######################################
Navid Nikaein's avatar
 
Navid Nikaein committed
511
     echo_info "6. create HSS database (for EURECOM SIM CARDS)"
Navid Nikaein's avatar
 
Navid Nikaein committed
512
     hss_db_created=1
Navid Nikaein's avatar
 
Navid Nikaein committed
513 514 515
     USER="hssadmin"
     PW=""
     output=$(create_hss_database $USER $PW )
Navid Nikaein's avatar
 
Navid Nikaein committed
516
     hss_db_created=$?
Navid Nikaein's avatar
 
Navid Nikaein committed
517 518 519
     if [ $hss_db_created = 0 ]; then
	 echo_warning "hss DB not created"
     fi
Navid Nikaein's avatar
 
Navid Nikaein committed
520 521 522
######################################
# install hss
######################################
523

Navid Nikaein's avatar
 
Navid Nikaein committed
524
     echo_info "7. install the binary file"
Navid Nikaein's avatar
 
Navid Nikaein committed
525
     if [ $hss_compiled = 0 ]; then
Navid Nikaein's avatar
 
Navid Nikaein committed
526 527 528 529
	 echo_success "target hss built, DB created  and installed in the bin directory"
	 echo "target hss built, DB created, and installed in the bin directory"  >>  bin/${oai_build_date}
         cp -rf $OPENAIRCN_DIR/OPENAIRHSS/conf  $OPENAIR_TARGETS/bin
	 $SUDO cp $OPENAIR_TARGETS/bin/conf/hss_fd.local.conf /etc/openair-hss
Navid Nikaein's avatar
 
Navid Nikaein committed
530
     fi
531 532 533 534

######################################
# LAUNCH HSS                         #
######################################
Navid Nikaein's avatar
 
Navid Nikaein committed
535 536 537
     echo_info "8. run hss in bin/:  ./openair-hss -c conf/hss.local.conf"
     cd bin
     ./openair-hss -c conf/hss.local.conf
538 539
}

540

Navid Nikaein's avatar
Navid Nikaein committed
541
 
542 543 544 545
############################################
# set the build 
############################################

Navid Nikaein's avatar
 
Navid Nikaein committed
546
echo_info "3. set the top-level build target"
547 548 549 550 551 552 553 554 555 556 557 558 559
case "$BUILD_LTE" in
    'ENB')           
	echo_success "build LTE eNB"
	build_enb
	;;
    'EPC')           
	echo_warning "build EPC(MME and xGW): Experimental"
	build_epc
	;;
    'HSS')           
	echo_warning "build HSS: Experimental"
	build_hss 
	;;
560 561
    'NONE')
	;;
562 563 564
    *)
	echo_error "Unknown option $BUILD_LTE: do not build"
	;;
565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596
esac

# Additional operation 

############################################
# Generate doxygen documentation
############################################
    
    if [ $DOXYGEN = 1 ]; then 
	echo_info "9. Generate doxygen documentation ..."
	doxygen $OPENAIR_TARGETS/DOCS/Doxyfile
	echo_info "9.1 use your navigator to open $OPENAIR_TARGETS/DOCS/html/index.html "
    else 
	echo_info "9. Bypassing doxygen documentation ..."
    fi 


############################################
# testing
############################################
    
    if [ $OAI_TEST = 1 ]; then 
	echo_info "10. Testing ..."
	python $OPENAIR_TARGETS/TEST/OAI/test01.py
    else 
	echo_info "10. Bypassing the Tests ..."
    fi 
    
############################################
# run 
############################################
    echo_info "11. Running ... To be done"