fw-clean.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/bash
  2. #
  3. # Version 1.0.1 Build 10
  4. #
  5. # fw-clean.sh - multi-language support script
  6. # Remove all firmware output files from lang folder.
  7. #
  8. #############################################################################
  9. # Change log:
  10. # 21 June 2018, XPila, Initial
  11. # 17 Dec. 2021, 3d-gussner, Use one config file for all languages
  12. # 11 Jan. 2022, 3d-gussner, Added version and Change log
  13. # colored output
  14. # Use `git rev-list --count HEAD fw-clean.sh`
  15. # to get Build Nr
  16. #############################################################################
  17. # Config:
  18. if [ -z "$CONFIG_OK" ]; then eval "$(cat config.sh)"; fi
  19. if [ -z "$CONFIG_OK" ] | [ $CONFIG_OK -eq 0 ]; then echo "$(tput setaf 1)Config NG!$(tput sgr0)" >&2; exit 1; fi
  20. if [ ! -z "$COMMUNITY_LANGUAGES" ]; then
  21. LANGUAGES+=" $COMMUNITY_LANGUAGES"
  22. fi
  23. echo "$(tput setaf 2)fw-clean.sh started$(tput sgr0)" >&2
  24. echo "fw-clean languages:$(tput setaf 2)$LANGUAGES$(tput sgr0)" >&2
  25. result=0
  26. rm_if_exists()
  27. {
  28. if [ -e $1 ]; then
  29. echo -n "$(tput sgr0) removing $(tput sgr0) '$1'..." >&2
  30. if rm $1; then
  31. echo "$(tput setaf 2)OK$(tput sgr0)" >&2
  32. else
  33. echo "$(tput setaf 1)NG!$(tput sgr0)" >&2
  34. result=1
  35. fi
  36. fi
  37. }
  38. rm_if_exists text.sym
  39. rm_if_exists progmem1.sym
  40. rm_if_exists progmem1.lss
  41. rm_if_exists progmem1.hex
  42. rm_if_exists progmem1.chr
  43. rm_if_exists progmem1.var
  44. rm_if_exists progmem1.txt
  45. rm_if_exists textaddr.txt
  46. rm_if_exists firmware.bin
  47. rm_if_exists firmware.hex
  48. rm_if_exists progmem.out
  49. rm_if_exists textaddr.out
  50. rm_if_exists update_lang.out
  51. rm_if_exists lang.bin
  52. rm_if_exists lang.hex
  53. for lang in $LANGUAGES; do
  54. rm_if_exists firmware_$lang.hex
  55. rm_if_exists update_lang_$lang.out
  56. done
  57. if [ $result -eq 0 ]; then
  58. echo "$(tput setaf 2)fw-clean.sh finished with success$(tput sgr0)" >&2
  59. else
  60. echo "$(tput setaf 1)fw-clean.sh finished with errors!$(tput sgr0)" >&2
  61. fi
  62. case "$-" in
  63. *i*) echo "press enter key"; read ;;
  64. esac
  65. exit $result