Newer
Older
tbku / makefile
@tundra tundra on 10 Mar 2008 2 KB Initial Version
  1. # Build a release of 'tbku' using 'make'
  2. # $Id: makefile,v 1.100 2008/03/10 22:28:39 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 = tbku
  17.  
  18. PORTNAME = ${PROGNAME}
  19.  
  20. PROGFILES = ${PROGNAME}.py
  21.  
  22. SUPPFILES = ${PROGNAME}-license.txt CHANGELOG.txt Makefile READ-1ST.txt WHATSNEW.txt setup.py
  23.  
  24. DOCFILES = ${PROGNAME}.html ${PROGNAME}.pdf ${PROGNAME}.ps ${PROGNAME}.py.ps ${PROGNAME}.txt \
  25. ${PROGNAME}.1.gz
  26.  
  27.  
  28. #####
  29. # Nothing Should Need To Change Below This Line
  30. #####
  31.  
  32.  
  33. DIR = ${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. %.dvi: %.latex
  46. latex $<
  47.  
  48. %.html: %.1
  49. @manserver $< >$@
  50.  
  51. %.html: %.txt
  52. rst2html.py $< >$@
  53.  
  54. %.latex: %.txt
  55. rst2latex.py $< >$@
  56.  
  57. %.pdf: %.dvi
  58. @dvipdf $< $@
  59.  
  60. %.pdf: %.ps
  61. @gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=$@ $<
  62.  
  63. %.ps: %.1
  64. @groff -man -Tps $< >$@
  65.  
  66. %.ps: %.dvi
  67. dvips $< >$@
  68.  
  69. %.py.ps: %.py
  70. @enscript -Epython -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $<
  71. %.txt: %.1
  72. @groff -man -Tascii $< | col -xb >$@
  73.  
  74. %.1.gz: %.1
  75. @gzip $<
  76.  
  77.  
  78. #####
  79. # Actual Build Rules
  80. #####
  81.  
  82. clean:
  83. @rm -rf ${DIR} ${DOCFILES} ${PORTNAME} ${PROGFILES} ${SUPPFILES} ${TARBALL} ${TMPFILE} *.core *~
  84.  
  85. version:
  86. @echo ${VERSION}
  87.  
  88. CHANGELOG.txt:
  89. @rlog ${PROGNAME}.py >CHANGELOG.txt
  90.  
  91. WHATSNEW.txt:
  92. @co -l $@
  93. @printf "%s\n%s\n\n" ${HEADER1} ${HEADER2} | cat - $@ >${TMPFILE}
  94. @mv ${TMPFILE} $@
  95. @emacs $@
  96. @ci -m${HEADER1} $@
  97. @co $@
  98.  
  99. docs: ${DOCFILES} ${SUPPFILES}
  100. @chmod 644 ${DOCFILES} ${SUPPFILES}
  101. @chmod 644 *.gz *.txt
  102. @flip -u *txt
  103.  
  104. progs: ${PROGFILES}
  105. chmod 755 ${PROGFILES}
  106.  
  107. release: docs progs
  108. @mkdir ${DIR}
  109. @mv ${DOCFILES} ${PROGFILES} ${SUPPFILES} ${DIR}
  110. @tar -czvf ${TARBALL} ${DIR}
  111. @rm -rf ${DIR}
  112. @mv ${DIR}.tar.gz Releases
  113.  
  114.