home *** CD-ROM | disk | FTP | other *** search
/ Education Sampler 1992 [NeXTSTEP] / Education_1992_Sampler.iso / Programming / Source / WAIS / Makefile next >
Encoding:
Makefile  |  1992-02-03  |  2.9 KB  |  124 lines

  1. # Top level make of the WAIS system
  2. #   brewster 2/91
  3. #   jonathan 6/91
  4.  
  5. # common customizations:
  6. # see the CFLAGS variable for pointers.
  7. #
  8. # to do:
  9. # create the scripts, install the pointer to this version if it is the
  10. # newest.
  11.  
  12. RM = rm -f
  13. AR = ar
  14.  
  15. CC = cc
  16.  
  17. # set this for your site.  This syntax only works in SunOS
  18. # for other UNIX-like OS's set this to this directory.
  19. TOP = /burchard/WAIS
  20. #TOP = /proj/wais/latest
  21.  
  22. SUPDIR = $(TOP)/ir
  23.  
  24. # for old BSD add -DBSD
  25. # for System V add -DSYSV 
  26. # for XENIX add -M3e -Zi
  27. # for NeXT add -DNeXT
  28. # for a little better security in the server, add -DSECURE_SERVER
  29. # this sets the server user id to -u argument after startup.
  30. # for relevance feedaback in the search engine, add -DRELEVANCE_FEEDBACK
  31. # USG for Unix Dirent in lib
  32. CFLAGS = -g -I$(SUPDIR) -DNeXT -DSECURE_SERVER -DRELEVANCE_FEEDBACK -DUSG
  33.  
  34. # this is a pretty good guess at the MAKE command.  -e seems to be
  35. # SunOS specific too, so remove it for ULTRIX and NeXT.
  36.  
  37. MAKE = make -k CC=$(CC) "CFLAGS=$(CFLAGS)" TOP=$(TOP)
  38.  
  39. default: lib ir bin next-ui doc
  40.     @echo "Welcome to WAIS"
  41.  
  42. lib::
  43.     cd lib; $(MAKE) 
  44.  
  45. ir::
  46.     cd ir; $(MAKE) 
  47.  
  48. ui::
  49.     cd ui; $(MAKE)
  50.  
  51. next-ui::
  52.     cd next-ui; $(MAKE)
  53.  
  54. # ULTRIX doesn't have an env command, so this doesn't work.
  55. # try going to the x directory and just doing a make -k
  56. # you may have to edit the CFLAGS in the Makefile yourself.
  57.  
  58. x::
  59.     cd x; (env TOP=$(TOP) CC=$(CC) "CFLAGS=$(CFLAGS)" ./makex.sh)
  60.  
  61. bin::
  62.     cd bin; $(MAKE)
  63.  
  64. doc::
  65.     cd doc; $(MAKE)
  66.  
  67. test::
  68.     @echo $(MAKE)
  69.  
  70. # to make the emacs tags table for meta-.:
  71. tags:     
  72.     etags -f TAGS ir/*.[ch]
  73.     etags -af TAGS ui/*.[ch]
  74.     etags -af TAGS x/*.[ch]
  75.  
  76. # Remove objects and library.
  77. clean:
  78.     $(RM) *~
  79.     $(RM) \#*\#
  80.     $(RM) core
  81.     $(RM) TAGS
  82.     $(RM) -r SearchLog
  83.     $(RM) wais-sources/wais-docs*
  84.     cd lib; make $@
  85.     cd ir; make $@
  86.     cd ui; make  $@
  87.     cd bin; make  $@
  88.     cd doc; make  $@
  89.     cd x; make $@
  90. #    cd motif; make $@
  91. #    cd seeker/src; make $@
  92.  
  93. RELEASE = wais-8-b3
  94.  
  95. REMOVEM = seeker xm motif to-release.txt ir/server-single.c
  96.  
  97. release:
  98.     mkdir ../${RELEASE}
  99.     tar cvf - . | (cd ../${RELEASE}; tar xf -)
  100.     find ../${RELEASE} -name RCS -exec rm -rf {} ";"
  101.     (cd ../${RELEASE}; make -k clean; rm -rf ${REMOVEM})
  102.     find ../${RELEASE} -name Makefile -exec chmod a+w {} ";"
  103.     (cd ..; tar cvf ${RELEASE}.tar ${RELEASE})
  104.     (cd ..; compress -f ${RELEASE}.tar)
  105.  
  106. # when making a new release, change ir/version.h to say so.
  107. distrib:
  108.     mkdir ${TOP}-dist
  109.     tar cvf - . | (cd ${TOP}-dist; tar xf -)
  110.     find ${TOP}-dist -name RCS -exec rm -rf {} ";"
  111.     (cd ${TOP}-dist; make -k clean; rm -rf seeker/timing seeker/db seeker/src/*_sig_data)
  112.     (cd ..; tar cvf ${TOP}-dist.tar `basename ${TOP}-dist`)
  113.     compress -f ${TOP}-dist.tar
  114.     rm -rf ${TOP}-dist
  115.  
  116. expt:
  117.     mkdir ${TOP}-expt
  118.     tar cvf - . | (cd ${TOP}-expt; tar xf -)
  119.     find ${TOP}-expt -name RCS -exec rm -rf {} ";"
  120.     (cd ${TOP}-expt; make -k clean)
  121.     (cd ..; tar cvf ${TOP}-expt.tar `basename ${TOP}-expt`)
  122.     compress -f ${TOP}-expt.tar
  123.     rm -rf ${TOP}-expt
  124.