MakeArch 943 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. : $Header$
  2. : This script makes an archive. The only option it knows is -o, which
  3. : creates a library.
  4. rm -f OLIST
  5. case $# in
  6. 0)
  7. AR=tar
  8. OLIB=libsrc
  9. echo 'cf libsrc' > OLIST
  10. ;;
  11. 1)
  12. if [ "X$1" != "X-o" ]
  13. then
  14. echo $0: unrecognised option, I only know -o >&2
  15. exit 1
  16. fi
  17. AR=$ASAR
  18. echo "rv $OLIB" > OLIST
  19. ;;
  20. *)
  21. echo $0: too many arguments >&2
  22. exit 1
  23. ;;
  24. esac
  25. if [ "X$AR" = "X" ]
  26. then
  27. echo EEK -- internal error, no archiver >&2
  28. exit 1
  29. fi
  30. if [ $AR = tar ]
  31. then
  32. echo LIST >> OLIST
  33. echo MakeArch >> OLIST
  34. echo Makefile >> OLIST
  35. echo make.proto >> OLIST
  36. echo head_ac.e >> OLIST
  37. fi
  38. DIRS=`cat LIST`
  39. for i in $DIRS
  40. do
  41. cd $i
  42. if make "MACH=$MACH" "MACHFL=$MACHFL" "SUF=$SUF" $AR -f ../Makefile
  43. then
  44. cd ..
  45. if [ $AR = tar ]
  46. then
  47. echo $i/Makefile >> OLIST
  48. echo $i/LIST >> OLIST
  49. fi
  50. for j in `cat $i/OLIST`
  51. do
  52. echo $i/$j >> OLIST
  53. done
  54. else
  55. exit 1
  56. fi
  57. done
  58. $AR `cat OLIST`
  59. ${RANLIB-:} $OLIB