home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / NEXTSTEP / UNIX / Networking / wu-ftpd-2.4.2b13-MIHS / build < prev    next >
Encoding:
Text File  |  1997-03-03  |  5.2 KB  |  208 lines

  1. #!/bin/sh 
  2. #
  3. # $Id: build,v 1.12 1997/03/03 09:39:20 sob Exp sob $
  4. #
  5. RELEASE=wu-ftpd-2.4.2-beta-13
  6. cat > .bld.hlp <<EOF
  7. Usage: build <make-options> <target-platform>
  8.  
  9. <target-platform> may be one of the following:
  10.   gen    : generic make (copy this when porting to a new system)
  11.   aix    : IBM AIX
  12.   aux    : AU/X
  13.   bdi    : BSD/OS
  14.   bsd    : BSD
  15.   dec    : DEC Unix 3.X or later
  16.   dyn    : Dynix
  17.   fbs    : FreeBSD 2.0 or later
  18.   hiu    : Hitachi Unix
  19.   hpx    : HP-UX
  20.   lnx    : Linux (tested on 1.3.X and 2.0.0)
  21.   nbs    : NetBSD 1.X
  22.   nx2    : NeXTstep 2.x
  23.   nx3    : NeXTstep 3.x
  24.   osf    : OSF/1
  25.   ptx    : ???
  26.   sco    : SCO Unix 3.2v4.2 / SCO OpenServer 5
  27.   sgi    : SGI Irix 4.0.5a
  28.   sny    : Sony NewsOS
  29.   sol    : SunOS 5.x / Solaris 2.x 
  30.   s41    : SunOS 4.1.x 
  31.   ult    : Ultrix 4.x
  32.   uxw    : UnixWare 1.1 or later
  33.   clean  : Clean up object files and such to reduce disk space after building.
  34.   install: Install ftpd.
  35. EOF
  36.  
  37. maketarget="no-target"
  38. makeopts=""
  39. makeargs=""
  40.  
  41. args=$#
  42. while [ $args -gt 0 ]
  43. do
  44.   case $1 in
  45.  
  46.     help) cat .bld.hlp
  47.           exit ;;
  48.  
  49.     -*) makeargs="$makeargs $1" ;;
  50.  
  51.     install|clean|distrib|???)
  52.          if [ $maketarget != no-target ]
  53.          then
  54.              echo "Can only make one target system at a time"
  55.              echo 'Both "$maketarget" and "$1" where given'
  56.              exit
  57.          else
  58.              maketarget=$1
  59.          fi
  60.        ;;
  61.  
  62.     *) makeopts="$makeopts $1" ;;
  63.  
  64.   esac
  65.   
  66.   shift
  67.   
  68.   args=`expr $args - 1`
  69.  
  70. done
  71.  
  72. echo 'make args are : '$makeargs''
  73. echo 'make opts are : '$makeopts''
  74. if grep S_IFLNK /usr/include/sys/stat.h >/dev/null 2>&1 ; then
  75.     CPLN='ln -s'
  76. else
  77.     CPLN='cp'
  78. fi
  79. case $maketarget in
  80.  
  81.    ???) 
  82.         echo ''
  83.         echo "Linking Makefiles."
  84.         if [ -f Makefile ]; then
  85.             echo Makefile already present in root directory
  86.         else
  87.             $CPLN makefiles/Makefile.$maketarget Makefile
  88.         fi
  89.         cd src
  90.         if [ -f Makefile ]; then
  91.             echo Makefile already present in src directory
  92.         else
  93.             $CPLN makefiles/Makefile.$maketarget Makefile
  94.         fi
  95.         if [ -f config.h ]; then
  96.             echo config.h already present in src directory
  97.         else
  98.             cp config/config.$maketarget config.h
  99.         fi
  100.         cd ../support
  101.         if [ -f Makefile ]; then
  102.             echo Makefile already present in support directory
  103.         else
  104.             $CPLN  makefiles/Makefile.$maketarget Makefile
  105.         fi
  106.         echo ''
  107.         echo "Making support library."
  108.         cd ../support
  109.         make $makeargs $makeopts
  110.         echo ''
  111.         echo "Making ftpd."
  112.         cd ../src
  113.         make $makeargs $makeopts  ftpd
  114.         echo ''
  115.         echo "Making ftpcount."
  116.         make $makeargs $makeopts  ftpcount
  117.         echo ''
  118.         echo "Making ftpshut".
  119.         make $makeargs $makeopts  ftpshut
  120.         echo ''
  121.         echo "Making ckconfig."
  122.         make $makeargs $makeopts  ckconfig
  123.         cd ..
  124.         if [ ! -d bin ] ;  then    mkdir bin;        fi
  125.         cd bin
  126.         rm -f ftpd ftpcount ftpshut
  127.         if [ -s ../src/ftpd ] ;      then $CPLN ../src/ftpd  ftpd      ; fi
  128.         if [ -s ../src/ftpcount ] ;  then $CPLN ../src/ftpcount ftpcount ; fi
  129.         if [ -s ../src/ftpshut ] ;   then $CPLN ../src/ftpshut ftpshut    ; fi
  130.         if [ -s ../src/ftpcount ] ;   then $CPLN ../src/ftpcount ftpwho    ; fi
  131.         if [ -s ../src/ckconfig ] ;  then $CPLN ../src/ckconfig ckconfig  ; fi
  132.         cd ..
  133.         echo ''
  134.         echo "Links to executables are in bin directory:"
  135.         size bin/ftpd bin/ftpcount bin/ftpshut bin/ftpwho bin/ckconfig
  136.         echo "Done"
  137.         ;;
  138.  
  139.  
  140.     clean) # This only sort of works 
  141.         echo "Cleaning root directory."
  142.         if [ -s .depend ] ;         then rm .depend  ; fi
  143.         if [ -s .bld.hlp ] ;        then rm .bld.hlp ; fi
  144.         if [ -s Makefile ] ;        then rm Makefile ; fi
  145.         if [ -s wu-ftpd.tar ] ;     then rm wu-ftpd.tar ; fi
  146.     rm -f *~
  147.         echo "Cleaning support directory."
  148.         cd support
  149.         make -f makefiles/Makefile.gen $makeargs $makeopts clean
  150.         rm -f Makefile
  151.         echo "Cleaning src directory."
  152.         cd ../src
  153.         make -f makefiles/Makefile.gen $makeargs $makeopts clean
  154.         rm -f Makefile
  155.         rm -f Makefile.bak
  156.         rm -f config.h
  157.         rm -f edit
  158.         rm -f y.tab.h
  159.         echo "Cleaning bin directory."
  160.         cd ..
  161.         if [ -d bin ] ;  then    rm -rf bin;        fi
  162.         ;;
  163.  
  164.     install)
  165.         make -f Makefile $makeargs $makeopts install
  166.         ;;
  167.  
  168.     distrib)
  169.         ./build clean
  170.         echo "Building file list."
  171. # assumes the gnu tar program
  172.     ls RCS/* */RCS/* */*/RCS/* > /tmp/xclude$$
  173.     echo $RELEASE >> /tmp/xclude$$
  174.     echo .bld.hlp >> /tmp/xclude$$
  175.     echo RCS >> /tmp/xclude$$
  176.     echo src/RCS >> /tmp/xclude$$
  177.     echo support/RCS >> /tmp/xclude$$
  178.     echo support/arpa/RCS >> /tmp/xclude$$
  179.     echo support/man/RCS >> /tmp/xclude$$
  180.     echo makefiles/RCS >> /tmp/xclude$$
  181.     echo util/RCS >> /tmp/xclude$$
  182.     echo doc/RCS >> /tmp/xclude$$
  183.     echo doc/examples/RCS >> /tmp/xclude$$
  184.         echo "Building distribution tar file."
  185.     mkdir $RELEASE
  186.     tar -X/tmp/xclude$$  -cf - . |(cd $RELEASE; tar xBf - )
  187.     tar -cf $RELEASE.tar $RELEASE
  188.         echo "Cleaning up."
  189.     rm -rf /tmp/xclude$$ $RELEASE
  190.         ;;
  191.  
  192.     no-target)
  193.         echo "No target plaform for which to build ftpd given."
  194.         echo 'Give command "build help" for help.'
  195.         ;;
  196.  
  197.     *)  echo 'Do not know how to make ftpd for target "'$maketarget'".'
  198.         ;;
  199. esac
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.