make.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/bash
  2. # $1 = directory to make
  3. # $2 = pdsend port
  4. # $3 = OS (linux/windows/macos)
  5. echo source: $1
  6. echo port: $2
  7. echo os: $3
  8. PROJDIR=`cd $1 ; pwd -P`
  9. export FRAISEOS=$3
  10. FRAISEH=`dirname $0`/..
  11. #export FRAISE=`readlink -f $FRAISEH`
  12. export FRAISE=`cd $FRAISEH ; pwd -P`
  13. export FRAISEBIN=`cd ${FRAISE}/../FraiseBin;pwd -P`
  14. export PROJ=`basename $PROJDIR`
  15. BOARDLINE=`grep BOARD $PROJDIR/$PROJ.c`
  16. export BOARD=${BOARDLINE##*BOARD}
  17. export BOARD=${BOARD##* }
  18. MODULES_E=
  19. UMODULES_E=
  20. if [ $FRAISEOS = windows ] ; then export PATH=$PATH:${FRAISEBIN}/win32 ; fi
  21. if grep "^#define[[:blank:]][[:blank:]]*NOCLEAN[[:blank:]]*$" $PROJDIR/config.h ; then
  22. export FRAISECLEAN=
  23. else export FRAISECLEAN=clean
  24. fi
  25. for module in `ls $FRAISE/modules` ; do
  26. if test -d $FRAISE/modules/$module ; then
  27. x=`grep $module.h $PROJDIR/$PROJ.c`
  28. y="${x:1:8}"
  29. if [ x$y = xinclude ] ; then MODULES_E+="$module "; fi
  30. fi
  31. done
  32. for module in `ls $PROJDIR/modules` ; do
  33. if test -d $PROJDIR/modules/$module ; then
  34. x=`grep $module.h $PROJDIR/$PROJ.c`
  35. y="${x:1:8}"
  36. if [ x$y = xinclude ] ; then UMODULES_E+="$module "; fi
  37. fi
  38. done
  39. export MODULES_E
  40. export UMODULES_E
  41. (
  42. echo "FRAISEOS: $FRAISEOS"
  43. echo "FRAISE: $FRAISE"
  44. echo "PROJ: $PROJ"
  45. echo "PROJDIR: $PROJDIR"
  46. echo "BOARD: $BOARD"
  47. echo "MODULES: $MODULES_E"
  48. echo "USER MODULES: $UMODULES_E"
  49. if [ -z $FRAISECLEAN ] ; then echo "WILL NOT CLEAN PROJECT." ; fi
  50. #echo make -C $1 -f $FRAISE/Makefile
  51. make -s -C $PROJDIR -f $FRAISE/Makefile 2>&1
  52. ) | sed 's/$/;/'| pdsend $2
  53. #| pdsend $2