#!/bin/sh -e # We currently don't use crypto, so this script is deprecated. if [ -z ${MAKE} ]; then which gmake >/dev/null && MAKE=gmake || MAKE=make fi TARG=../release if [ ! -d ../firmware ] ; then echo Running from wrong directory. exit 1 fi cd ../firmware if [ -d $TARG ] ; then echo Release dir already exists echo please remove/move away exit 1 fi if [ ! -f SECRETS.release ] ; then echo Please create a SECRETS.release file echo containing the release keys. echo echo 'Do not commit them!' exit 1 fi cp SECRETS.release SECRETS mkdir $TARG mkdir $TARG/files echo "###" echo "### Building final" echo "###" export FINAL=y $MAKE clean ./l0dable/mktable.pl $MAKE APP=final cp firmware.elf $TARG/final.elf cp firmware.bin $TARG/final.bin echo "###" echo "### Gathering files" echo "###" cp ../tools/font/binary/*.f0n $TARG/files/ cp ../tools/image/lcd/*.lcd $TARG/files/ cp ../tools/image/lcd/i42.lcd $TARG/files/nick.lcd echo "###" echo "### Gathering loadables" echo "###" (cd l0dable && $MAKE) mv l0dable/*.c0d $TARG/files/ mv l0dable/*.int $TARG/files/ mv l0dable/*.nik $TARG/files/ cp l0dable/files/* $TARG/files/ if grep -q 'define ENCRYPT_L0DABLE' SECRETS ; then echo "###" echo "### Building crypto" echo "###" (cd ../tools/crypto && $MAKE) echo "###" echo "### Crypting loadables" echo "###" skey=`./getkey.pl l0dable_sign` ekey=`./getkey.pl l0dable_crypt` if [ -z "$ekey" ] ; then echo E-Key fail exit 1 fi if [ -z "$skey" ] ; then echo S-Key fail exit 1 fi for a in $TARG/files/*.c0d $TARG/files/*.int $TARG/files/*.nik ; do echo Crypting $a ../tools/crypto/xxtea -e -k $ekey $a ../tools/crypto/xxtea -s -k $skey $a done fi echo "###" echo "### Done. Yay!" echo "###" git checkout SECRETS