home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume6 / less.patch / makefile.sys5 < prev    next >
Makefile  |  1986-11-30  |  5KB  |  173 lines

  1. # Makefile for "less"
  2. #
  3. # Invoked as:
  4. #    make all
  5. #   or    make install
  6. # Plain "make" is equivalent to "make all".
  7. #
  8. # If you add or delete functions, remake funcs.h by doing:
  9. #    make newfuncs
  10. # This depends on the coding convention of function headers looking like:
  11. #    " \t public <function-type> \n <function-name> ( ... ) "
  12. #
  13. # Also provided:
  14. #    make lint    # Runs "lint" on all the sources.
  15. #    make clean    # Removes "less" and the .o files.
  16. #    make clobber    # Pretty much the same as make "clean".
  17. #
  18. #    make pager_patch        # makes PAGER environment variable
  19. #    make install_pager_patch    # catcher and installs it (see below)
  20.  
  21.  
  22. ##########################################################################
  23. # System-specific parameters
  24. ##########################################################################
  25.  
  26. # Define XENIX if running under XENIX 3.0
  27. XENIX = 0
  28.  
  29. # VOID is 1 if your C compiler supports the "void" type,
  30. # 0 if it does not.
  31. VOID = 1
  32.  
  33. # off_t is the type which lseek() returns.
  34. # It is also the type of lseek()'s second argument.
  35. off_t = long
  36.  
  37. # TERMIO is 1 if your system has /usr/include/termio.h.
  38. # This is normally the case for System 5.
  39. # If TERMIO is 0 your system must have /usr/include/sgtty.h.
  40. # This is normally the case for BSD.
  41. TERMIO = 1
  42.  
  43. # SIGSETMASK is 1 if your system has the sigsetmask() call.
  44. # This is normally the case only for BSD 4.2,
  45. # not for BSD 4.1 or System 5.
  46. SIGSETMASK = 0
  47.  
  48.  
  49. ##########################################################################
  50. # Optional and semi-optional features
  51. ##########################################################################
  52.  
  53. # REGCMP is 1 if your system has the regcmp() function.
  54. # This is normally the case for System 5.
  55. # RECOMP is 1 if your system has the re_comp() function.
  56. # This is normally the case for BSD.
  57. # If neither is 1, pattern matching is supported, but without metacharacters.
  58. REGCMP = 1
  59. RECOMP = 0
  60.  
  61. # SHELL_ESCAPE is 1 if you wish to allow shell escapes.
  62. # (This is possible only if your system supplies the system() function.)
  63. SHELL_ESCAPE = 0
  64.  
  65. # EDITOR is 1 if you wish to allow editor invocation (the "v" command).
  66. # (This is possible only if your system supplies the system() function.)
  67. # EDIT_PGM is the name of the (default) editor to be invoked.
  68. EDITOR = 0
  69. EDIT_PGM = /usr/ucb/vi
  70.  
  71. # parameters to "make install_pager_patch".  OLD_PAGER will be moved to
  72. # OLD_PAGER_NEW_LOCATION and pager_patch (in this directory) will be installed
  73. # as OLD_PAGER.  This patch will allow you to set the environment variable
  74. # PAGER to specify your personal pager preference (is this a security hole?)
  75. OLD_PAGER = /usr/ucb/more
  76. OLD_PAGER_NEW_LOCATION = /usr/ucb/More
  77.  
  78. # ONLY_RETURN is 1 if you want RETURN to be the only input which
  79. # will continue past an error message.
  80. # Otherwise, any key will continue past an error message.
  81. ONLY_RETURN = 0
  82.  
  83.  
  84. ##########################################################################
  85. # Compilation environment.
  86. ##########################################################################
  87.  
  88. # LIBS is the list of libraries needed.
  89. LIBS = -lcurses -lPW
  90.  
  91. # INSTALL_LESS is a list of the public versions of less.
  92. # INSTALL_MAN is a list of the public versions of the manual page.
  93. INSTALL_LESS =    /usr/lbin/less
  94. INSTALL_MAN =    /usr/man/manl/less.l
  95.  
  96. # OPTIM is passed to the compiler and the loader.
  97. # It is normally "-O" but may be, for example, "-g".
  98. OPTIM = -O
  99.  
  100.  
  101. ##########################################################################
  102. # Files
  103. ##########################################################################
  104.  
  105. SRC1 =    main.c option.c prim.c 
  106. SRC2 =    ch.c position.c input.c output.c screen.c \
  107.     prompt.c line.c signal.c help.c ttyin.c command.c version.c
  108. SRC =    $(SRC1) $(SRC2)
  109. OBJ =    main.o option.o prim.o ch.o position.o input.o output.o screen.o \
  110.     prompt.o line.o signal.o help.o ttyin.o command.o version.o
  111.  
  112.  
  113. ##########################################################################
  114. # Rules
  115. ##########################################################################
  116.  
  117. DEFS =    "-DTERMIO=$(TERMIO)" \
  118.     "-DSIGSETMASK=$(SIGSETMASK)" \
  119.     "-Doff_t=$(off_t)" "-DVOID=$(VOID)" \
  120.     "-DREGCMP=$(REGCMP)" "-DRECOMP=$(RECOMP)" \
  121.     "-DSHELL_ESCAPE=$(SHELL_ESCAPE)" \
  122.     "-DEDITOR=$(EDITOR)" "-DEDIT_PGM=\"$(EDIT_PGM)\"" \
  123.     "-DONLY_RETURN=$(ONLY_RETURN)" \
  124.     "-DXENIX=$(XENIX)" \
  125.     "-DOLD_PAGER_NEW_LOCATION=\"$(OLD_PAGER_NEW_LOCATION)\""
  126.  
  127. CFLAGS = $(OPTIM) $(DEFS)
  128.  
  129.  
  130. all: less
  131.  
  132. less: $(OBJ)
  133.     cc $(OPTIM) -o less $(OBJ) $(LIBS)
  134.  
  135. install: install_man install_less
  136.  
  137. install_man: less.l
  138.     for f in $(INSTALL_MAN); do  rm -f $$f; cp less.l $$f;  done
  139.     touch install_man
  140.     
  141. install_less: less
  142.     for f in $(INSTALL_LESS); do  rm -f $$f; cp less $$f;  done
  143.     touch install_less
  144.  
  145. pager_patch: pager_patch.c
  146.     cc $(CFLAGS) -s -o pager_patch pager_patch.c
  147.  
  148. install_pager_patch: pager_patch
  149.     if [ -s $(OLD_PAGER) -a ! -s $(OLD_PAGER_NEW_LOCATION) ]; then \
  150.         mv $(OLD_PAGER) $(OLD_PAGER_NEW_LOCATION); \
  151.         cp pager_patch $(OLD_PAGER); \
  152.     fi
  153.     touch install_pager_patch
  154.  
  155. $(OBJ): less.h funcs.h
  156.  
  157. lint:
  158.     lint -hp $(DEFS) $(SRC)
  159.  
  160. newfuncs:
  161.     mv funcs.h funcs.h.OLD
  162.     awk -f mkfuncs.awk $(SRC) >funcs.h
  163.  
  164. clean:
  165.     rm -f $(OBJ) less pager_patch
  166.  
  167. clobber:
  168.     rm -f *.o less pager_patch install_less install_man install_pager_patch
  169.  
  170. shar:
  171.     shar -v INSTALLATION less.l makefile.* *.h *.awk $(SRC1) > less.shar.a
  172.     shar -v $(SRC2) pager_patch.c > less.shar.b
  173.