Newer
Older
tconfpy / makefile
# Build a release of tconfpy using 'make'
# $Id: makefile,v 1.103 2005/01/15 09:44:55 tundra Exp $
# Requires a modern 'make' like GNU.


PROGNAME=tconfpy
TESTPROG=test-tc

VERSION   = `rlog -v ${PROGNAME}.py | python -c"import sys;x=sys.stdin.readlines();print x[0].split()[-1]"`

PREFIX    = py-${PROGNAME}
DIR       = ${PREFIX}-${VERSION}
TARBALL   = ${DIR}.tar.gz

PROGFILES = ${PROGNAME}.py ${TESTPROG}.py

SUPPFILES = ${PROGNAME}-license.txt  CHANGELOG.txt Makefile READ-1ST.txt WHATSNEW.txt setup.py example.cfg

DOCFILES  = ${PROGNAME}.html ${PROGNAME}.pdf ${PROGNAME}.ps ${PROGNAME}.py.ps ${PROGNAME}.txt \
            ${TESTPROG}.html ${TESTPROG}.pdf ${TESTPROG}.ps ${TESTPROG}.py.ps ${TESTPROG}.txt \
            ${TESTPROG}.1.gz ${PROGNAME}.3.gz


#####
# Pattern Rules
#####

%.html: %.1
	@manserver $< >$@

%.html: %.3
	@manserver $< >$@

%.pdf: %.ps
	@gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=$@ $<

%.ps: %.1
	@groff -man -Tps $< >$@

%.ps: %.3
	@groff -man -Tps $< >$@

%.py.ps: %.py
	@enscript -Epython -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 $<

%.3.gz: %.3
	@gzip $<

#####
# Actual Build Rules
#####

clean:
	@rm -rf  ${DOCFILES} ${PROGFILES} ${SUPPFILES} ${DIR} ${PREFIX}*

CHANGELOG.txt:
	@rlog ${PROGNAME}.py >CHANGELOG.txt

docs: ${DOCFILES} ${SUPPFILES}
	@chmod 644 ${DOCFILES} ${SUPPFILES}
	@chmod 644 *.gz *.txt
	@flip -u *txt

progs: ${PROGFILES}
	chmod 755 ${PROGFILES}

release: docs progs
	@mkdir ${DIR}
	@mv ${DOCFILES} ${PROGFILES} ${SUPPFILES} ${DIR}
	@tar -czvf ${DIR}.tar.gz ${DIR}
	@rm -rf ${DIR}
#	@mv ${DIR}.tar.gz Releases