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.
118 lines
4.0 KiB
118 lines
4.0 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";
|
|
[ -f "$configdir/compiler_option" ] && co=$(cat "$configdir/compiler_option") || co="-O2";
|
|
|
|
#make clean
|
|
cd "$svndir";
|
|
make distclean > /dev/null 2>&1;
|
|
USESTRING_='';
|
|
|
|
#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[@]};
|
|
|
|
#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" "CC_WARN=$cc_warn" "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;"
|
|
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
|
|
echo -e "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";
|
|
echo "oscam-svn$(REVISION)-$(hostname)-list_smargo" >"$targztmp";
|
|
else
|
|
echo -e "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";
|
|
echo "oscam-svn$(REVISION)-$_toolchainname-list_smargo" >"$targztmp";
|
|
fi;
|
|
fi;
|
|
|
|
#show buildtime
|
|
echo -e "\n TIME\t[ $txt_buildtime $((Tcalc / 60)) min(s) $((Tcalc % 60)) secs ]"| 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";
|
|
echo -e "\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";
|
|
};
|
|
|