# This file is public domain. Originally written 2010 by Gaydov Victor.
#

PREFIX = /usr/local
DIST = dist/m.utils-$(shell cat VERSION).tgz
DEPS = cat $(filter-out src/CVS,$(wildcard src/*)) |\
	sed -e '/^[ \t]*use *[A-Z]/!d' -e 's/.*use *\([^; ]*\).*/\1/' | sort -u

M = $(patsubst src/%,%,$^)
D = $(shell basename $(shell pwd))

all:

man: $(patsubst %,man/%.1.gz,m.find m.grep m.info mp) man/m.utils.1.gz
man/m.utils.1.gz: README
	( echo NAME ; cat README ) | util/help2pod -r -nm.utils |\
		pod2man -n m.utils -c 'm.utils package' | gzip - > man/m.utils.1.gz
man/%.1.gz: src/%
	src/$(M) --help | util/help2pod -n $(M) |\
		pod2man -n $(M) -c 'm.utils package' | gzip - > man/$(M).1.gz

install-man: man
	mkdir -p $(PREFIX)/share/man/man1/
	cp -p $(filter-out man/CVS,$(wildcard man/*)) $(PREFIX)/share/man/man1/

install: install-man
	mkdir -p $(PREFIX)/bin/
	cp -p $(filter-out src/CVS,$(wildcard src/*)) $(PREFIX)/bin/
	mkdir -p $(PREFIX)/share/doc/m.utils/
	cp -p $(filter-out doc/CVS,$(wildcard doc/*)) $(PREFIX)/share/doc/m.utils/

uninstall:
	rm -f $(patsubst src/%,$(PREFIX)/bin/%,$(filter-out src/CVS,$(wildcard src/*)))
	rm -f $(patsubst man/%,$(PREFIX)/share/man/man1/%,$(filter-out man/CVS,$(wildcard man/*)))
	rm -rf $(PREFIX)/share/doc/m.utils/

$(DIST):
dist: man $(DIST)
	mkdir -p dist
	tar -C .. -czhvf $(DIST) \
		--exclude CVS \
		$(patsubst %,$(D)/%,src man doc util Makefile README VERSION)

show-deps:
	@$(DEPS)

deps-cpan:
	@$(DEPS) | while read M ; do cpan -i $$M ; done

deps-gcpan:
	@$(DEPS) | while read M ; do g-cpan -i $$M ; done

