home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume11 / id / part01 / makefile < prev    next >
Encoding:
Makefile  |  1987-09-25  |  3.4 KB  |  122 lines

  1. #!/bin/make -f
  2.  
  3. # Copyright (c) 1986, Greg McGary
  4. # @(#)makefile    1.3 86/11/06
  5.  
  6. # --------------------------------------------------------------------
  7. # System Dependent Configuration:
  8. #   Choose a pre-packaged set of options below, or roll your own.
  9. #   The relevant options are as follows:
  10. #
  11. # * If you have the `PW' library which includes the regular-expression
  12. #   funcions regcmp(3) and regex(3), then use `-DREGEX' in DEFS, and
  13. #   `-lPW' in LIBS.  If you have the regular-expression functions
  14. #   re_comp(3) and re_exec(3), use `-DRE_EXEC' in DEFS.  If you don't
  15. #   have any regular-expression functions, don't add either to DEFS.
  16. #
  17. # * If you do not have the 4.2 directory access libraries, add `-lndir'
  18. #   to LIBS, and define `-DNDIR' in DEFS. 
  19. #
  20. # * If your string libraries have index(3) and rindex(3) instead of
  21. #   strchr(3) and strrchr(3), use `-DRINDEX' in DEFS.
  22. #
  23. # * If your compiler chokes on pointers to functions returning void,
  24. #   use `-Dvoid=int' in DEFS.
  25. #
  26. # * If you have setlinebuf(3) in your stdio to set line-buffering on
  27. #   a stream, use `-DERRLINEBUF' in DEFS.
  28. #
  29. # * If you have a System-III/V terminal driver, define `TERMIO' in DEFS.
  30. #
  31. # * If you have ranlib(1), define `RANLIB' as such.  If you don't have
  32. #   it, set `RANLIB' to something harmless like `@:', or `echo'
  33. # --------------------------------------------------------------------
  34.  
  35. # DEFS    =    -DREGEX -DNDIR -DTERMIO    # typical System-V defs
  36. # DEFS    =    -Dvoid=int -DRINDEX -DRE_EXEC -DNDIR    # typical V7 defs
  37. DEFS    =    -Dvoid=int -DRINDEX -DRE_EXEC -DERRLINEBUF    # BSD defs
  38.  
  39. # LIBS    =    -lndir -lPW    # typical System-V libs
  40. # LIBS    =    -lndir    # typical V7 libs
  41. LIBS    =    # typical BSD libs (none)
  42.  
  43. #RANLIB    =    @:    # system doesn't have ranlib (Sys-V)
  44. RANLIB    =    ranlib    # system has ranlib (typically V7 & BSD)
  45.  
  46. # --------------------------------------------------------------------
  47. # Compilation / Loading options:
  48. #   Choose options to generate a system as an installed product,
  49. #   for debugging, or for performance profiling.
  50. # --------------------------------------------------------------------
  51.  
  52. # CCFLG    =    -g -DDEBUG     # debugging
  53. # CCFLG    =    -p    # profiling
  54. CCFLG    =    -O    # production
  55.  
  56. # LDFLG    =    -g    # debugging
  57. # LDFLG    =    -p    # profiling
  58. LDFLG    =    # production
  59.  
  60. # --------------------------------------------------------------------
  61.  
  62. SHELL =        /bin/sh
  63. TARGETS =    libid.a $(PROGS)
  64. PROGS =        mkid lid idx fid $(LIDLINKS)
  65. DESTINATION_DIR = /usr/local
  66.  
  67. LIDLINKS =     gid aid eid
  68. CFLAGS =    $(CCFLG) -I. $(DEFS)
  69. LDFLAGS =    $(LDFLG) libid.a $(LIBS)
  70.  
  71. OFILES =    init.o getscan.o scan-c.o scan-asm.o bsearch.o hash.o \
  72.         bitops.o basename.o gets0.o getsFF.o paths.o opensrc.o \
  73.         stoi.o uerror.o document.o bitcount.o wmatch.o bitsvec.o \
  74.         tty.o bzero.o
  75.  
  76. # --------------------------------------------------------------------
  77.  
  78. all:        $(TARGETS)
  79.  
  80. libid.a:    $(OFILES)
  81.         ar rv $@ $?
  82.         $(RANLIB) $@
  83.  
  84. mkid:        mkid.o libid.a
  85.         $(CC) -o $@ $@.o $(LDFLAGS)
  86.  
  87. fid:        fid.o libid.a
  88.         $(CC) -o $@ $@.o $(LDFLAGS)
  89.  
  90. lid:        lid.o libid.a
  91.         $(CC) -o $@ $@.o $(LDFLAGS)
  92.  
  93. idx:        idx.o libid.a
  94.         $(CC) -o $@ $@.o $(LDFLAGS)
  95.  
  96. $(LIDLINKS): lid
  97.         -/bin/rm -f $@
  98.         ln lid $@
  99.  
  100. install:    $(PROGS)
  101.         mv $(PROGS) $(DESTINATION_DIR)
  102.  
  103. clean:
  104.         rm -f $(TARGETS) *.o
  105.  
  106. id.tar:
  107.         cd ..; tar cvbf 20 id/id.tar id/*.[ch1-8] id/makefile id/TODO id/TUTORIAL
  108.  
  109. id.tar.Z:    id.tar
  110.         compress -b 14 <id.tar >id.tar.Z
  111.  
  112. id.shar:    id.shar-1 id.shar-2 id.shar-3
  113.  
  114. id.shar-1:
  115.         shar $(SHARFLAGS) TUTORIAL TODO makefile *.h *.[1-8] >$@
  116.  
  117. id.shar-2:
  118.         shar $(SHARFLAGS) [a-l]*.c >$@
  119.  
  120. id.shar-3:
  121.         shar $(SHARFLAGS) [m-z]*.c >$@
  122.