Makefile
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:5k
源码类别:

通讯编程

开发平台:

Visual C++

  1. # This file is part of CWEB.
  2. # It is distributed WITHOUT ANY WARRANTY, express or implied.
  3. # Version 3.0 --- June 1993
  4. # Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth
  5. # Permission is granted to make and distribute verbatim copies of this
  6. # document provided that the copyright notice and this permission notice
  7. # are preserved on all copies.
  8. # Permission is granted to copy and distribute modified versions of this
  9. # document under the conditions for verbatim copying, provided that the
  10. # entire resulting derived work is given a different name and distributed
  11. # under the terms of a permission notice identical to this one.
  12. # Read the README file, then edit this file to reflect local conditions
  13. #
  14. # directory for TeX inputs (cwebmac.tex goes here)
  15. MACROSDIR= /usr/local/lib/tex/inputs
  16. # directory for CWEB inputs in @i files
  17. CWEBINPUTS= /usr/local/lib/cweb
  18. # extension for manual pages ("l" distinguishes local from system stuff)
  19. MANEXT= l
  20. #MANEXT= 1
  21. # directory for manual pages (cweb.1 goes here)
  22. MANDIR= /usr/man/man$(MANEXT)
  23. # destination directory for executables; must end in /
  24. DESTDIR= /bin/
  25. # directory for GNU EMACS Lisp code (cweb.el goes here)
  26. EMACSDIR= /usr/local/emacs/lisp
  27. # Set DESTPREF to null if you want to call the executables "tangle" and "weave"
  28. # (probably NOT a good idea; we recommend leaving DESTPREF=c)
  29. DESTPREF=c
  30. # Set CCHANGES to comm-foo.ch if you need changes to common.w
  31. CCHANGES=
  32. # Set TCHANGES to ctang-foo.ch if you need changes to ctangle.w
  33. TCHANGES=
  34. # Set WCHANGES to cweav-foo.ch if you need changes to cweave.w
  35. WCHANGES=
  36. # We keep debugging info around, for fun, but most users don't need it
  37. CFLAGS = -g
  38. #CFLAGS = -O
  39. LINKFLAGS = -g
  40. #LINKFLAGS = -s # for smaller (stripped) executables on many UNIX systems
  41. # What C compiler are you using?
  42. CC = gcc
  43. # RM and CP are used below in case rm and cp are aliased
  44. RM= /bin/rm
  45. CP= /bin/cp
  46. ##########  You shouldn't have to change anything after this point #######
  47. CWEAVE = ./cweave
  48. CTANGLE = ./ctangle
  49. SOURCES = cweave.w common.w ctangle.w
  50. ALMOSTALL =  common.w ctangle.w Makefile README common.c common.h ctangle.c 
  51. cwebman.tex cwebmac.tex examples comm-vms.ch ctang-vms.ch 
  52. cweav-vms.ch comm-man.ch ctang-man.ch cweav-man.ch 
  53. comm-pc.ch ctang-pc.ch cweav-pc.ch comm-amiga.ch 
  54.         comm-bs.ch ctang-bs.ch cweav-bs.ch makefile.bs 
  55. comm-ql.ch ctang-ql.ch cweav-ql.ch readme.ql 
  56. comm-os2.ch cweb.1 cweb.el prod.w
  57. ALL =  $(ALMOSTALL) cweave.w
  58. .SUFFIXES: .dvi .tex .w
  59. .w.tex:
  60. $(CWEAVE) $*
  61. .tex.dvi:
  62. tex $<
  63. .w.dvi:
  64. make $*.tex
  65. make $*.dvi
  66. .w.c:
  67. $(CTANGLE) $*
  68. .w.o:
  69. make $*.c
  70. make $*.o
  71. all: ctangle cweave
  72. cautiously: ctangle
  73. $(CP) common.c SAVEcommon.c
  74. ./ctangle common $(CCHANGES)
  75. diff common.c SAVEcommon.c
  76. $(RM) SAVEcommon.c
  77. $(CP) ctangle.c SAVEctangle.c
  78. ./ctangle ctangle $(TCHANGES)
  79. diff ctangle.c SAVEctangle.c
  80. $(RM) SAVEctangle.c
  81. SAVEctangle.c:
  82. $(CP) ctangle.c SAVEctangle.c
  83. SAVEcommon.c:
  84. $(CP) common.c SAVEcommon.c
  85. common.c: common.w $(CCHANGES)
  86. $(CTANGLE) common $(CCHANGES)
  87. common.o: common.c
  88. $(CC) $(CFLAGS) -DCWEBINPUTS="$(CWEBINPUTS)" -c common.c
  89. ctangle: ctangle.o common.o
  90. $(CC) $(LINKFLAGS) -o ctangle ctangle.o common.o 
  91. ctangle.c: ctangle.w $(TCHANGES)
  92. $(CTANGLE) ctangle $(TCHANGES)
  93. cweave: cweave.o common.o
  94. $(CC) $(LINKFLAGS) -o cweave cweave.o common.o
  95. cweave.c: cweave.w $(WCHANGES)
  96. $(CTANGLE) cweave $(WCHANGES)
  97. doc: $(SOURCES:.w=.dvi)
  98. usermanual: cwebman.tex cwebmac.tex
  99. tex cwebman
  100. fullmanual: usermanual $(SOURCES) comm-man.ch ctang-man.ch cweav-man.ch
  101. make cweave
  102. ./cweave common.w comm-man.ch
  103. tex common.tex
  104. ./cweave ctangle.w ctang-man.ch
  105. tex ctangle.tex
  106. ./cweave cweave.w cweav-man.ch
  107. tex cweave.tex
  108. # be sure to leave ctangle.c and common.c for bootstrapping
  109. clean:
  110. $(RM) -f -r *~ *.o common.tex cweave.tex cweave.c ctangle.tex 
  111.   *.log *.dvi *.toc *.idx *.scn core cweave.w.[12] cweave ctangle
  112. install: all
  113. $(CP) cweave $(DESTDIR)$(DESTPREF)weave
  114. chmod 755 $(DESTDIR)$(DESTPREF)weave
  115. $(CP) ctangle $(DESTDIR)$(DESTPREF)tangle
  116. chmod 755 $(DESTDIR)$(DESTPREF)tangle
  117. ### manuals not required
  118. ##$(CP) cweb.1 $(MANDIR)/cweb.$(MANEXT)
  119. ##chmod 644 $(MANDIR)/cweb.$(MANEXT)
  120. ##$(CP) cwebmac.tex $(MACROSDIR)
  121. ##chmod 644 $(MACROSDIR)/cwebmac.tex
  122. ##$(CP) cweb.el $(EMACSDIR)
  123. ##chmod 644 $(EMACSDIR)/cweb.el
  124. bundle: $(ALL)
  125. sed -n '1,2200 p' cweave.w > cweave.w.1
  126. sed -n '2201,$$ p' cweave.w > cweave.w.2
  127. /usr/local/bin/shar -m100000 -c -v -f cweb $(ALMOSTALL) cweave.w.[12]
  128. tags: $(ALL)
  129. etags -z $(ALL)
  130. cweb.tar: $(ALL)
  131. tar cvhf cweb.tar $(ALL)
  132. floppy: $(ALL)
  133. bar cvhf /dev/rfd0 $(ALL)
  134. bar tvf /dev/rfd0
  135. eject