Newer
Older
tsearchpath / makefile
@tundra tundra on 25 Jun 2010 2 KB Added back documentation files.
  1. # Build a release of 'tsearchpath' using 'make'
  2. # $Id: makefile,v 1.105 2010/06/25 16:21:42 tundra Exp $
  3. # Requires a modern 'make' like GNU.
  4.  
  5.  
  6. # Uncomment One Of The Following For Early Releases
  7.  
  8. #EARLY = Alpha
  9. #EARLY = Beta
  10. #EARLY = RC1
  11.  
  12. #####
  13. # Definitions Relevant To This Program
  14. #####
  15.  
  16. PROGNAME = tsearchpath
  17.  
  18. PORTNAME = ${PROGNAME}
  19.  
  20. PROGFILES = ${PROGNAME}.py testpath.py
  21.  
  22.  
  23. DOCSOURCES = ${PROGNAME}.rst ${PROGNAME}-license.txt CHANGELOG.txt Makefile \
  24. WHATSNEW.txt setup.py
  25.  
  26. DOCFILES = ${PROGNAME}.html ${PROGNAME}.pdf ${PROGNAME}.ps ${PROGNAME}.py.ps \
  27. ${PROGNAME}.1.gz testpath.py.ps
  28.  
  29.  
  30. #####
  31. # Nothing Should Need To Change Below This Line
  32. #####
  33.  
  34.  
  35. DIR = py-${PORTNAME}-${VERSION}
  36. HEADER1 = "WHATSNEW For '${PROGNAME}' ${VERSION} (`date`)"
  37. HEADER2 = "----------------------------------------------------------------------"
  38. TARBALL = ${DIR}.tar.gz
  39. TMPFILE = tmpfile
  40. VERSION = $(shell rlog -v ${PROGNAME}.py | cut -f 2 -d " ")${EARLY}
  41.  
  42.  
  43. #####
  44. # Pattern Rules
  45. #####
  46.  
  47. ###
  48. # 'troff' Sources
  49. ###
  50.  
  51. # %.1.gz: %.1
  52. # @gzip $<
  53.  
  54. # %.1: %.txt
  55. # @cp $< $@
  56.  
  57. # %.txt: %.1
  58. # @groff -man -Tascii $< | col -xb >$@
  59.  
  60. # %.html: %.1
  61. # @manserver $< >$@
  62.  
  63. # %.ps: %.1
  64. # @groff -man -Tps $< >$@
  65.  
  66. ###
  67. # Restructured Text Sources
  68. ###
  69.  
  70. %.html: %.rst
  71. rst2html $< >$@
  72.  
  73. %.1: %.html
  74. w3m -dump $< >$@
  75.  
  76. %.1.gz: %.1
  77. @gzip $<
  78.  
  79. %.latex: %.rst
  80. rst2latex $< >$@
  81.  
  82. ###
  83. # LaTeX, PostScript, & PDF
  84. ###
  85.  
  86. %.dvi: %.latex
  87. latex $<
  88.  
  89. %.pdf: %.dvi
  90. @dvipdf $< $@
  91.  
  92. %.ps: %.dvi
  93. dvips $< >$@
  94.  
  95. ###
  96. # Pretty Print Programs & Scripts
  97. ###
  98.  
  99. %.py.ps: %.py
  100. @enscript -Epython -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $<
  101.  
  102. %.sh.ps: %
  103. @enscript -Esh -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $<
  104.  
  105.  
  106. #####
  107. # Actual Build Rules
  108. #####
  109.  
  110.  
  111. CHANGELOG.txt:
  112. @rlog ${PROGNAME}.py >CHANGELOG.txt
  113.  
  114. WHATSNEW.txt:
  115. @co -l $@
  116. @printf "%s\n%s\n\n" ${HEADER1} ${HEADER2} | cat - $@ >${TMPFILE}
  117. @mv ${TMPFILE} $@
  118. @emacs $@
  119. @ci -m${HEADER1} $@
  120. @co $@
  121.  
  122. clean:
  123. @rm -rf ${DIR} ${DOCFILES} ${PORTNAME} ${PROGFILES} ${DOCSOURCES} ${TARBALL} ${TMPFILE} \
  124. *.1 *.aux *.dvi *.log *.out *.core *~
  125.  
  126. docs: ${DOCSOURCES} ${DOCFILES}
  127. @chmod 644 ${DOCFILES} ${DOCSOURCES}
  128. @chmod 644 *.txt
  129. @flip -u *txt
  130.  
  131. progs: ${PROGFILES}
  132. chmod 755 ${PROGFILES}
  133.  
  134. release: docs progs
  135. @mkdir ${DIR}
  136. @for f in `for f in ${DOCFILES} ${PROGFILES} ${DOCSOURCES};do echo $$f;done | sort`; do mv -v $$f ${DIR};done
  137. @tar -czvf ${TARBALL} ${DIR}
  138. @rm -rf ${DIR}
  139. @mv ${DIR}.tar.gz Releases
  140.  
  141. version:
  142. @echo ${VERSION}