Newer
Older
tbku / makefile
# Build a release of 'tbku' using 'make'
# $Id: makefile,v 1.103 2008/03/11 21:24:34 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   = tbku

PORTNAME   = ${PROGNAME}

PROGFILES  = ${PROGNAME}

DOCSOURCES = ${PROGNAME}-license.txt ${PROGNAME}.txt  CHANGELOG.txt Makefile WHATSNEW.txt \
             Imaging-FreeBSD-With-tbku.txt Imaging-SUSE-Linux-With-tbku.txt

DOCFILES   = ${PROGNAME}.1.gz ${PROGNAME}.html ${PROGNAME}.pdf ${PROGNAME}.ps  ${PROGNAME}.sh.ps\
             Imaging-FreeBSD-With-tbku.html Imaging-SUSE-Linux-With-tbku.html  \
             Imaging-FreeBSD-With-tbku.pdf Imaging-SUSE-Linux-With-tbku.pdf    \
             Imaging-FreeBSD-With-tbku.ps Imaging-SUSE-Linux-With-tbku.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} | cut -f 2 -d " ")${EARLY}


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

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

%.1: %.txt
	@cp $< $@

%.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 $< >$@

%.py.ps: %.py
	@enscript -Epython -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $<

%.sh.ps: %
	@enscript -Esh -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $<

%.txt: %.1
	@groff -man -Tascii $< | col -xb >$@


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

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

WHATSNEW.txt:
	@co -l $@
	@printf "%s\n%s\n\n" ${HEADER1} ${HEADER2} | cat - $@ >${TMPFILE}
	@mv ${TMPFILE} $@
	@emacs $@
	@ci -m${HEADER1} $@
	@co $@

clean:
	@rm -rf  ${DIR} ${DOCFILES} ${PORTNAME} ${PROGFILES} ${DOCSOURCES} ${TARBALL} ${TMPFILE} \
             *.1 *.aux *.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}