heptagon/examples/MissionComputer_for_Core/build

67 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
HEPTC=../../heptc
HEPTC_OPTIONS=""
GCC=gcc
GCC_OPTIONS="-g -O2 -std=c99 -I ../../../lib/c"
VERBOSE=1
interfaces=(typeBase.epi typeTracks.epi typeArray.epi cstArrayInit.epi cstBaseInit.epi cstPhysics.epi cstTracksInit.epi mc_TypeInputs.epi mc_TypeLists.epi mc_TypeSensors.epi)
ext_libs=(mc_ext.epi mathext.epi)
sources=(math.ept trackslib.ept digital.ept mc.ept dv.ept verif.ept debug.ept)
exit_if_failed() {
if [ $? != 0 ]; then
exit $?
fi
}
for f in ${interfaces[@]}; do
if [ $VERBOSE ] ; then
echo "**** Compiling interface: $f *******"
fi
$HEPTC $HEPTC_OPTIONS -target c $f
exit_if_failed
done
for f in ${ext_libs[@]}; do
if [ $VERBOSE ] ; then
echo "**** Compiling external lib: $f *******"
fi
$HEPTC $HEPTC_OPTIONS $f
exit_if_failed
done
for f in ${sources[@]}; do
if [ $VERBOSE ] ; then
echo "**** Compiling source file: $f *******"
fi
$HEPTC $HEPTC_OPTIONS -target c $f
exit_if_failed
done
#$HEPTC $HEPTC_OPTIONS -target c -s dv_fighterdebug debug.ept
source_dirs=(debug_c dv_c digital_c math_c mc_c trackslib_c verif_c typeBase_c typeTracks_c typeArray_c cstArrayInit_c cstBaseInit_c cstPhysics_c cstTracksInit_c mc_TypeInputs_c mc_TypeLists_c mc_TypeSensors_c)
other_files=(mathext.c mathext.h mc_ext.c mc_ext.h main.c)
if [ -d _build ]; then
rm -r _build
fi
mkdir _build
cd _build
for f in ${source_dirs[@]}; do
cp ../$f/* .
done
for f in ${other_files[@]}; do
cp ../$f .
done
$GCC $GCC_OPTIONS *.c -o mission_control
exit_if_failed
cp mission_control ..
cd ..