Newer
Older
tconfpy / makefile
  1. # Build a release of tconfpy using 'make'
  2. # $Id: makefile,v 1.104 2005/01/16 09:41:04 tundra Exp $
  3. # Requires a modern 'make' like GNU.
  4.  
  5.  
  6. PROGNAME=tconfpy
  7. TESTPROG=test-tc
  8.  
  9. VERSION = $(shell rlog -v ${PROGNAME}.py | python -c"import sys;x=sys.stdin.readlines();print x[0].split()[-1]")
  10.  
  11. PREFIX = py-${PROGNAME}
  12. DIR = ${PREFIX}-${VERSION}
  13. TARBALL = ${DIR}.tar.gz
  14.  
  15. PROGFILES = ${PROGNAME}.py ${TESTPROG}.py
  16.  
  17. SUPPFILES = ${PROGNAME}-license.txt CHANGELOG.txt Makefile READ-1ST.txt WHATSNEW.txt setup.py example.cfg
  18.  
  19. DOCFILES = ${PROGNAME}.html ${PROGNAME}.pdf ${PROGNAME}.ps ${PROGNAME}.py.ps ${PROGNAME}.txt \
  20. ${TESTPROG}.html ${TESTPROG}.pdf ${TESTPROG}.ps ${TESTPROG}.py.ps ${TESTPROG}.txt \
  21. ${TESTPROG}.1.gz ${PROGNAME}.3.gz
  22.  
  23.  
  24. #####
  25. # Pattern Rules
  26. #####
  27.  
  28. %.html: %.1
  29. @manserver $< >$@
  30.  
  31. %.html: %.3
  32. @manserver $< >$@
  33.  
  34. %.pdf: %.ps
  35. @gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=$@ $<
  36.  
  37. %.ps: %.1
  38. @groff -man -Tps $< >$@
  39.  
  40. %.ps: %.3
  41. @groff -man -Tps $< >$@
  42.  
  43. %.py.ps: %.py
  44. @enscript -Epython -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $<
  45.  
  46. %.txt: %.1
  47. @groff -man -Tascii $< | col -xb >$@
  48.  
  49. %.txt: %.3
  50. @groff -man -Tascii $< | col -xb >$@
  51.  
  52. %.1.gz: %.1
  53. @gzip $<
  54.  
  55. %.3.gz: %.3
  56. @gzip $<
  57.  
  58. #####
  59. # Actual Build Rules
  60. #####
  61.  
  62. clean:
  63. @rm -rf ${DOCFILES} ${PROGFILES} ${SUPPFILES} ${DIR} ${PREFIX}*
  64.  
  65. version:
  66. @echo ${VERSION}
  67.  
  68. CHANGELOG.txt:
  69. @rlog ${PROGNAME}.py >CHANGELOG.txt
  70.  
  71. docs: ${DOCFILES} ${SUPPFILES}
  72. @chmod 644 ${DOCFILES} ${SUPPFILES}
  73. @chmod 644 *.gz *.txt
  74. @flip -u *txt
  75.  
  76. progs: ${PROGFILES}
  77. chmod 755 ${PROGFILES}
  78.  
  79. release: docs progs
  80. @mkdir ${DIR}
  81. @mv ${DOCFILES} ${PROGFILES} ${SUPPFILES} ${DIR}
  82. @tar -czvf ${DIR}.tar.gz ${DIR}
  83. @rm -rf ${DIR}
  84. # @mv ${DIR}.tar.gz Releases
  85.  
  86.