# Build a release of 'tren' using 'make' # $Id: makefile,v 1.104 2010/08/27 20:20:11 tundra Exp $ # Requires a modern 'make' like GNU. # Uncomment One Of The Following For Early Releases #EARLY = Alpha #EARLY = Beta #EARLY = RC1 ##### # Definitions Relevant To This Program ##### PROGNAME = tren PORTNAME = ${PROGNAME} PROGFILES = ${PROGNAME}.py DOCSOURCES = ${PROGNAME}.rst ${PROGNAME}-license.txt CHANGELOG.txt Makefile \ WHATSNEW.txt setup.py DOCFILES = ${PROGNAME}.html ${PROGNAME}.pdf ${PROGNAME}.ps ${PROGNAME}.py.ps \ ${PROGNAME}.1.gz ##### # Nothing Should Need To Change Below This Line ##### DIR = ${PORTNAME}-${VERSION} HEADER1 = "WHATSNEW For '${PROGNAME}' ${VERSION} (`date`)" HEADER2 = "----------------------------------------------------------------------" TARBALL = ${DIR}.tar.gz TMPFILE = tmpfile VERSION = $(shell rlog -v ${PROGNAME}.py | cut -f 2 -d " ")${EARLY} ##### # Pattern Rules ##### ### # 'troff' Sources ### # %.1.gz: %.1 # @gzip $< # %.1: %.txt # @cp $< $@ # %.txt: %.1 # @groff -man -Tascii $< | col -xb >$@ # %.html: %.1 # @manserver $< >$@ # %.ps: %.1 # @groff -man -Tps $< >$@ ### # Restructured Text Sources ### %.html: %.rst rst2html $< >$@ %.1: %.html w3m -dump $< >$@ %.1.gz: %.1 @gzip $< %.latex: %.rst rst2newlatex $< >$@ ### # LaTeX, PostScript, & PDF ### %.dvi: %.latex latex $< latex $< latex $< %.pdf: %.dvi @dvipdf $< $@ %.ps: %.dvi dvips $< >$@ ### # Pretty Print Programs & Scripts ### %.py.ps: %.py @enscript -Epython --color -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $< %.sh.ps: % @enscript -Esh --color -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $< ##### # Actual Build Rules ##### CHANGELOG.txt: @rlog ${PROGNAME}.py >CHANGELOG.txt WHATSNEW.txt: @co -l $@ @printf "%s\n%s\n\n" ${HEADER1} ${HEADER2} | cat - $@ >${TMPFILE} @mv ${TMPFILE} $@ @emacs -nw $@ @ci -m${HEADER1} $@ @co $@ clean: @rm -rf ${DIR} ${DOCFILES} ${PORTNAME} ${PROGFILES} ${DOCSOURCES} ${TARBALL} ${TMPFILE} \ *.1 *.aux *.dvi *.latex *.log *.out *.core *~ docs: ${DOCSOURCES} ${DOCFILES} @chmod 644 ${DOCFILES} ${DOCSOURCES} @chmod 644 *.gz *.txt @flip -u *txt progs: ${PROGFILES} chmod 755 ${PROGFILES} release: docs progs @mkdir ${DIR} @for f in `for f in ${DOCFILES} ${PROGFILES} ${DOCSOURCES};do echo $$f;done | sort`; do mv -v $$f ${DIR};done @tar -czvf ${TARBALL} ${DIR} @rm -rf ${DIR} @mv ${DIR}.tar.gz Releases version: @echo ${VERSION}