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