# Makefile for installing the project files
# Costin Stroie <cstroie@users.sourceforge.net>
# $Id: Makefile,v 1.4 2006/12/06 18:10:00 cstroie Exp $

# Project name and version
name = lastbash
version = 0.3.1

# Targets
proglist = lastbash
conflist = lastbash.config
man1list = lastbash.1
doclist = AUTHORS COPYING README INSTALL TODO VERSION ChangeLog
datalist =

# Directories
prefix = /usr/local
bindir = $(DESTDIR)$(prefix)/bin
confdir = $(DESTDIR)/etc
mandir = $(DESTDIR)$(prefix)/share/man
man1dir = $(mandir)/man1
docdir = $(DESTDIR)$(prefix)/share/doc/$(name)-$(version)
datadir = $(DESTDIR)$(prefix)/share/$(name)
srcdir = .

# Tools
MKDIR = mkdir
INSTALL = install
RM = rm

# Tools configuration
MK_DIR = $(MKDIR) -p -m 755
INSTALL_PROG = $(INSTALL) -m 755
INSTALL_DATA = $(INSTALL) -m 644

# Rules section
all:
	@echo "Nothing to make, use 'make install' to perform an installation."

# Convert the man page
ps: $(addsuffix .ps, $(man1list))

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

html: $(addsuffix .html, $(man1list))

%.html: %
	groff -man -Thtml $< > $@

# Install section
install: install_dirs install_prog install_conf install_man install_doc

install_dirs:
	$(MK_DIR) $(bindir) $(confdir) $(man1dir) $(docdir) $(datadir)

install_prog:
	$(INSTALL_PROG) $(proglist) $(bindir)

install_conf:
	$(INSTALL_DATA) $(conflist) $(confdir)

install_man: install_man1

install_man1:
	$(INSTALL_DATA) $(man1list) $(man1dir)

install_doc:
	$(INSTALL_DATA) $(doclist) $(docdir)

install_data:
	$(INSTALL_DATA) $(datalist) $(datadir)

uninstall:
	$(RM) -rf $(datadir) $(docdir)
	for i in $(proglist); do $(RM) -f $(bindir)/$$i; done
	for i in $(conflist); do $(RM) -f $(confdir)/$$i; done
	for i in $(man1list); do $(RM) -f $(man1dir)/$$i; done

# Packaging
pack:
	cd .. && tar zcvf /tmp/$(name)-$(version).tar.gz $(name)-$(version)

# vim: set ft=make nowrap nu:
