Makefile 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. #######################################################################
  2. # Makefile for FPK-Pascal documentation.
  3. # Michael Van Canneyt
  4. #######################################################################
  5. #
  6. # Where do you want the html files to be put ?
  7. DOCINSTALLDIR=/usr/doc/ppc-0.99.0
  8. #
  9. # Program definitions
  10. #
  11. # Latex
  12. ifndef LATEX
  13. LATEX = latex
  14. endif
  15. # Latex2html conversion.
  16. ifndef LATEX2HTML
  17. LATEX2HTML = latex2html
  18. endif
  19. # Options for converter
  20. ifndef LATEX2HTMLOPTS
  21. LATEX2HTMLOPTS = -ascii_mode -no_reuse -up_url "../fpctoc.html"\
  22. -up_title "Free Pascal manuals" -contents_in_navigation\
  23. -html_version 3.0
  24. endif
  25. # DVI to PS converter
  26. ifndef DVIPS
  27. DVIPS=dvips
  28. endif
  29. # DVI to TXT converter
  30. ifndef DVITXT
  31. DVITXT=dvi2tty -w132
  32. endif
  33. # PDF converter
  34. ifndef PDFLATEX
  35. PDFLATEX=pdflatex
  36. endif
  37. # Makeindex programma
  38. ifndef MAKEINDEX
  39. MAKEINDEX=makeindex
  40. endif
  41. #
  42. #######################################################################
  43. # End of configurable section. Do not edit after this line.
  44. #######################################################################
  45. HTML = user units ref prog
  46. PS = $(addsuffix .ps, $(HTML))
  47. DVI = $(addsuffix .dvi, $(HTML))
  48. TXT = $(addsuffix .txt, $(HTML))
  49. PDF = $(addsuffix .pdf, $(HTML))
  50. CHAPTERS = $(addsuffix .tex, crt dos getopts go32 graph linux printer strings)
  51. .PHONY: clean dvi help html ps psdist htmldist htm txt pdf refex
  52. .SUFFIXES: .dvi .tex .ps .txt .pdf
  53. .dvi.ps:
  54. $(DVIPS) $<
  55. .tex.dvi:
  56. $(LATEX) $*
  57. -$(MAKEINDEX) $*
  58. $(LATEX) $*
  59. -$(MAKEINDEX) $*
  60. $(LATEX) $*
  61. .dvi.txt:
  62. $(DVITXT) -o $*.txt $*.dvi
  63. .tex.pdf:
  64. $(PDFLATEX) $*pdf
  65. -$(MAKEINDEX) $*pdf
  66. $(PDFLATEX) $*pdf
  67. -$(MAKEINDEX) $*pdf
  68. $(PDFLATEX) $*pdf
  69. help:
  70. @echo 'Possible targets :'
  71. @echo ' dvi : Make documentation using latex.'
  72. @echo ' ps : Make documentation using latex and dvips.'
  73. @echo ' html : Make documentation using latex2html.'
  74. @echo ' htm : Convert .html to .htm files, zip result'
  75. @echo ' clean : Clean up the mess.'
  76. $(TXT) : %.txt: %.dvi
  77. $(DVI) : %.dvi: %.tex
  78. $(PDF) : %.pdf: %.tex
  79. units.dvi: units.tex $(CHAPTERS) unitex
  80. unitex:
  81. $(MAKE) -C crtex tex
  82. $(MAKE) -C linuxex tex
  83. $(MAKE) -C dosex tex
  84. $(MAKE) -C optex tex
  85. $(MAKE) -C printex tex
  86. $(MAKE) -C stringex tex
  87. $(MAKE) -C sockex tex
  88. ref.dvi: ref.tex refex
  89. refex:
  90. $(MAKE) -C refex tex
  91. dvi : $(DVI)
  92. txt : dvi $(TXT)
  93. html : dvi $(HTML)
  94. ps : dvi $(PS)
  95. pdf : $(PDF)
  96. user:
  97. $(LATEX2HTML) $(LATEX2HTMLOPTS) -split 2 -link 2\
  98. -t "User's guide for FPK Pascal" user.tex
  99. sed -f foot.sed <user/footnode.html >user/footnote.html
  100. mv user/footnote.html user/footnode.html
  101. units:
  102. $(LATEX2HTML) $(LATEX2HTMLOPTS) -split 3 -link 2\
  103. -t "Unit reference for FPK Pascal" units.tex
  104. sed -f foot.sed <units/footnode.html >units/footnote.html
  105. mv units/footnote.html units/footnode.html
  106. ref:
  107. $(LATEX2HTML) $(LATEX2HTMLOPTS) -split 3 -link 2\
  108. -t "FPK Pascal reference guide" ref.tex
  109. sed -f foot.sed <ref/footnode.html >ref/footnote.html
  110. mv ref/footnote.html ref/footnode.html
  111. prog:
  112. $(LATEX2HTML) $(LATEX2HTMLOPTS) -split 2 -link 2\
  113. -t "FPK Pascal programmers guide" prog.tex
  114. sed -f foot.sed <prog/footnode.html >prog/footnote.html
  115. mv prog/footnote.html prog/footnode.html
  116. clean:
  117. -rm -f *.aux *.log *.dvi *.ps *.toc *.i* *.lot *.pdf *.txt
  118. -rm -rf $(HTML)
  119. -$(MAKE) -C refex clean
  120. -$(MAKE) -C linuxex clean
  121. -$(MAKE) -C crtex clean
  122. -$(MAKE) -C dosex clean
  123. -$(MAKE) -C optex clean
  124. -$(MAKE) -C printex clean
  125. -$(MAKE) -C stringex clean
  126. -$(MAKE) -C sockex clean
  127. htmldist: html
  128. find . -name '*.html' >htmllist
  129. find . -name '*.gif' >>htmllist
  130. tar -czvf fpcdoc.tar.gz --files-from=htmllist
  131. rm -f htmllist
  132. psdist: ps
  133. tar -cvzf fpcdocps.tar.gz *.ps
  134. zip fpcdocps *.ps
  135. pdfdist: pdf
  136. zip fpcdocpdf *.pdf
  137. htm:
  138. makehtm `find . -name '*.html'`
  139. zip fpcdoc `find . -name '*.htm'`
  140. rm `find -name '*.htm'`
  141. dist:
  142. -mkdir $(DISTDIR)/docs
  143. cp Makefile README.DOCS makehtm fpktoc.html $(DISTDIR)/docs
  144. cp *.tex *.sty *.perl *.doc $(DISTDIR)/docs
  145. distclean: clean
  146. -rm -f *.tar.gz *.zip
  147. install: html
  148. install -d -m 755 $(DOCINSTALLDIR)
  149. cp -R $(HTML) $(DOCINSTALLDIR)
  150. cp fpctoc.html $(DOCINSTALLDIR)
  151. www-install: psdist htmldist htm
  152. rcp fpcdoc.zip fpcdocps.zip fpcdocps.tar.gz fpcdoc.tar.gz tfdec1:htdocs/fpk
  153. rsh tfdec1 '(cd htdocs/fpk/docs ; /usr/local/bin/tar -xzf ../fpcdoc.tar.gz)'
  154. all-formats: ps txt pdf html