#############################################################
#
#	Makefile for rpfj, the RatPoison FrameJuggler
#
#	Copyright (C) 2015 Andrea Remondini
#
#	$Id: Makefile 25 2015-08-14 12:19:14Z ndr $
#	
#############################################################

SHELL		= /bin/sh
version		= sed -n 2p rpfj.sh|tr ' \t' '\n'|sed '/^$$/d'|sed -n 3p
prefix		= /usr/local
OPTIMIZE	= sed -f optimize_rpfj.sed

all: rpfj rpfj.1.gz

.PHONY: all man htmlman clean install uninstall dist tgz rpfj-debug

rpfj: rpfj.sh optimize_rpfj.sed usage.txt
	$(OPTIMIZE) rpfj.sh	> $@
	echo 			>>$@
	gzip -9cn usage.txt	>>$@
	chmod +x		$@

# An unoptimized version for debugging purposes:
rpfj-debug:
	$(MAKE) rpfj OPTIMIZE=cat

rpfj.1.gz: rpfj.m4
	m4 rpfj.m4 | sed '/^$$/d' | gzip -9cn > $@

rpfj.1.html: rpfj.m4
	m4 -DHTML rpfj.m4 | sed '/^$$/d' | groff -man -Thtml > $@

man:		rpfj.1.gz
htmlman:	rpfj.1.html

install: rpfj rpfj.1.gz
	@-install -d              $(prefix)/bin/
	install        rpfj       $(prefix)/bin/
	@-install -d              $(prefix)/share/man/man1/
	install -m 644 rpfj.1.gz  $(prefix)/share/man/man1/

uninstall: 
	rm -f $(prefix)/bin/rpfj
	rm -f $(prefix)/share/man/man1/rpfj.1.gz
	-rmdir -p $(prefix)/bin
	-rmdir -p $(prefix)/share/man/man1

clean:
	rm -rf rpfj{,.1.{gz,html},-`$(version)`{,.tgz{,.asc}}}

#============================================================= RPFJ DISTRIBUTION

distrofiles= Makefile optimize_rpfj.sed rpfj.m4 rpfj.sh usage.txt \
             COPYING EXAMPLE.ratpoisonrc INSTALL

dist:
	rm -rf			rpfj-`$(version)`
	mkdir			rpfj-`$(version)`
	cp -p $(distrofiles)	rpfj-`$(version)`

tgz: dist
	rm -f rpfj-`$(version)`.tgz
	tar vcf	- --owner=0 --group=0	  rpfj-`$(version)`	| \
	gzip -cv9			> rpfj-`$(version)`.tgz
