home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / n / tcpip / wu-ftpd-.000 / wu-ftpd- / wu-ftpd-2.4 / build next >
Encoding:
Text File  |  1994-04-01  |  3.6 KB  |  140 lines

  1. #!/bin/sh 
  2.  
  3. cat > .bld.hlp <<EOF
  4. Usage: build <make-options> <target-platform>
  5.  
  6. <target-platform> may be one of the following:
  7.   gen    : generic make (copy this when porting to a new system)
  8.   aix    : IBM AIX
  9.   bsd    : BSDI bsd/386
  10.   dyn    : Dynix
  11.   hpx    : HP-UX
  12.   lnx    : Linux (tested on 0.99p8)
  13.   nx2    : NeXTstep 2.x
  14.   nx3    : NeXTstep 3.x
  15.   osf    : OSF/1
  16.   ptx    : ???
  17.   sgi    : SGI Irix 4.0.5a
  18.   sny    : Sony NewsOS
  19.   sol    : SunOS 5.x / Solaris 2.x
  20.   s41    : SunOS 4.1.x (requires acc or gcc 2.3.3 or better)
  21.                        (if you must use gcc 1.4.2, mail me for a patch)
  22.   ult    : Ultrix 4.x
  23.   clean  : Clean up object files and such to reduce disk space after building.
  24.   install: Install ftpd.
  25. EOF
  26.  
  27. maketarget="no-target"
  28. makeopts=""
  29. makeargs=""
  30.  
  31. args=$#
  32. while [ $args -gt 0 ]
  33. do
  34.   case $1 in
  35.  
  36.     help) cat .bld.hlp
  37.           exit ;;
  38.  
  39.     -*) makeargs="$makeargs $1" ;;
  40.  
  41.     install|clean|???)
  42.          if [ $maketarget != no-target ]
  43.          then
  44.              echo "Can only make one target system at a time"
  45.              echo 'Both "$maketarget" and "$1" where given'
  46.              exit
  47.          else
  48.              maketarget=$1
  49.          fi
  50.        ;;
  51.  
  52.     *) makeopts="$makeopts $1" ;;
  53.  
  54.   esac
  55.   
  56.   shift
  57.   
  58.   args=`expr $args - 1`
  59.  
  60. done
  61.  
  62. echo 'make args are : '$makeargs''
  63. echo 'make opts are : '$makeopts''
  64.  
  65. case $maketarget in
  66.  
  67.    ???) 
  68.         echo ''
  69.         echo "Linking Makefiles."
  70.         cd src
  71.         ln makefiles/Makefile.$maketarget Makefile
  72.         ln config/config.$maketarget config.h
  73.         cd ../support
  74.         ln makefiles/Makefile.$maketarget Makefile
  75.         echo ''
  76.         echo "Making support library."
  77.         cd ../support
  78.         make $makeargs $makeopts
  79.         echo ''
  80.         echo "Making ftpd."
  81.         cd ../src
  82.         make $makeargs $makeopts  ftpd
  83.         echo ''
  84.         echo "Making ftpcount."
  85.         make $makeargs $makeopts  ftpcount
  86.         echo ''
  87.         echo "Making ftpshut".
  88.         make $makeargs $makeopts  ftpshut
  89.         echo ''
  90.         echo "Making ckconfig."
  91.         make $makeargs $makeopts  ckconfig
  92.         cd ..
  93.         if [ ! -d bin ] ;  then    mkdir bin;        fi
  94.         cd bin
  95.         rm -f ftpd ftpcount ftpshut
  96.         if [ -s ../src/ftpd ] ;      then ln ../src/ftpd  ftpd      ; fi
  97.         if [ -s ../src/ftpcount ] ;  then ln ../src/ftpcount ftpcount ; fi
  98.         if [ -s ../src/ftpshut ] ;   then ln ../src/ftpshut ftpshut    ; fi
  99.         if [ -s ../src/ftpshut ] ;   then ln ../src/ftpcount ftpwho    ; fi
  100.         if [ -s ../src/ckconfig ] ;  then ln ../src/ckconfig ckconfig  ; fi
  101.         cd ..
  102.         echo ''
  103.         echo "Links to executables are in bin directory:"
  104.         size bin/ftpd bin/ftpcount bin/ftpshut bin/ftpwho bin/ckconfig
  105.         echo "Done"
  106.         ;;
  107.  
  108.  
  109.     clean) # This only sort of works 
  110.         echo "Cleaning root directory."
  111.         if [ -s .depend ] ;         then rm .depend  ; fi
  112.         if [ -s .bld.hlp ] ;        then rm .bld.hlp ; fi
  113.         echo "Cleaning support directory."
  114.         cd support
  115.         make -f makefiles/Makefile.gen $makeargs $makeopts clean
  116.         rm -f Makefile
  117.         echo "Cleaning src directory."
  118.         cd ../src
  119.         make -f makefiles/Makefile.gen $makeargs $makeopts clean
  120.         rm -f Makefile
  121.         rm -f Makefile.bak
  122.         rm -f config.h
  123.         echo "Cleaning bin directory."
  124.         cd ..
  125.         if [ -d bin ] ;  then    rm -rf bin;        fi
  126.         ;;
  127.  
  128.     install)
  129.         make -f Makefile $makeargs $makeopts install
  130.         ;;
  131.  
  132.     no-target)
  133.         echo "No target plaform for which to build ftpd given."
  134.         echo 'Give command "build help" for help.'
  135.         ;;
  136.  
  137.     *)  echo 'Do not know how to make ftpd for target "'$maketarget'".'
  138.         ;;
  139. esac
  140.