version.sh 826 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. if [ -f version.dat ]; then
  2. > version.dat
  3. fi
  4. commit=$(git rev-parse --short HEAD)
  5. ts=$(date +%s)
  6. changed=$(git diff --name-only HEAD)
  7. dirty=1
  8. if [ -z "${commit}" ];
  9. then
  10. echo "commit is unset or set to the empty string"
  11. if [ -f version.dat ]; then
  12. rm version.dat
  13. fi
  14. exit
  15. else
  16. echo "commit is set to '$commit'"
  17. fi
  18. if [ -z "${ts}" ];
  19. then
  20. echo "ts is unset or set to the empty string"
  21. if [ -f version.dat ]; then
  22. rm version.dat
  23. fi
  24. exit
  25. else
  26. echo "ts is set to '$ts'"
  27. fi
  28. if [ -z "${changed}" ];
  29. then
  30. dirty=0
  31. fi
  32. echo "modify flag is set to '$dirty'"
  33. echo "generate version.dat"
  34. echo $commit-$ts-$dirty >> version.dat
  35. arm-linux-gnueabihf-ld -r -b binary -o version.o version.dat
  36. arm-linux-gnueabihf-readelf -a version.o
  37. # gcc data.c version.o -o data
  38. # ./data