You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
4.1 KiB
154 lines
4.1 KiB
#!/bin/bash
|
|
|
|
_gui_build(){
|
|
|
|
#init
|
|
oc_size=${#_oscamconfdir_custom}
|
|
[ "$oc_size" -gt "4" ] && _oscamconfdir_default="$_oscamconfdir_custom"
|
|
|
|
if [ "$_toolchainname" == "native" ]
|
|
then
|
|
log_name="$(date +%F).$(date +%X).$(hostname).log"
|
|
else
|
|
log_name="$(date +%F).$(date +%X).$_toolchainname.log"
|
|
fi
|
|
|
|
ologo >"$ldir/$log_name"
|
|
[ -f "$configdir/max_cpus" ] && cpus="$(cat "$configdir/max_cpus")" || cpus="$(CPUS)"
|
|
|
|
CROSS="$tcdir/$_toolchainname/bin/$_compiler"
|
|
|
|
[ "$_stagingdir" == "1" ] && export STAGING_DIR="$tcdir/$_toolchainname"
|
|
[ "$_androidndkdir" == "1" ] && export ANDROID_NDK="$tcdir/$_toolchainname"
|
|
[ -f "$configdir/compiler_option" ] && co=$(cat "$configdir/compiler_option") || co="-O2"
|
|
|
|
#make clean
|
|
cd "$svndir"
|
|
make distclean > /dev/null 2>&1
|
|
USESTRING_=''
|
|
EXTRA_USE=''
|
|
|
|
#do use_vars
|
|
for e2 in $USESTRING
|
|
do
|
|
[ "USE_$e2" == "USE_PATCH" ] && _apply_menupatch
|
|
is_blocked=0
|
|
|
|
for e1 in $_block
|
|
do
|
|
|
|
if [ "$e1" == "USE_$e2" ]
|
|
then
|
|
is_blocked=1
|
|
[ "USE_$e2" == "USE_LIBUSB" ] && silent=$(./config.sh -D CARDREADER_SMARGO)
|
|
fi
|
|
|
|
done
|
|
[ "$is_blocked" == "0" ] && _us="USE_$e2 $_us"
|
|
done
|
|
|
|
for e in $_us
|
|
do
|
|
|
|
if [ ! "$e" == "USE_TARGZ" ] && [ ! "$e" == "USE_COMPRESS" ] && [ ! "$e" == "USE_PATCH" ]
|
|
then
|
|
USESTRING_="$e=1 $USESTRING_"
|
|
fi
|
|
|
|
done
|
|
|
|
if [ "${USE_vars[USE_PCSC]}" == "USE_PCSC=1" ]
|
|
then
|
|
_pcsc="-pcsc"
|
|
else
|
|
_pcsc=
|
|
fi
|
|
|
|
if [ "${USE_vars[USE_LIBUSB]}" == "USE_LIBUSB=1" ]
|
|
then
|
|
_usb="-libusb"
|
|
else
|
|
_usb=
|
|
fi
|
|
|
|
USESTRING_=${USE_vars[@]}
|
|
EXTRA_USE=$extra_use
|
|
|
|
#todo add switch for verbose
|
|
_generate_oscam_name "$_toolchainname"
|
|
targztmp="$(mktemp)"
|
|
|
|
if [ ! "${USE_vars[USE_TARGZ]}" == "USE_TARGZ=1" ]
|
|
then
|
|
s3cfg_vars[USE_TARGZ]=0
|
|
fi
|
|
check_smargo
|
|
|
|
#build
|
|
_sz
|
|
(ologo; _nl
|
|
timer_start
|
|
make -j"$cpus" \
|
|
"CONF_DIR=$_oscamconfdir_default" "OSCAM_BIN=$bdir/$oscam_name" "CC_OPTS=$co $cc_opts $extra_cc" "CC_WARN=$cc_warn" "EXTRA_LDFLAGS=$extra_ld" $EXTRA_USE "CROSS=$CROSS" $stapivar $USESTRING_ 2>&1 \
|
|
|tee "$ldir/$log_name" \
|
|
|grep --line-buffered -v 'BFD\|^/' \
|
|
|grep --line-buffered '^CC\|^GEN\|UseFlags\| CONF_DIR =\|Binary\|LINK\|STRIP\|BUILD\|Addons\|Protocols\|Readers\|CardRdrs\|^/' \
|
|
|sed -u "s/^|/ |/g;s/^LINK/ | LINK >/g;s/^STRIP/ | STRIP >/g;s/^CC\|^BUILD/ | BUILD >/g;s/^GEN/ | GEN >/g;s/WEBIF_//g;s/WITH_//g;s/MODULE_//g;s/CS_//g;s/HAVE_//g;s/_CHARSETS//g;s/CW_CYCLE_CHECK/CWCC/g;s/SUPPORT//g;s/= /: /g;"
|
|
timer_stop
|
|
timer_calc
|
|
|
|
#save list_smargo
|
|
cd "$svndir/Distribution"
|
|
lsmn="$(ls list_smargo* 2> /dev/null)"
|
|
|
|
if [ "${s3cfg_vars[SAVE_LISTSMARGO]}" == "1" ] && [ -f "$svndir/Distribution/$lsmn" ]
|
|
then
|
|
|
|
if [ "$_toolchainname" == "native" ]
|
|
then
|
|
printf "SAVE\t$lsmn $txt_as oscam-svn$(REVISION)-$(hostname)-list_smargo"| tee -a "$ldir/$log_name"
|
|
mv -f "$lsmn" "$bdir/oscam-svn$(REVISION)-$(hostname)-list_smargo"
|
|
printf "oscam-svn$(REVISION)-$(hostname)-list_smargo" >"$targztmp"
|
|
else
|
|
printf "SAVE\t$lsmn $txt_as oscam-svn$(REVISION)-$_toolchainname-list_smargo"|tee -a "$ldir/$log_name"
|
|
mv -f "$lsmn" "$bdir/oscam-svn$(REVISION)-$_toolchainname-list_smargo"
|
|
printf "oscam-svn$(REVISION)-$_toolchainname-list_smargo" >"$targztmp\n"
|
|
fi
|
|
|
|
fi
|
|
|
|
#show buildtime
|
|
printf "\n | TIME >\t[ $txt_buildtime $((Tcalc / 60)) min(s) $((Tcalc % 60)) secs ]\n"| tee -a "$ldir/$log_name"
|
|
sleep 1
|
|
|
|
#remove debug binary
|
|
if [ "${s3cfg_vars[delete_oscamdebugbinary]}" == "1" ] && [ -f "$bdir/$oscam_name.debug" ]
|
|
then
|
|
rm "$bdir/$oscam_name.debug"
|
|
printf "\n $txt_delete $oscam_name.debug\n"|tee -a "$ldir/$log_name"
|
|
fi;) | "$gui" "$st_" --colors --title " -[ Build ]- " "$pb_" "$_lines" "$_cols"
|
|
sleep 2
|
|
|
|
#COMPRESS
|
|
if [ ! "$stapi_allowed" == "1" ]
|
|
then
|
|
|
|
if [ "${s3cfg_vars[COMPRESS]}" == "1" ] || [ "${USE_vars[USE_COMPRESS]}" == "USE_COMPRESS=1" ]
|
|
then
|
|
(compress_cam_gui "$oscam_name") |tee -a "$ldir/$log_name"| "$gui" "$st_" --title " -[ COMPRESS ]- " "$pb_" 7 50
|
|
sleep 2
|
|
fi
|
|
|
|
fi
|
|
|
|
#tar
|
|
if [ "${USE_vars[USE_TARGZ]}" == "USE_TARGZ=1" ]
|
|
then
|
|
(tar_cam_gui "$oscam_name" "$(cat "$targztmp")") |tee -a "$ldir/$log_name"| "$gui" "$st_" --title " -[ TAR Binary ]- " "$pb_" 10 70
|
|
sleep 2
|
|
fi
|
|
|
|
#link log
|
|
ln -sf "$ldir/$log_name" "$workdir/lastbuild.log"
|
|
[ -f "$targztmp" ] && rm -rf "$targztmp"
|
|
}
|
|
|