2
0

gnu-amalgamate.sh 769 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/bin/bash
  2. if [ $# -ne 2 ];
  3. then
  4. echo "Usage: gnu-amalgamate.sh <ar command> <target directory>"
  5. exit 1
  6. fi
  7. CWD=`pwd`
  8. AR="$1"
  9. TARGET="$2"
  10. if [ ! -e $AR ];
  11. then
  12. echo "No such file: $AR"
  13. exit 1
  14. fi
  15. if [ ! -d $TARGET ];
  16. then
  17. echo "No such target directory: $AR"
  18. exit 1
  19. fi
  20. echo "Using ar : $AR"
  21. echo "Amalgamating target static libs $TARGET"
  22. cd $TARGET
  23. mkdir tmp
  24. rm -f libgameplay-deps.a
  25. mv *.a ./tmp
  26. # Build an MRI script file
  27. MRI="$CWD/deps.mri"
  28. echo "create libgameplay-deps.a" >$MRI
  29. for file in ./tmp/* ; do
  30. if [ -e "$file" ];
  31. then
  32. echo "addlib $file" >>$MRI
  33. fi
  34. done
  35. echo "save" >>$MRI
  36. echo "end" >>$MRI
  37. echo "Executing..."
  38. cat $MRI
  39. # Now actually do something
  40. $AR -M < $MRI
  41. # Clean up
  42. rm $MRI
  43. rm -rf ./tmp
  44. cd $CWD