Commit 73bc9ea1 authored by Yann Garcia's avatar Yann Garcia
Browse files

Add AtsIVIM & AtsRtcmem

parent 7ad6a338
......@@ -48,7 +48,10 @@ bindir := $(TOPDIR)/bin
sources := $(sort $(all_sources))
includes := $(outdir) $(outdir)/.. $(outdir)/../asn1 $(all_includes) $(NPCAP_INCLUDE)
EXE=.exe
ifeq (Windows_NT,$(OS))
EXE=.exe
endif
ttcn_sources := $(filter %.ttcn , $(sources))
ttcn3_sources := $(filter %.ttcn3, $(sources))
asn_sources := $(filter %.asn, $(sources))
......@@ -114,7 +117,7 @@ $(cc_objects) : $(outdir)/%.o : %.cc
$(gen_sources): $(outdir)/.generate
$(outdir)/.generate: Makefile $(tt_sources)
$(TTCN3_DIR)/bin/compiler -n -e -L -R -U none -o $(outdir) $(tt_sources)
$(TTCN3_DIR)/bin/compiler -d -e -f -g -l -L -R -U none -x -X -o $(outdir) $(tt_sources)
touch $@
$(bindir)/libItsAsn.so: $(outdir)/asn1/libItsAsn.so
......
#ifndef AdapterControlPort_Rtcmem_HH
#define AdapterControlPort_Rtcmem_HH
#include "LibItsSremSsem_TestSystem.hh"
//=============================================================================
#include "LibItsRtcmem_TestSystem.hh"
......
#ifndef UpperTesterPort_Rtcmem_HH
#define UpperTesterPort_Rtcmem_HH
#include "layer.hh"
#include "params.hh"
//=============================================================================
#include "LibItsRtcmem_TestSystem.hh"
namespace LibItsRtcmem__TestSystem {
......
sources := AdapterControlPort_Rtcmem.cc AdapterControlPort_Rtcmem.hh RtcmemPort.cc RtcmemPort.hh UpperTesterPort_Rtcmem.cc UpperTesterPort_Rtcmem.hh
sources := AdapterControlPort_Rtcmem.cc RtcmemPort.cc UpperTesterPort_Rtcmem.cc
includes := .
......@@ -38,6 +38,12 @@
#include "SremSsem_ports/UpperTesterPort_SremSsem.hh"
#endif
#ifdef AtsIvim
#include "GN_ports/UpperTesterPort_GN.hh"
#include "BTP_ports/UpperTesterPort_BTP.hh"
#include "IVIM_ports/UpperTesterPort_IVIM.hh"
#endif
#ifdef AtsMapemSpatem
#include "GN_ports/UpperTesterPort_GN.hh"
#include "BTP_ports/UpperTesterPort_BTP.hh"
......@@ -50,6 +56,17 @@
#include "Rtcmem_ports/UpperTesterPort_Rtcmem.hh"
#endif
#ifdef AtsRSUsSimulator // Thsi is not an Abstract Test Suit, but an helper tool to simulate basic RSU/OBU functionalities
#include "GN_ports/UpperTesterPort_GN.hh"
#include "BTP_ports/UpperTesterPort_BTP.hh"
#include "CAM_ports/UpperTesterPort_CAM.hh"
#include "DENM_ports/UpperTesterPort_DENM.hh"
#include "IVIM_ports/UpperTesterPort_IVIM.hh"
#include "MapemSpatem_ports/UpperTesterPort_MapemSpatem.hh"
#include "SremSsem_ports/UpperTesterPort_SremSsem.hh"
#include "Rtcmem_ports/UpperTesterPort_Rtcmem.hh"
#endif
#else //_NO_SOFTLINKS_
#ifdef AtsGeoNetworking
......@@ -80,10 +97,10 @@
#include "UpperTesterPort_DENM.hh"
#endif
#ifdef AtsSremSsem
#ifdef AtsIvim
#include "UpperTesterPort_GN.hh"
#include "UpperTesterPort_BTP.hh"
#include "UpperTesterPort_SremSsem.hh"
#include "UpperTesterPort_IVIM.hh"
#endif
#ifdef AtsMapemSpatem
......@@ -92,12 +109,29 @@
#include "UpperTesterPort_MapemSpatem.hh"
#endif
#ifdef AtsSremSsem
#include "UpperTesterPort_GN.hh"
#include "UpperTesterPort_BTP.hh"
#include "UpperTesterPort_SremSsem.hh"
#endif
#ifdef AtsRtcmem
#include "UpperTesterPort_GN.hh"
#include "UpperTesterPort_BTP.hh"
#include "UpperTesterPort_Rtcmem.hh"
#endif
#ifdef AtsRSUsSimulator // Thsi is not an Abstract Test Suit, but an helper tool to simulate basic RSU/OBU functionalities
#include "UpperTesterPort_GN.hh"
#include "UpperTesterPort_BTP.hh"
#include "UpperTesterPort_CAM.hh"
#include "UpperTesterPort_DENM.hh"
#include "UpperTesterPort_IVIM.hh"
#include "UpperTesterPort_MapemSpatem.hh"
#include "UpperTesterPort_SremSsem.hh"
#include "UpperTesterPort_Rtcmem.hh"
#endif
#endif//_NO_SOFTLINKS_
#endif
sources := ivim_codec.cc ivim_layer.cc ivim_pdu_codec.cc
sources := ivim_codec.cc ivim_layer.cc ivim_pdu_codec.cc
includes := .
sources := RtcmemCodec.cc RtcmemLayer.cc
includes := .
......@@ -19,6 +19,9 @@ endif
ifeq (AtsSremSsem, $(ATS))
sources += UpperTesterSremSsemCodec.cc UpperTesterSremSsemLayer.cc
endif
ifeq (AtsRtcmem, $(ATS))
sources += UpperTesterRtcmemCodec.cc UpperTesterRtcmemLayer.cc
endif
ifeq (AtsDENM, $(ATS))
sources += uppertester_denm_codec.cc uppertester_denm_layer.cc
endif
......@@ -35,6 +38,7 @@ sources += uppertester_cam_codec.cc uppertester_cam_layer.cc \
uppertester_ivim_codec.cc uppertester_ivim_layer.cc \
UpperTesterSremSsemCodec.cc UpperTesterSremSsemLayer.cc \
uppertester_mapem_spatem_codec.cc uppertester_mapem_spatem_layer.cc \
UpperTesterRtcmemCodec.cc UpperTesterRtcmemLayer.cc \
uppertester_pki_codec.cc uppertester_pki_layer.cc \
endif
......
#!/bin/bash
#set -e
set -vx
function f_exit {
cd ${CURPWD}
unset TTCN_FILES
unset CC_FILES
unset CFG_FILES
unset EXECUTABLE
echo $1
exit $2
}
function f_usage {
echo "build.bash: This script import from External Disk the "
echo "Optional arguments:"
echo " prof: Generate a makefile including profiling options (e.g. ./build.bash prof)"
exit 0
}
clear
if [ "$1" == "help" ]
then
f_usage
fi
ATS_NAME=AutoInterop
#CURPWD=`pwd`
if [ ! "${PWD##*/}" == "objs" ]
then
cd ../objs
if [ ! $? == 0 ]
then
echo "Please move to PROJECT/obj directory"
exit 1
fi
fi
# Remove everything
rm -fr ../objs/*.hh
rm -fr ../objs/*.cc
rm -fr ../objs/*.log
rm -fr ../objs/*.o
rm -fr ../objs/Makefile
# Remove useless files
find .. -type f -name "*~" -exec rm {} \;
find .. -type f -name "*.bak" -exec rm {} \;
find .. -type f -name "*.log" -exec rm {} \;
# Build XSD files if any and put them in objs directory
if [ -d ../xsd ]
then
XSD_FILES=`find ../xsd -name '*.xsd'`
if [ "${OSTYPE}" == "cygwin" ]
then
xsd2ttcn.exe ${XSD_FILES}
else
xsd2ttcn ${XSD_FILES}
fi
if [ "$?" != "0" ]
then
f_exit "Failed to generate XSD source code" 2
fi
fi
# Build ASN.1 files if any and put them in objs directory
ASN1_PATH=${PATH_DEV_ITS}/ttcn/LibIts/asn1
if [ -d ${ASN1_PATH} ]
then
ASN1_FILES=`find ${ASN1_PATH} -name '*.asn*'`
if [ "${OSTYPE}" == "cygwin" ]
then
asn1_compiler.exe -e ${ASN1_FILES}
else
asn1_compiler -e ${ASN1_FILES}
fi
if [ "$?" != "0" ]
then
f_exit "Failed to generate ASN.1 source code" 3
fi
fi
REFERENCES="LibCommon LibIts/Common LibIts/BTP LibIts/GeoNetworking LibIts/Ipv6OverGeoNetworking LibIts/Security LibIts/CAM LibIts/DENM LibIts/IVIM LibIts/MapemSpatem LibIts/SremSsem LibIts/Http LibIts/Pki"
for i in ${REFERENCES}
do
# TTCN code
for j in `find ${PATH_DEV_ITS}/src/$i/ttcn -type f -name "*.ttcn"`;
do
ln -sf $j ../ttcn/`basename $j`
done
# Include source code
files=`find ${PATH_DEV_ITS}/src/$i/include -type f`
if [ "${files}" != " " ]
then
for j in ${files};
do
ln -sf $j ../include/`basename $j`
done
fi
# CC source code
files=`find ${PATH_DEV_ITS}/src/$i/src -type f`
if [ "${files}" != " " ]
then
for j in ${files};
do
ln -sf $j ../src/`basename $j`
done
fi
done
# Generate the list of the TTCN-3 files
TTCN_FILES=`find .. -name '*.ttcn*'`
# Start ATS generation - Step 1
if [ "${OSTYPE}" == "cygwin" ]
then
rm ../bin/*.exe ../lib/*.dll
compiler.exe -d -e -f -g -j -l -L -n -t -R -U none -x -X ${TTCN_FILES} ${ASN1_FILES} 2>&1 3>&1 | tee build.log
if [ "$?" == "1" ]
then
f_exit "Failed to compile ATS" 4
fi
else
compiler -d -e -f -g -l -L -n -t -R -U none -x -X ${TTCN_FILES} ${ASN1_FILES} 2>&1 3>&1 | tee build.log
if [ "$?" == "1" ]
then
f_exit "Failed to generate ATS source code" 6
fi
fi
# Sart ATS generation - Step 2
# Create working variables
CC_FILES=`find ../src -name '*.c*'`
FWK_FILES=`find ${PATH_DEV_ITS}/framework/ -name '*.c*'`
CFG_FILES=`find ../etc -name '*.cfg'`
# Sart ATS generation - Step 3
if [ "${OSTYPE}" == "cygwin" ]
then
ttcn3_makefilegen.exe -d -f -g -m -R -U none -e Ats${ATS_NAME} ${TTCN_FILES} ${ASN1_FILES} ${CC_FILES} ${FWK_FILES} ${CFG_FILES} | tee --append build.log
if [ "$?" == "1" ]
then
f_exit "Failed to compile ATS" 5
fi
else
ttcn3_makefilegen -d -f -g -m -R -U none -e Ats${ATS_NAME} ${TTCN_FILES} ${ASN1_FILES} ${CC_FILES} ${FWK_FILES} ${CFG_FILES} | tee --append build.log
if [ "$?" == "1" ]
then
f_exit "Failed to generate ATS source code" 7
fi
fi
# Remove port skeletons to use src/<port skeletons>
for i in `ls ../include/*.hh`
do
if [ -f ./`basename $i` ]
then
rm ./`basename $i`
fi
done
for i in `ls ../src/*.cc`
do
if [ -f ./`basename $i` ]
then
rm ./`basename $i`
fi
done
# Check if Makefile was generated
if [ ! -f ./Makefile ]
then
f_exit "Failed to generate ATS source code" 8
fi
# Patch ATS generated files
#./bin/patch.bash 2>&1 3>&1 | tee --append build.log
# Add compiler/linker options
if [ "$1" == "prof" ]
then
if [ "${OSTYPE}" == "cygwin" ]
then
CXXFLAGS_DEBUG_MODE='s/-Wall/-pg -Wall -std=c++11 -fPIC -D_XOPEN_SOURCE=700 -pthreads -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g' # -DASN_DISABLE_OER_SUPPORT
else
CXXFLAGS_DEBUG_MODE='s/-Wall/-pg -Wall -std=c++11 -fPIC -pthreads -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g' # -DASN_DISABLE_OER_SUPPORT
fi
LDFLAGS_DEBUG_MODE='s/LDFLAGS = /LDFLAGS = -pg -pthread -fPIC -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g'
else
if [ "${OSTYPE}" == "cygwin" ]
then
CXXFLAGS_DEBUG_MODE='s/-Wall/-ggdb -O0 -Wall -std=c++11 -fPIC -D_XOPEN_SOURCE=700 -pthread -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g' # -DASN_DISABLE_OER_SUPPORT
else
CXXFLAGS_DEBUG_MODE='s/-Wall/-ggdb -O0 -Wall -std=c++11 -fPIC -pthread -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g' # -DASN_DISABLE_OER_SUPPORT
fi
LDFLAGS_DEBUG_MODE='s/LDFLAGS = /LDFLAGS = -g -pthread -fPIC -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g'
fi
ADD_INCLUDE='/CPPFLAGS = /a\\CPPFLAGS += -I/usr/local/share -I$(PATH_DEV_ITS)/include -I$(PATH_DEV_ITS)/include/asn1 -I$(PATH_DEV_ITS)/framework/include -I../include -I../../LibIts/Common/include -I../../LibIts/BTP/include -I../../LibIts/CAM/include -I../../LibIts/DENM/include -I$(HOME_INC) -I.'
ADD_LIBRARIES='s/LINUX_LIBS = -lxml2/LINUX_LIBS = -lrt -lxml2 -lstdc++fs -lpcap -L$(PATH_DEV_ITS)\/lib -lItsAsn /g'
sed --in-place "${CXXFLAGS_DEBUG_MODE}" ./Makefile
sed --in-place "${LDFLAGS_DEBUG_MODE}" ./Makefile
sed --in-place "${ADD_INCLUDE}" ./Makefile
sed --in-place "${ADD_LIBRARIES}" ./Makefile
# Update COMPILER_FLAGS
COMPILER_FLAGS='s/COMPILER_FLAGS = /COMPILER_FLAGS = -e /g'
sed --in-place "${COMPILER_FLAGS}" ./Makefile
# Update clean clause
CLEAN_LINE='s/$(RM) $(EXECUTABLE)/$(RM) ..\/bin\/$(EXECUTABLE) ..\/src\/*.o/g'
sed --in-place "${CLEAN_LINE}" ./Makefile
# Move binary file command
EXECUTABLE=MyExample
MV_CMD='s/all: $(TARGET) ;/all: $(TARGET) ; @if [ -f ..\/objs\/$(EXECUTABLE) ]; then mv ..\/objs\/$(EXECUTABLE) ..\/bin; fi ;/g'
sed --in-place "${MV_CMD}" ./Makefile
# Add run command
ADD_HOST='/PLATFORM = /aHOST=127.0.0.1'
ADD_PORT='/PLATFORM = /aPORT=12000'
sed --in-place "${ADD_PORT}" ./Makefile
sed --in-place "${ADD_HOST}" ./Makefile
ADD_RUN_LINE_1='$arun: all'
ADD_RUN_LINE_2='$a\\t@sudo LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(PWD)/../bin/$(EXECUTABLE) $(HOST) $(PORT)'
sed --in-place "${ADD_RUN_LINE_1}" ./Makefile
sed --in-place "${ADD_RUN_LINE_2}" ./Makefile
ADD_RUN_LINE_1='$arun_d: all'
ADD_RUN_LINE_2='$a\\t@gdb --args $(PWD)/../bin/$(EXECUTABLE) $(HOST) $(PORT)'
sed --in-place "${ADD_RUN_LINE_1}" ./Makefile
sed --in-place "${ADD_RUN_LINE_2}" ./Makefile
ADD_RUN_LINE_1='$arun_v: all'
ADD_RUN_LINE_2='$a\\t@sudo LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --track-fds=yes --run-cxx-freeres=yes $(PWD)/../bin/$(EXECUTABLE) $(HOST) $(PORT)'
sed --in-place "${ADD_RUN_LINE_1}" ./Makefile
sed --in-place "${ADD_RUN_LINE_2}" ./Makefile
# Add Doxygen entry
ADD_RUN_LINE_1='$agendoc:'
ADD_RUN_LINE_2='$a\\tdoxygen ../docs/o2.cfg'
sed --in-place "${ADD_RUN_LINE_1}" ./Makefile
sed --in-place "${ADD_RUN_LINE_2}" ./Makefile
# Build all
make all 2>&1 3>&1 | tee --append build.log
if [ "$?" != "0" ]
then
f_exit "Failed to generate ATS source code" 9
fi
../bin/Ats${ATS_NAME} -v
if [ "$?" != "0" ]
then
f_exit "Failed to execute binary file Ats${ATS_NAME}" 10
fi
f_exit "Build done successfully" 0
#!/bin/bash
#set -e
set -vx
function f_exit {
cd ${CURPWD}
unset TTCN_FILES
unset CC_FILES
unset CFG_FILES
unset EXECUTABLE
echo $1
exit $2
}
function f_usage {
echo "build.bash: This script import from External Disk the "
echo "Optional arguments:"
echo " prof: Generate a makefile including profiling options (e.g. ./build.bash prof)"
exit 0
}
clear
if [ "$1" == "help" ]
then
f_usage
fi
ATS_NAME=BTP
#CURPWD=`pwd`
if [ ! "${PWD##*/}" == "objs" ]
then
cd ../objs
if [ ! $? == 0 ]
then
echo "Please move to PROJECT/obj directory"
exit 1
fi
fi
# Remove everything
rm -fr ../objs/*.hh
rm -fr ../objs/*.cc
rm -fr ../objs/*.log
rm -fr ../objs/*.o
rm -fr ../objs/Makefile
# Remove useless files
find .. -type f -name "*~" -exec rm {} \;
find .. -type f -name "*.bak" -exec rm {} \;
find .. -type f -name "*.log" -exec rm {} \;
# Build XSD files if any and put them in objs directory
if [ -d ../xsd ]
then
XSD_FILES=`find ../xsd -name '*.xsd'`
if [ "${OSTYPE}" == "cygwin" ]
then
xsd2ttcn.exe ${XSD_FILES}
else
xsd2ttcn ${XSD_FILES}
fi
if [ "$?" != "0" ]
then
f_exit "Failed to generate XSD source code" 2
fi
fi
# Build ASN.1 files if any and put them in objs directory
ASN1_PATH=${PATH_DEV_ITS}/ttcn/LibIts/asn1
if [ -d ${ASN1_PATH} ]
then
ASN1_FILES=`find ${ASN1_PATH} -name '*.asn*'`
if [ "${OSTYPE}" == "cygwin" ]
then
asn1_compiler.exe -e ${ASN1_FILES}
else
asn1_compiler -e ${ASN1_FILES}
fi
if [ "$?" != "0" ]
then
f_exit "Failed to generate ASN.1 source code" 3
fi
fi
REFERENCES="LibCommon LibIts/Common LibIts/BTP LibIts/GeoNetworking LibIts/Ipv6OverGeoNetworking LibIts/Security LibIts/CAM LibIts/DENM LibIts/IVIM LibIts/MapemSpatem LibIts/SremSsem LibIts/Rtcmem LibIts/Http LibIts/Pki"
for i in ${REFERENCES}
do
# TTCN code
for j in `find ${PATH_DEV_ITS}/src/$i/ttcn -type f -name "*.ttcn"`;
do
ln -sf $j ../ttcn/`basename $j`
done
# Include source code
files=`find ${PATH_DEV_ITS}/src/$i/include -type f`
if [ "${files}" != " " ]
then
for j in ${files};
do
ln -sf $j ../include/`basename $j`
done
fi
# CC source code
files=`find ${PATH_DEV_ITS}/src/$i/src -type f`
if [ "${files}" != " " ]
then
for j in ${files};
do
ln -sf $j ../src/`basename $j`
done
fi
done
# Generate the list of the TTCN-3 files
TTCN_FILES=`find .. -name '*.ttcn*'`
# Start ATS generation - Step 1
if [ "${OSTYPE}" == "cygwin" ]
then
rm ../bin/*.exe ../lib/*.dll
compiler.exe -d -e -f -g -j -l -L -n -t -R -U none -x -X ${TTCN_FILES} ${ASN1_FILES} 2>&1 3>&1 | tee build.log
if [ "$?" == "1" ]
then
f_exit "Failed to compile ATS" 4
fi
else
compiler -d -e -f -g -l -L -n -t -R -U none -x -X ${TTCN_FILES} ${ASN1_FILES} 2>&1 3>&1 | tee build.log
if [ "$?" == "1" ]
then
f_exit "Failed to generate ATS source code" 6
fi
fi
# Sart ATS generation - Step 2
# Create working variables
CC_FILES=`find ../src -name '*.c*'`
FWK_FILES=`find ${PATH_DEV_ITS}/framework/ -name '*.c*'`
CFG_FILES=`find ../etc -name '*.cfg'`
# Sart ATS generation - Step 3
if [ "${OSTYPE}" == "cygwin" ]
then
ttcn3_makefilegen.exe -d -f -g -m -R -U none -e Ats${ATS_NAME} ${TTCN_FILES} ${ASN1_FILES} ${CC_FILES} ${FWK_FILES} ${CFG_FILES} | tee --append build.log
if [ "$?" == "1" ]
then
f_exit "Failed to compile ATS" 5
fi
else
ttcn3_makefilegen -d -f -g -m -R -U none -e Ats${ATS_NAME} ${TTCN_FILES} ${ASN1_FILES} ${CC_FILES} ${FWK_FILES} ${CFG_FILES} | tee --append build.log
if [ "$?" == "1" ]
then
f_exit "Failed to generate ATS source code" 7
fi
fi
# Remove port skeletons to use src/<port skeletons>
for i in `ls ../include/*.hh`
do
if [ -f ./`basename $i` ]
then
rm ./`basename $i`
fi
done
for i in `ls ../src/*.cc`
do
if [ -f ./`basename $i` ]
then
rm ./`basename $i`
fi
done
# Check if Makefile was generated
if [ ! -f ./Makefile ]
then
f_exit "Failed to generate ATS source code" 8
fi
# Patch ATS generated files
#./bin/patch.bash 2>&1 3>&1 | tee --append build.log
# Add compiler/linker options
if [ "$1" == "prof" ]
then
if [ "${OSTYPE}" == "cygwin" ]
then
CXXFLAGS_DEBUG_MODE='s/-Wall/-pg -Wall -std=c++11 -fPIC -DAS_USE_SSL -D_XOPEN_SOURCE=700 -pthreads -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g'
else
CXXFLAGS_DEBUG_MODE='s/-Wall/-pg -Wall -std=c++11 -fPIC -DAS_USE_SSL -pthreads -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g'
fi
LDFLAGS_DEBUG_MODE='s/LDFLAGS = /LDFLAGS = -pg -pthread -fPIC -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g'
else
if [ "${OSTYPE}" == "cygwin" ]
then
CXXFLAGS_DEBUG_MODE='s/-Wall/-ggdb -O0 -Wall -std=c++11 -fPIC -DAS_USE_SSL -D_XOPEN_SOURCE=700 -pthread -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g'
else
CXXFLAGS_DEBUG_MODE='s/-Wall/-ggdb -O0 -Wall -std=c++11 -fPIC -DAS_USE_SSL -pthread -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g'
fi
LDFLAGS_DEBUG_MODE='s/LDFLAGS = /LDFLAGS = -g -pthread -fPIC -fstack-check -fstack-protector -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer/g'
fi
ADD_INCLUDE='/CPPFLAGS = /a\\CPPFLAGS += -I/usr/local/share -I$(PATH_DEV_ITS)/include -I$(PATH_DEV_ITS)/include/asn1 -I$(PATH_DEV_ITS)/framework/include -I../include -I../../LibIts/Common/include -I../../LibIts/BTP/include -I../../LibIts/CAM/include -I../../LibIts/DENM/include -I$(HOME_INC) -I.'
ADD_LIBRARIES='s/LINUX_LIBS = -lxml2/LINUX_LIBS = -lrt -lxml2 -lssl -lstdc++fs -lpcap -L$(PATH_DEV_ITS)\/lib -lItsAsn /g'
sed --in-place "${CXXFLAGS_DEBUG_MODE}" ./Makefile
sed --in-place "${LDFLAGS_DEBUG_MODE}" ./Makefile
sed --in-place "${ADD_INCLUDE}" ./Makefile
sed --in-place "${ADD_LIBRARIES}" ./Makefile
# Update COMPILER_FLAGS
COMPILER_FLAGS='s/COMPILER_FLAGS = /COMPILER_FLAGS = -e /g'
sed --in-place "${COMPILER_FLAGS}" ./Makefile