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