config.sh 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #!/bin/sh
  2. #
  3. # config.sh - multi-language support configuration script
  4. # Definition of absolute paths etc.
  5. # This file is 'included' in all scripts.
  6. #
  7. # Arduino main folder:
  8. if [ -z "$ARDUINO" ]; then
  9. export ARDUINO=../../PF-build-env-1.0.6/1.8.5-1.0.4-linux-64 #C:/arduino-1.8.5
  10. fi
  11. #
  12. # Arduino builder:
  13. export BUILDER=$ARDUINO/arduino-builder
  14. #
  15. # AVR gcc tools:
  16. export OBJCOPY=$ARDUINO/hardware/tools/avr/bin/avr-objcopy
  17. export OBJDUMP=$ARDUINO/hardware/tools/avr/bin/avr-objdump
  18. #
  19. # Output folder:
  20. if [ -z "$OUTDIR" ]; then
  21. export OUTDIR="../../Prusa-Firmware-build"
  22. fi
  23. #
  24. # Objects folder:
  25. export OBJDIR="$OUTDIR/sketch"
  26. #
  27. # Generated elf file:
  28. export INOELF="$OUTDIR/Firmware.ino.elf"
  29. #
  30. # Generated hex file:
  31. export INOHEX="$OUTDIR/Firmware.ino.hex"
  32. #
  33. # Set default languages
  34. if [ -z "$LANGUAGES" ]; then
  35. export LANGUAGES="cz de es fr it pl"
  36. fi
  37. #
  38. # Check for community languages
  39. MAX_COMMINITY_LANG=10 # Total 16 - 6 default
  40. COMMUNITY_LANGUAGES=""
  41. #Search Firmware/config.h for active community group
  42. COMMUNITY_LANG_GROUP=$(grep --max-count=1 "^#define COMMUNITY_LANG_GROUP" ../Firmware/config.h| cut -d ' ' -f3)
  43. # Search Firmware/config.h for active community languanges
  44. if [ "$COMMUNITY_LANG_GROUP" = "1" ]; then
  45. COMMUNITY_LANGUAGES=$(grep --max-count=$MAX_COMMINITY_LANG "^#define COMMUNITY_LANG_GROUP1_" ../Firmware/config.h| cut -d '_' -f4 |cut -d ' ' -f1 |tr '[:upper:]' '[:lower:]'| tr '\n' ' ')
  46. elif [ "$COMMUNITY_LANG_GROUP" = "2" ]; then
  47. COMMUNITY_LANGUAGES=$(grep --max-count=$MAX_COMMINITY_LANG "^#define COMMUNITY_LANG_GROUP2_" ../Firmware/config.h| cut -d '_' -f4 |cut -d ' ' -f1 |tr '[:upper:]' '[:lower:]'| tr '\n' ' ')
  48. elif [ "$COMMUNITY_LANG_GROUP" = "3" ]; then
  49. COMMUNITY_LANGUAGES=$(grep --max-count=$MAX_COMMINITY_LANG "^#define COMMUNITY_LANG_GROUP3_" ../Firmware/config.h| cut -d '_' -f4 |cut -d ' ' -f1 |tr '[:upper:]' '[:lower:]'| tr '\n' ' ')
  50. fi
  51. echo "Community language $COMMUNITY_LANGUAGES"
  52. if [ -z "$COMMUNITY_LANGUAGES" ]; then
  53. export COMMUNITY_LANGUAGES="$COMMUNITY_LANGUAGES"
  54. fi
  55. echo "config.sh started" >&2
  56. _err=0
  57. echo -n " Arduino main folder: " >&2
  58. if [ -e $ARDUINO ]; then echo 'OK' >&2; else echo 'NG!' >&2; _err=1; fi
  59. echo -n " Arduino builder: " >&2
  60. if [ -e $BUILDER ]; then echo 'OK' >&2; else echo 'NG!' >&2; _err=2; fi
  61. echo " AVR gcc tools:" >&2
  62. echo -n " objcopy " >&2
  63. if [ -e $OBJCOPY ]; then echo 'OK' >&2; else echo 'NG!' >&2; _err=3; fi
  64. echo -n " objdump " >&2
  65. if [ -e $OBJDUMP ]; then echo 'OK' >&2; else echo 'NG!' >&2; _err=4; fi
  66. echo -n " Output folder: " >&2
  67. if [ -e $OUTDIR ]; then echo 'OK' >&2; else echo 'NG!' >&2; _err=5; fi
  68. echo -n " Objects folder: " >&2
  69. if [ -e $OBJDIR ]; then echo 'OK' >&2; else echo 'NG!' >&2; _err=6; fi
  70. echo -n " Generated elf file: " >&2
  71. if [ -e $INOELF ]; then echo 'OK' >&2; else echo 'NG!' >&2; _err=7; fi
  72. echo -n " Generated hex file: " >&2
  73. if [ -e $INOHEX ]; then echo 'OK' >&2; else echo 'NG!' >&2; _err=8; fi
  74. echo -n " Languages: " >&2
  75. echo "$LANGUAGES" >&2
  76. echo -n " Community languages: " >&2
  77. echo "$COMMUNITY_LANGUAGES" >&2
  78. if [ $_err -eq 0 ]; then
  79. echo "config.sh finished with success" >&2
  80. export CONFIG_OK=1
  81. else
  82. echo "config.sh finished with errors!" >&2
  83. export CONFIG_OK=0
  84. fi