build.sh 855 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. # adjust for cpu
  3. # -j 16 gave best result on a hyperthreaded quad core core i7
  4. LIMIT=10
  5. THREADS="-j 16"
  6. KMAP=iso_split_rshift
  7. echo "We need sudo later"
  8. sudo ls 2>&1 /dev/null
  9. function wait_bootloader {
  10. echo "Waiting for Bootloader..."
  11. local STARTTIME=$(date +"%s")
  12. local REMIND=0
  13. local EXEC=dfu-programmer
  14. local TARGET=atmega32u4
  15. while true
  16. do
  17. sudo $EXEC $TARGET get > /dev/null 2>&1
  18. [ $? -eq 0 ] && break
  19. ENDTIME=$(date +"%s")
  20. DURATION=$(($ENDTIME-$STARTTIME))
  21. if [ $REMIND -eq 0 -a $DURATION -gt $LIMIT ]
  22. then
  23. echo "Did you forget to press the reset button?"
  24. REMIND=1
  25. fi
  26. sleep 1
  27. done
  28. }
  29. make clean
  30. make KEYMAP=${KMAP} ${THREADS}
  31. if [[ $? -eq 0 ]]
  32. then
  33. echo "please trigger flashing!"
  34. wait_bootloader
  35. sudo make KEYMAP=${KMAP} dfu ${THREADS}
  36. else
  37. echo "make failed"
  38. exit 77
  39. fi