Skip to content
GitLab
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
ITS - Intelligent Transport Systems
ITS
Compare revisions
3c77bdb501ab323a157ef033f77e09788344ced2...e2a1461715ccdaea29b4a15e1e3a1702bc496667
Hide whitespace changes
Inline
Side-by-side
data/v3/profiles/CERT_TS_CAM_BO_03_AT.xml
View file @
e2a14617
...
...
@@ -17,7 +17,7 @@
</attribute>
<!-- its_aid_ssp_list -->
<attribute
type=
"its_aid_ssp_list"
>
<ssp
aid=
"CAM"
>
01 DF F
F
</ssp>
<!-- CAM: no specialTransport -->
<ssp
aid=
"CAM"
>
01 DF F
C
</ssp>
<!-- CAM: no specialTransport -->
</attribute>
</subject>
<validity>
...
...
docker/Dockerfile.stfubuntu
View file @
e2a14617
...
...
@@ -37,6 +37,7 @@ RUN echo "docker-STF-dev" > /etc/hostname \
libffi-dev \
libglib2.0-dev \
libgcrypt-dev \
libjsoncpp-dev \
libncurses5-dev \
libpcap-dev \
libqt5svg5-dev \
...
...
docker/home/etc/init.d/20-eclipse.sh
View file @
e2a14617
#!/bin/bash
ECLIPSE_URL
=
'https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2020-06/R/eclipse-jee-2020-06-R-linux-gtk-x86_64.tar.gz&r=1'
TITAN_URL
=
'https://www.eclipse.org/downloads/download.php?file=/titan/TITAN_Designer_and_Executor_Plugin_7.1.0.zip&r=1'
#set -e
set
-vx
echo
-e
"*****************************
\n
* Install eclipse
\n
*****************************
\n
"
mkdir
-p
${
HOME
}
/frameworks
cd
${
HOME
}
/frameworks
||
exit
1
wget
--progress
=
dot:mega
'http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/2020-06/R/eclipse-cpp-2020-06-R-linux-gtk-x86_64.tar.gz'
-Oeclipse-cpp-2020-06-R-linux-gtk-x86_64
.tar.gz
||
exit
1
...
...
@@ -13,8 +17,8 @@ rm -f ./eclipse-cpp-2020-06-R-linux-gtk-x86_64.tar.gz
if
wget
--progress
=
dot:mega
'https://mirrors.dotsrc.org/eclipse//titan/TITAN_Designer_and_Executor_Plugin_7.1.0.zip'
-OTITAN_Designer_and_Executor_plugin
.zip
;
then
eclipse/eclipse
-noSplash
-application
org.eclipse.equinox.p2.director
\
-destination
${
HOME
}
/frameworks/eclipse
\
-repository
jar:file://
${
HOME
}
/frameworks/TITAN_Designer_and_Executor_plugin.zip!/
\
-destination
/home/etsi
/frameworks/eclipse
\
-repository
'
jar:file://
/home/etsi
/frameworks/TITAN_Designer_and_Executor_plugin.zip!/
'
\
-installIU
TITAN_Designer.feature.group,TITAN_Executor.feature.group,TITAN_Log_Viewer.feature.group,Titan_external_dependencies.feature.group,Titanium.feature.group,Titanium_external_dependencies.feature.group
rm
-f
TITAN_Designer_and_Executor_plugin.zip
fi
...
...
docker/home/etc/init.d/40-ttf002.sh
View file @
e2a14617
...
...
@@ -21,10 +21,6 @@ cd ${HOME}/dev/Workspace/TTF0002
ln
-s
../../TTF0002_Its/testdata
ln
-s
../../TTF0002_Its/data
echo
-e
"*****************************
\n
* Make ASN.1 sources
\n
*****************************
\n
"
cd
${
HOME
}
/dev/Workspace/TTF0002/bin/asn1
make
-f
../../../../TTF0002_Its/asn1/Makefile
echo
-e
"*****************************
\n
* Make Certificate generator
\n
*****************************
\n
"
# make V3 certificate generators
cd
${
HOME
}
/dev/TTF0002_Its/tools/itscertgen/asn1certgen
...
...
docker/home/etc/init.d/50-ats.sh
View file @
e2a14617
...
...
@@ -8,17 +8,14 @@ echo -e "*****************************\n* Change user in cfg files\n************
cd
${
HOME
}
/dev/TTF0002_Its/scripts
||
exit
1
./update_user_name.sh
||
exit
1
echo
-e
"*****************************
\n
* Install test suites
\n
*****************************
\n
"
./update_its_project.bash
||
exit
1
echo
-e
"*****************************
\n
* Build test suites
\n
*****************************
\n
"
cd
${
HOME
}
/dev/
etsi_its/src
cd
${
HOME
}
/dev/
TTF0002_Its
ATS_LIST
=
"AtsCAM AtsDENM AtsGeoNetworking AtsPki AtsSecurity AtsIVIM AtsMapemSpatem AtsSremSsem AtsRtcmem AtsRSUsSimulator"
for
i
in
${
ATS_LIST
}
do
cd
$i
/objs
../bin/
*
_generate_makefile.bash
cd
../..
export
ATS
=
$i
make
done
cd
${
HOME
}
...
...
etc/AtsMapemSpatem/AtsMapemSpatem.cfg
View file @
e2a14617
...
...
@@ -11,7 +11,7 @@ LibItsMapemSpatem_Pics.PICS_IS_IUT_SECURED := false
# In
this section you can specify the name of the log file and the classes of events
# you
want to log into the file or display on console (standard error).
LogFile
:= "../logs/%e.%h-%r.%s"
LogFile
:= "../logs/
AtsMapemSpatem/
%e.%h-%r.%s"
FileMask
:= LOG_ALL | USER | DEBUG | MATCHING
ConsoleMask
:= LOG_ALL | USER | DEBUG | MATCHING
#FileMask
:= ERROR | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
...
...
etc/AtsRSUsSimulator/AtsRSUSimulator.cfg
View file @
e2a14617
...
...
@@ -65,12 +65,12 @@ ItsRSUsSimulator_Pics.PICS_SEND_RTCMEM_INDICATION := true
# Enable
Security support
LibItsGeoNetworking_Pics.PICS_GN_SECURITY
:= false
# Root
path to access certificate stored in files, identified by certficate ID
LibItsSecurity_Pixits.PX_CERTIFICATE_POOL_PATH
:= "
/home/yann/tmp
"
LibItsSecurity_Pixits.PX_CERTIFICATE_POOL_PATH
:= "
data/v3/certificates
"
# Configuration
sub-directory to access certificate stored in files
LibItsSecurity_Pixits.PX_IUT_SEC_CONFIG_NAME
:= "
asn1c_cert
"
LibItsSecurity_Pixits.PX_IUT_SEC_CONFIG_NAME
:= ""
LibItsHttp_Pics.PICS_HEADER_CONTENT_TYPE
:= "application/x-its-request"
LibItsHttp_Pics.PICS_HEADER_HOST
:= "
1
92.168.42.252
"
LibItsHttp_Pics.PICS_HEADER_HOST
:= "
1
27.0.0.1
"
LibItsPki_Pics.PICS_HTTP_POST_URI
:= "/ea/enrolment"
LibItsPki_Pics.PICS_MULTIPLE_END_POINT
:= false
...
...
@@ -89,7 +89,7 @@ LibItsPki_Pics.PICS_IUT_AA_CERTIFICATE_ID := "CERT_TS_A_AA"
[LOGGING]
# In
this section you can specify the name of the log file and the classes of events
# you
want to log into the file or display on console (standard error).
LogFile
:= "../logs/%e.%h-%r.%s"
LogFile
:= "../logs/
AtsRSUsSimulator/
%e.%h-%r.%s"
FileMask
:= LOG_ALL | USER | DEBUG | MATCHING
ConsoleMask
:= LOG_ALL | USER | DEBUG | MATCHING
#FileMask
:= ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
...
...
scripts/autointerop_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
scripts/btp_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
# 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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/cam_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
=
CAM
#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
# 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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/denm_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
=
DENM
#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
# 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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/gencert_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
=
GenCat
#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 -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
# 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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/geonw_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
=
GeoNetworking
#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
# 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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/ivim_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
=
Ivim
#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
# 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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/mapemstatem_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
=
MapemSpatem
#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
# 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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/merge_its_project.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/bin/bash
# Debug mode
#set -vx
#set -e
# Usage: sudo ./merge_ite_project.bash
# TODO Use git clone in temporary directory
OLDPWD
=
`
pwd
`
# Storing path
DEST_DIR
=
~/tmp
if
[
!
-d
${
DEST_DIR
}
]
then
exit
-1
else
DEST_DIR
=
${
DEST_DIR
}
/to_be_merged
if
[
-d
${
DEST_DIR
}
]
then
rm
-f
${
DEST_DIR
}
/
*
else
mkdir
${
DEST_DIR
}
fi
fi
chmod
775
${
DEST_DIR
}
# Execution path
RUN_PATH
=
"
${
0
%/*
}
"
SRC_ITS_PATH
=
~/dev/TTF0002_Its
if
[
"
${
PATH_DEV_ITS
}
"
==
""
]
then
PATH_DEV_ITS
=
~/dev/etsi_its
fi
# Update ETSI Framework files
echo
'Merging ETSI Framework files'
FWK_SRC_PATH
=
${
SRC_ITS_PATH
}
/ccsrc
FWK_DST_PATH
=
${
PATH_DEV_ITS
}
/framework
FWK_DIR_LIST_HH
=
`
find
${
FWK_SRC_PATH
}
/Protocols/
-name
"*.h*"
-type
f
`
for
i
in
${
FWK_DIR_LIST_HH
}
do
BN
=
`
basename
$i
`
if
[
"
${
BN
}
"
!=
"BTPPort.hh"
]
then
s1
=
`
sha256sum
-b
$i
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
FWK_DST_PATH
}
/include/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
cp
${
FWK_DST_PATH
}
/include/
${
BN
}
${
DEST_DIR
}
if
[
-f
${
FWK_DST_PATH
}
/include/
${
BN
}
~
]
then
rm
${
FWK_DST_PATH
}
/include/
${
BN
}
~
fi
fi
fi
done
FWK_DIR_LIST_CC
=
`
find
${
FWK_SRC_PATH
}
/Protocols/
-name
"*.c*"
-type
f
`
for
i
in
${
FWK_DIR_LIST_CC
}
do
BN
=
`
basename
$i
`
if
[
${
BN
}
!=
BTPPort.cc
]
then
s1
=
`
sha256sum
-b
$i
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
FWK_DST_PATH
}
/src/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
cp
${
FWK_DST_PATH
}
/src/
${
BN
}
${
DEST_DIR
}
if
[
-f
${
FWK_DST_PATH
}
/src/
${
BN
}
~
]
then
rm
${
FWK_DST_PATH
}
/src/
${
BN
}
~
fi
fi
fi
done
FWK_DIR_LIST_Y
=
`
find
${
FWK_SRC_PATH
}
/Protocols/
-name
"*.y"
-type
f
`
for
i
in
${
FWK_DIR_LIST_Y
}
do
BN
=
`
basename
$i
`
s1
=
`
sha256sum
-b
$i
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
FWK_DST_PATH
}
/src/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
"
${
s1
}
"
!=
"
${
s2
}
"
]
then
cp
${
FWK_DST_PATH
}
/src/
${
BN
}
${
DEST_DIR
}
if
[
-f
${
FWK_DST_PATH
}
/src/
${
BN
}
~
]
then
rm
${
FWK_DST_PATH
}
/src/
${
BN
}
~
fi
fi
done
FWK_DIR_LIST_L
=
`
find
${
FWK_SRC_PATH
}
/Protocols/
-name
"*.l"
-type
f
`
for
i
in
${
FWK_DIR_LIST_L
}
do
BN
=
`
basename
$i
`
s1
=
`
sha256sum
-b
$i
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
FWK_DST_PATH
}
/src/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
"
${
s1
}
"
!=
"
${
s2
}
"
]
then
cp
${
FWK_DST_PATH
}
/src/
${
BN
}
${
DEST_DIR
}
if
[
-f
${
FWK_DST_PATH
}
/src/
${
BN
}
~
]
then
rm
${
FWK_DST_PATH
}
/src/
${
BN
}
~
fi
fi
done
FWK_DIR_LIST_HH
=
`
find
${
FWK_SRC_PATH
}
/Framework/
-name
"*.h*"
-type
f
`
FWK_DIR_LIST_CC
=
`
find
${
FWK_SRC_PATH
}
/Framework/
-name
"*.c*"
-type
f
`
for
i
in
${
FWK_DIR_LIST_HH
}
do
BN
=
`
basename
$i
`
s1
=
`
sha256sum
-b
$i
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
FWK_DST_PATH
}
/include/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
cp
${
FWK_DST_PATH
}
/include/
${
BN
}
${
DEST_DIR
}
if
[
-f
${
FWK_DST_PATH
}
/include/
${
BN
}
~
]
then
rm
${
FWK_DST_PATH
}
/include/
${
BN
}
~
fi
fi
done
for
i
in
${
FWK_DIR_LIST_CC
}
do
BN
=
`
basename
$i
`
s1
=
`
sha256sum
-b
$i
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
FWK_DST_PATH
}
/src/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
cp
${
FWK_DST_PATH
}
/src/
${
BN
}
${
DEST_DIR
}
if
[
-f
${
FWK_DST_PATH
}
/src/
${
BN
}
~
]
then
rm
${
FWK_DST_PATH
}
/src/
${
BN
}
~
fi
fi
done
FWK_DIR_LIST_HH
=
`
find
${
FWK_SRC_PATH
}
/loggers/
-name
"*.h*"
-type
f
`
for
i
in
${
FWK_DIR_LIST_HH
}
do
BN
=
`
basename
$i
`
s1
=
`
sha256sum
-b
$i
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
FWK_DST_PATH
}
/include/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
cp
${
FWK_DST_PATH
}
/include/
${
BN
}
${
DEST_DIR
}
if
[
-f
${
FWK_DST_PATH
}
/include/
${
BN
}
~
]
then
rm
${
FWK_DST_PATH
}
/include/
${
BN
}
~
fi
fi
done
FWK_DIR_LIST_CC
=
`
find
${
FWK_SRC_PATH
}
/loggers/
-name
"*.c*"
-type
f
`
for
i
in
${
FWK_DIR_LIST_CC
}
do
BN
=
`
basename
$i
`
s1
=
`
sha256sum
-b
$i
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
FWK_DST_PATH
}
/src/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
cp
${
FWK_DST_PATH
}
/src/
${
BN
}
${
DEST_DIR
}
if
[
-f
${
FWK_DST_PATH
}
/src/
${
BN
}
~
]
then
rm
${
FWK_DST_PATH
}
/src/
${
BN
}
~
fi
fi
done
# Update ATS TTCN-3 files
echo
'Update TTCN-3 files'
TTCN_3_ORG_PATH
=
${
SRC_ITS_PATH
}
/ttcn
TTCN_3_DST_PATH
=
${
PATH_DEV_ITS
}
/src
TTCN_3_ATS_LIST
=
'AtsAutoInterop AtsCAM AtsDENM AtsBTP AtsGeoNetworking AtsSecurity AtsPki AtsIVIM AtsMapemSpatem AtsSremSsem AtsRtcmem AtsRSUsSimulator LibCommon'
for
i
in
${
TTCN_3_ATS_LIST
}
do
LIST_TTCN_FILES
=
`
find
${
TTCN_3_ORG_PATH
}
/
$i
-name
"*.ttcn"
-type
f
`
for
j
in
${
LIST_TTCN_FILES
}
do
BN
=
`
basename
$j
`
s1
=
`
sha256sum
-b
$j
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
TTCN_3_DST_PATH
}
/
$i
/ttcn/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
cp
${
TTCN_3_DST_PATH
}
/
$i
/ttcn/
${
BN
}
${
DEST_DIR
}
fi
done
# Other files
if
[
-f
${
SRC_ITS_PATH
}
/docs/
$i
/o2.cfg
]
then
s1
=
`
sha256sum
-b
${
PATH_DEV_ITS
}
/src/
$i
/docs/o2.cfg |
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
SRC_ITS_PATH
}
/docs/
$i
/o2.cfg |
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
mkdir
-p
${
DEST_DIR
}
/docs/
$i
cp
${
PATH_DEV_ITS
}
/src/
$i
/docs/o2.cfg
${
DEST_DIR
}
/docs/
$i
fi
fi
for
k
in
`
ls
*
.cfg
`
do
if
[
-f
${
SRC_ITS_PATH
}
/etc/
$i
/
$k
]
then
s1
=
`
sha256sum
-b
${
PATH_DEV_ITS
}
/src/
$i
/etc/
$k
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
SRC_ITS_PATH
}
/etc/
$i
/
$k
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
mkdir
-p
${
DEST_DIR
}
/etc/
$i
cp
${
PATH_DEV_ITS
}
/src/
$i
/etc/
$k
${
DEST_DIR
}
/etc/
$i
fi
fi
done
for
k
in
`
ls
*
.cfg_
`
do
if
[
-f
${
SRC_ITS_PATH
}
/etc/
$i
/
$k
]
then
s1
=
`
sha256sum
-b
${
PATH_DEV_ITS
}
/src/
$i
/etc/
$k
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
SRC_ITS_PATH
}
/etc/
$i
/
$k
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
mkdir
-p
${
DEST_DIR
}
/etc/
$i
cp
${
PATH_DEV_ITS
}
/src/
$i
/etc/
$k
${
DEST_DIR
}
/etc/
$i
fi
fi
done
done
TTCN_3_LIB_LIST
=
'BTP CAM Common DENM GeoNetworking Http Ipv6OverGeoNetworking IVIM MapemSpatem Pki Rtcmem Security SremSsem'
for
i
in
${
TTCN_3_LIB_LIST
}
do
LIST_TTCN_FILES
=
`
find
${
TTCN_3_ORG_PATH
}
/LibIts/ttcn/
$i
-name
"*.ttcn"
-type
f
`
for
j
in
${
LIST_TTCN_FILES
}
do
BN
=
`
basename
$j
`
s1
=
`
sha256sum
-b
$j
|
cut
-d
' '
-f1
`
s2
=
`
sha256sum
-b
${
TTCN_3_DST_PATH
}
/LibIts/
$i
/ttcn/
${
BN
}
|
cut
-d
' '
-f1
`
if
[
${
s1
}
!=
${
s2
}
]
then
cp
${
TTCN_3_DST_PATH
}
/LibIts/
$i
/ttcn/
${
BN
}
${
DEST_DIR
}
rm
${
TTCN_3_DST_PATH
}
/LibIts/
$i
/ttcn/
${
BN
}
~
fi
done
# FWK_DIR_LIST_HH=`find ${FWK_SRC_PATH}/src/LibIts/$i/include -name "*.h*" -type f`
# FWK_DIR_LIST_CC=`find ${FWK_SRC_PATH}/src/LibIts/$i/src -name "*.c*" -type f`
# for j in ${FWK_DIR_LIST_HH}
# do
# BN=`basename $j`
# s1=`sha256sum -b $j | cut -d' ' -f1`
# s2=`sha256sum -b ${PATH_DEV_ITS}/src/LibIts/$i/include/${BN} | cut -d' ' -f1`
# if [ ${s1} != ${s2} ]
# then
# cp ${PATH_DEV_ITS}/src/LibIts/$i/include/${BN} ${DEST_DIR}
# rm ${PATH_DEV_ITS}/src/LibIts/$i/include/${BN}~
# fi
# done
# for j in ${FWK_DIR_LIST_CC}
# do
# BN=`basename $j`
# s1=`sha256sum -b $j | cut -d' ' -f1`
# s2=`sha256sum -b ${PATH_DEV_ITS}/src/LibIts/$i/src/${BN} | cut -d' ' -f1`
# if [ ${s1} != ${s2} ]
# then
# cp ${PATH_DEV_ITS}/src/LibIts/$i/src/${BN} ${DEST_DIR}
# rm ${PATH_DEV_ITS}/src/LibIts/$i/src/${BN}~
# fi
# done
done
LIST_FILES
=
`
find
${
PATH_DEV_ITS
}
-name
"*~"
-type
f
`
for
i
in
${
LIST_FILES
}
do
BN
=
$i
BN
=
${
BN
::
-1
}
# Remove the last character
cp
${
BN
}
${
DEST_DIR
}
rm
$i
done
chmod
-R
664
${
DEST_DIR
}
/
*
exit
0
scripts/pki_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
=
Pki
#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
# 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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/rsusimulator_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
=
RsuSimulator
#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
# 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=12001'
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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/rtcmem_generate_makefile.bash
deleted
100755 → 0
View file @
3c77bdb5
#!/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
=
Rtcmem
#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
# 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'
ADD_RUN_LINE_3
=
'$a\\tmandb ../docs/man'
sed
--in-place
"
${
ADD_RUN_LINE_1
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_2
}
"
./Makefile
sed
--in-place
"
${
ADD_RUN_LINE_3
}
"
./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
scripts/run_all.bash
View file @
e2a14617
...
...
@@ -4,6 +4,12 @@
clear
if
[
-z
$ATS
]
then
echo
"ATS shall be defined"
exit
1
fi
if
!
[[
$1
=
~
"^[0-9]+$"
]]
then
COUNTER
=
$1
...
...
@@ -12,22 +18,22 @@ else
fi
CURPWD
=
`
pwd
`
if
[
!
"
${
PWD
##*/
}
"
==
"
obj
s"
]
if
[
!
"
${
PWD
##*/
}
"
==
"
script
s"
]
then
cd
../
obj
s
cd
../
script
s
if
[
!
$?
==
0
]
then
echo
"Please move to PROJECT/
obj
directory"
echo
"Please move to PROJECT/
scripts
directory"
exit
1
fi
fi
rm
../logs/merged.
*
.log
rm
../
bin/S1/
logs/merged.
*
.log
for
i
in
$(
seq
1 1
$COUNTER
)
do
.
./bin
/run_mtc.bash &
.
./bin
/run_ptcs.bash
$2
./run_mtc.bash &
./run_ptcs.bash
dup
=
$(
ps
-ef
|
grep
"
$0
"
|
grep
-v
grep
|
wc
-l
)
while
[
${
dup
}
-eq
3
]
...
...
@@ -37,7 +43,7 @@ do
done
sleep
1
mv
../logs/merged.log ../logs/merged.
`
date
+
'%Y%m%d%S'
`
.log
mv
../logs/
$ATS
/
merged.log ../logs/
$ATS
/
merged.
`
date
+
'%Y%m%d%S'
`
.log
done
exit
0
...
...
Prev
1
…
3
4
5
6
7
8
9
Next