#!/bin/bash #/* # * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more # * contributor license agreements. See the NOTICE file distributed with # * this work for additional information regarding copyright ownership. # * The OpenAirInterface Software Alliance licenses this file to You under # * the OAI Public License, Version 1.0 (the "License"); you may not use this file # * except in compliance with the License. # * You may obtain a copy of the License at # * # * http://www.openairinterface.org/?page_id=698 # * # * Unless required by applicable law or agreed to in writing, software # * distributed under the License is distributed on an "AS IS" BASIS, # * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # * See the License for the specific language governing permissions and # * limitations under the License. # *------------------------------------------------------------------------------- # * For more information about the OpenAirInterface (OAI) Software Alliance: # * contact@openairinterface.org # */ # file build_test_epc_tools # brief # author Lionel Gauthier # company Eurecom # email: lionel.gauthier@eurecom.fr # ################################ # include helper functions ################################ THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) source $THIS_SCRIPT_PATH/build_helper function help() { echo_error " " echo_error "Usage: build_test_epc_tools [OPTION]..." echo_error "Build the executables for generating and running a test case for EPC." echo_error " " echo_error "Options:" echo_error "Mandatory arguments to long options are mandatory for short options too." echo_error " -c, --clean Clean the build generated files (build from scratch)" echo_error " -d, --debug Compile with debug informations." echo_error " -h, --help Print this help." echo_error " -v, --verbose Build process verbose." echo_error " " } function main() { local -i clean=0 local -i verbose=0 local cmake_args=" " local make_args="-j $NUM_CPU" local realm="" until [ -z "$1" ] do case "$1" in -c | --clean) clean=1 echo "Clean the build generated files (build from scratch)" shift; ;; -d | --debug) cmake_args="$cmake_args -DDEBUG=1" echo "Compile with debug informations" shift; ;; -h | --help) help shift; exit 0 ;; -v | --verbose) echo "Make build process verbose" cmake_args="$cmake_args -DCMAKE_VERBOSE_MAKEFILE=ON" make_args="VERBOSE=1 $make_args" verbose=1 shift; ;; *) echo "Unknown option $1" help exit 1 ;; esac done set_openair_env if [[ $verbose -eq 1 ]]; then cecho "OPENAIR_DIR = $OPENAIR_DIR" $green fi local dbin=$OPENAIR_DIR/targets/bin local dlog=$OPENAIR_DIR/cmake_targets/log local dconf=$OPENAIR_DIR/targets/bin mkdir -m 777 -p $dbin $dlog ############################################################################## # Compile userspace executable ############################################################################## cd $OPENAIR_DIR/cmake_targets/epc_test if [ $clean -ne 0 ]; then if [[ $verbose -eq 1 ]]; then echo "Cleaning TEST_EPC" fi rm -f $OPENAIR_DIR/targets/bin/test_epc_generate_scenario rm -f $OPENAIR_DIR/targets/bin/test_epc_play_scenario rm -Rf build 2>&1 mkdir -m 777 -p -v build fi ############################################################################## # Compile EPC ############################################################################## cd $OPENAIR_DIR/cmake_targets/epc_test if [ ! -d ./build ]; then mkdir -m 777 -p -v build fi cmake_file=./CMakeLists.txt cp $OPENAIR_DIR/cmake_targets/epc_test/CMakeLists.template $cmake_file echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file cd ./build cmake $cmake_args .. compilations \ epc_test test_epc_generate_scenario \ test_epc_generate_scenario $dbin/test_epc_generate_scenario compilations \ epc_test test_epc_play_scenario \ test_epc_play_scenario $dbin/test_epc_play_scenario $SUDO cp -upv test_epc_generate_scenario /usr/local/bin $SUDO cp -upv test_epc_play_scenario /usr/local/bin } main "$@"