Newer
Older
tbku / makefile
@tundra tundra on 11 Mar 2008 2 KB Customized for 'tbku' project.
  1. # Build a release of 'tbku' using 'make'
  2. # $Id: makefile,v 1.101 2008/03/11 18:29:14 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}
  21.  
  22. DOCSOURCES = ${PROGNAME}-license.txt ${PROGNAME}.txt CHANGELOG.txt Makefile WHATSNEW.txt \
  23. Imaging-FreeBSD-With-tbku.txt Imaging-SUSE-Linux-With-tbku.txt
  24.  
  25. DOCFILES = ${PROGNAME}.1.gz ${PROGNAME}.html ${PROGNAME}.pdf ${PROGNAME}.ps \
  26. Imaging-FreeBSD-With-tbku.html Imaging-SUSE-Linux-With-tbku.html \
  27. Imaging-FreeBSD-With-tbku.pdf Imaging-SUSE-Linux-With-tbku.pdf \
  28. Imaging-FreeBSD-With-tbku.ps Imaging-SUSE-Linux-With-tbku.ps
  29.  
  30.  
  31. #####
  32. # Nothing Should Need To Change Below This Line
  33. #####
  34.  
  35.  
  36. DIR = ${PORTNAME}-${VERSION}
  37. HEADER1 = "WHATSNEW For '${PROGNAME}' ${VERSION} (`date`)"
  38. HEADER2 = "----------------------------------------------------------------------"
  39. TARBALL = ${DIR}.tar.gz
  40. TMPFILE = tmpfile
  41. VERSION = $(shell rlog -v ${PROGNAME} | cut -f 2 -d " ")${EARLY}
  42.  
  43.  
  44. #####
  45. # Pattern Rules
  46. #####
  47.  
  48. %.1.gz: %.1
  49. @gzip $<
  50.  
  51. %.1: %.txt
  52. @cp $< $@
  53.  
  54. %.dvi: %.latex
  55. latex $<
  56.  
  57. # %.html: %.1
  58. # @manserver $< >$@
  59.  
  60. %.html: %.txt
  61. rst2html.py $< >$@
  62.  
  63. %.latex: %.txt
  64. rst2latex.py $< >$@
  65.  
  66. %.pdf: %.dvi
  67. @dvipdf $< $@
  68.  
  69. %.pdf: %.ps
  70. @gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=$@ $<
  71.  
  72. # %.ps: %.1
  73. # @groff -man -Tps $< >$@
  74.  
  75. %.ps: %.dvi
  76. dvips $< >$@
  77.  
  78. %.py.ps: %.py
  79. @enscript -Epython -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $<
  80.  
  81. %.txt: %.1
  82. @groff -man -Tascii $< | col -xb >$@
  83.  
  84.  
  85.  
  86. #####
  87. # Actual Build Rules
  88. #####
  89.  
  90. CHANGELOG.txt:
  91. @rlog ${PROGNAME} >CHANGELOG.txt
  92.  
  93. WHATSNEW.txt:
  94. @co -l $@
  95. @printf "%s\n%s\n\n" ${HEADER1} ${HEADER2} | cat - $@ >${TMPFILE}
  96. @mv ${TMPFILE} $@
  97. @emacs $@
  98. @ci -m${HEADER1} $@
  99. @co $@
  100.  
  101. clean:
  102. @rm -rf ${DIR} ${DOCFILES} ${PORTNAME} ${PROGFILES} ${DOCSOURCES} ${TARBALL} ${TMPFILE} \
  103. *.1 *.aux *.log *.out *.core *~
  104. docs: ${DOCSOURCES} ${DOCFILES}
  105. @chmod 644 ${DOCFILES} ${DOCSOURCES}
  106. @chmod 644 *.gz *.txt
  107. @flip -u *txt
  108.  
  109. progs: ${PROGFILES}
  110. chmod 755 ${PROGFILES}
  111.  
  112. release: docs progs
  113. @mkdir ${DIR}
  114. @mv ${DOCFILES} ${PROGFILES} ${DOCSOURCES} ${DIR}
  115. @tar -czvf ${TARBALL} ${DIR}
  116. @rm -rf ${DIR}
  117. @mv ${DIR}.tar.gz Releases
  118.  
  119. version:
  120. @echo ${VERSION}
  121.  
  122.