# Build a release of tperimeter using 'make' # $Id: makefile,v 1.112 2006/05/03 07:14:13 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 = tperimeter PORTNAME = ${PROGNAME} PROGFILES = ${PROGNAME}.py ${PROGNAME}-ui.html rebuild-hosts.allow.sh SUPPFILES = ${PROGNAME}-license.txt CHANGELOG.txt Makefile WHATSNEW.txt DOCFILES = ${PROGNAME}.dvi ${PROGNAME}.html ${PROGNAME}.pdf ${PROGNAME}.ps ${PROGNAME}.py.ps ${PROGNAME}.1.gz \ ${PROGNAME}-ui.html.ps rebuild-hosts.allow.sh.ps ##### # 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 ##### %.dvi: %.latex latex $< %.html: %.1 @manserver $< >$@ %.html: %.txt rst2html.py $< >$@ %.latex: %.txt rst2latex.py $< >$@ %.pdf: %.dvi @dvipdf $< $@ %.pdf: %.ps @gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=$@ $< %.ps: %.1 @groff -man -Tps $< >$@ %.ps: %.dvi dvips $< >$@ %.html.ps: %.html @enscript -Ehtml -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $< %.py.ps: %.py @enscript -Epython -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $< %.sh.ps: %.sh @enscript -Esh -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $< %.txt: %.1 @groff -man -Tascii $< | col -xb >$@ %.txt: %.3 @groff -man -Tascii $< | col -xb >$@ %.1.gz: %.1 @gzip $< %.1: %.txt cat $< >$@ %.3.gz: %.3 @gzip $< ##### # Actual Build Rules ##### clean: @rm -rf ${DIR} ${DOCFILES} ${PORTNAME} ${PROGFILES} ${SUPPFILES} ${TARBALL} ${TMPFILE} *.aux *.dvi *.log *.out *.core *~ version: @echo ${VERSION} CHANGELOG.txt: @rlog ${PROGNAME}.py >CHANGELOG.txt WHATSNEW.txt: @co -l $@ @printf "%s\n%s\n\n" ${HEADER1} ${HEADER2} | cat - $@ >${TMPFILE} @mv ${TMPFILE} $@ @emacs $@ @ci -m${HEADER1} $@ @co $@ docs: ${DOCFILES} ${SUPPFILES} @chmod 644 ${DOCFILES} ${SUPPFILES} @chmod 644 *.gz *.txt @flip -u *txt progs: ${PROGFILES} chmod 740 ${PROGFILES} release: docs progs @mkdir -p ${DIR}/docs ${DIR}/progs @mv ${DOCFILES} ${DIR}/docs @mv ${PROGFILES} ${DIR}/progs @mv ${SUPPFILES} ${DIR} @tar -czvf ${TARBALL} ${DIR} @rm -rf ${DIR} @mv ${DIR}.tar.gz Releases @gmake clean