home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / c / condor40.zip / CONDOR / src / condor_master / Makefile next >
Makefile  |  1989-06-01  |  4KB  |  125 lines

  1. # Copyright 1986, 1987, 1988, 1989 University of Wisconsin
  2. # Permission to use, copy, modify, and distribute this software and its
  3. # documentation for any purpose and without fee is hereby granted,
  4. # provided that the above copyright notice appear in all copies and that
  5. # both that copyright notice and this permission notice appear in
  6. # supporting documentation, and that the name of the University of
  7. # Wisconsin not be used in advertising or publicity pertaining to
  8. # distribution of the software without specific, written prior
  9. # permission.  The University of Wisconsin makes no representations about
  10. # the suitability of this software for any purpose.  It is provided "as
  11. # is" without express or implied warranty.
  12. # THE UNIVERSITY OF WISCONSIN DISCLAIMS ALL WARRANTIES WITH REGARD TO
  13. # THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
  14. # FITNESS. IN NO EVENT SHALL THE UNIVERSITY OF WISCONSIN  BE LIABLE FOR
  15. # ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  16. # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  17. # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  18. # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  19. # Authors:  Allan Bricker and Michael J. Litzkow,
  20. #              University of Wisconsin, Computer Sciences Dept.
  21.  
  22.  
  23.  
  24.  
  25. #
  26. # The following variables must be passed in to this makefile:
  27. #
  28. #    SRCDIR    =    The pathname (relative or absolute) of the source
  29. #                directory (eg. ../src, /var/home/condor/CONDOR/src)
  30. #
  31. #    DSTDIR    =    The pathname (relative or absolute) of the directory
  32. #                which will contain the installed binaries and libraries.
  33. #                There must be "bin" and "lib" subdirectories within DSTDIR.
  34. #
  35. #    COPTS    =    Default flags to cc (eg -O, -g)
  36. #
  37. #    IDENT    =    Any #defines which are not automatically supplied
  38. #                by cpp (eg. -Dsunos40 or -Dsunos32).  Note that
  39. #                cpp provides definitions for architectures (eg.
  40. #                vax, sun, mc68020, sparc)
  41. #
  42.  
  43. DIRECTORY=condor_master
  44.  
  45. PDIR=$(SRCDIR)/$(DIRECTORY)
  46. CFLAGS=$(COPTS) -I$(SRCDIR)/h $(IDENT)
  47.  
  48. #
  49. #    Options to 'ctags'
  50. #
  51. TFLAGS=-dt
  52.  
  53. #
  54. #    Each file in the CSRC list should be prepended by $(PDIR).
  55. #
  56. CSRC=$(PDIR)/master.c
  57. SSRC=
  58.  
  59. SRC=$(CSRC) $(SSRC)
  60.  
  61. OBJ=master.o
  62. LIB=../util_lib/util_lib.a ../xdr_lib/xdr_lib.a
  63. LINTLIB =   ../util_lib/llib-lutil.ln ../xdr_lib/llib-lxdr.ln
  64.  
  65. PROGRAMS=condor_master
  66. CLEANUP=$(OBJ) $(PROGRAMS) $(PDIR)/Makefile.bak
  67.  
  68. all: $(PROGRAMS)
  69.  
  70. ALWAYS:
  71.  
  72. release: $(PROGRAMS)
  73.     cd $(DSTDIR)/bin ; rm -f $(PROGRAMS)
  74.     cp $(PROGRAMS) $(DSTDIR)/bin
  75.     cd $(DSTDIR)/bin ; chmod -w $(PROGRAMS)
  76.  
  77. lint: ALWAYS
  78.     lint -DLINT -I$(SRCDIR)/h $(IDENT) $(CSRC) $(LINTLIB)
  79.  
  80. clean: ALWAYS
  81.     rm -f $(CLEANUP)
  82.  
  83. tags: ALWAYS
  84.     cd $(PDIR) ; ctags $(TFLAGS) $(CSRC) ; \
  85.     cat ../h/tags ../xdr_lib/tags ../util_lib/tags ../condor_lib/tags \
  86.             >> tags ; sort tags > tags.sorted ; mv tags.sorted tags
  87.  
  88. #############################################################################
  89. # Put program specific things here
  90. #############################################################################
  91.  
  92. condor_master: $(OBJ) $(LIB)
  93.     cc -o condor_master $(CFLAGS) $(OBJ) $(LIB)
  94.  
  95. master.o: $(PDIR)/master.c
  96.     cc -c $(CFLAGS) $(PDIR)/master.c
  97.  
  98. depend: ALWAYS
  99.     grep '^#include' $(CSRC) $(PDIR)/Makefile | grep -v '<' | \
  100.           sed 's/:[^"]*"\([^"]*\)".*/: \1/' | \
  101.           sed 's/\.c/.o/' | \
  102.           sed 's;$(PDIR)/;;' | \
  103.           sed 's;: ;: $$\(SRCDIR)/h/;' | \
  104.     awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
  105.         else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
  106.                else rec = rec " " $$2 } } \
  107.           END { print rec } ' > makedep
  108.     echo '$$r makedep' >>eddep
  109.     echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
  110.     echo '$$r makedep' >>eddep
  111.     echo 'w' >>eddep
  112.     /bin/cp $(PDIR)/Makefile $(PDIR)/Makefile.bak
  113.     ed - $(PDIR)/Makefile < eddep
  114.     rm eddep makedep
  115.  
  116. # DO NOT DELETE THIS LINE -- make depend uses it
  117.  
  118. master.o: $(SRCDIR)/h/sched.h $(SRCDIR)/h/debug.h $(SRCDIR)/h/except.h
  119.