SUBDIRS	= gtkdoc
TARGETS	= $(OBJDIR)gtkdoc/Locker.types $(OBJDIR)gtkdoc/html.stamp $(OBJDIR)gtkdoc/tmpl.stamp $(OBJDIR)gtkdoc/xml.stamp $(OBJDIR)index.html $(OBJDIR)locker.1 $(OBJDIR)locker.html $(OBJDIR)lockerctl.1 $(OBJDIR)lockerctl.html
OBJDIR	=
PREFIX	= /usr/local
DESTDIR	=
RM	= rm -f
LN	= ln -f
MKDIR	= mkdir -m 0755 -p
INSTALL	= install


all: subdirs $(TARGETS)

subdirs:
	@for i in $(SUBDIRS); do (cd "$$i" && \
		if [ -n "$(OBJDIR)" ]; then \
		([ -d "$(OBJDIR)$$i" ] || $(MKDIR) -- "$(OBJDIR)$$i") && \
		$(MAKE) OBJDIR="$(OBJDIR)$$i/"; \
		else $(MAKE); fi) || exit; done

$(OBJDIR)gtkdoc/Locker.types: gtkdoc.sh ../config.sh
	./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/Locker.types"

$(OBJDIR)gtkdoc/html.stamp: gtkdoc.sh gtkdoc/Locker-docs.xml $(OBJDIR)gtkdoc/tmpl.stamp $(OBJDIR)gtkdoc/xml.stamp
	./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/html.stamp"

$(OBJDIR)gtkdoc/tmpl.stamp: gtkdoc.sh $(OBJDIR)gtkdoc/Locker.types
	./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/tmpl.stamp"

$(OBJDIR)gtkdoc/xml.stamp: gtkdoc.sh $(OBJDIR)gtkdoc/tmpl.stamp
	./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/xml.stamp"

$(OBJDIR)index.html: index.xml index.xsl locker.xml lockerctl.xml
	./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)index.html"

$(OBJDIR)locker.1: locker.xml
	./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)locker.1"

$(OBJDIR)locker.html: locker.css.xml locker.xml manual.css.xml
	./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)locker.html"

$(OBJDIR)lockerctl.1: lockerctl.xml
	./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)lockerctl.1"

$(OBJDIR)lockerctl.html: lockerctl.css.xml lockerctl.xml manual.css.xml
	./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)lockerctl.html"

clean:
	@for i in $(SUBDIRS); do (cd "$$i" && \
		if [ -n "$(OBJDIR)" ]; then \
		$(MAKE) OBJDIR="$(OBJDIR)$$i/" clean; \
		else $(MAKE) clean; fi) || exit; done
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/Locker.types"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/html.stamp"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/tmpl.stamp"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/xml.stamp"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)index.html"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)locker.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)locker.html"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)lockerctl.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)lockerctl.html"

distclean:
	@for i in $(SUBDIRS); do (cd "$$i" && \
		if [ -n "$(OBJDIR)" ]; then \
		$(MAKE) OBJDIR="$(OBJDIR)$$i/" distclean; \
		else $(MAKE) distclean; fi) || exit; done
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/Locker.types"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/html.stamp"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/tmpl.stamp"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/xml.stamp"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)index.html"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)locker.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)locker.html"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)lockerctl.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)lockerctl.html"
	$(RM) -- $(TARGETS)

install: all
	@for i in $(SUBDIRS); do (cd "$$i" && \
		if [ -n "$(OBJDIR)" ]; then \
		$(MAKE) OBJDIR="$(OBJDIR)$$i/" install; \
		else $(MAKE) install; fi) || exit; done
	./gtkdoc.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)gtkdoc/html.stamp"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)locker.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)locker.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)lockerctl.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)lockerctl.html"

uninstall:
	@for i in $(SUBDIRS); do (cd "$$i" && \
		if [ -n "$(OBJDIR)" ]; then \
		$(MAKE) OBJDIR="$(OBJDIR)$$i/" uninstall; \
		else $(MAKE) uninstall; fi) || exit; done
	./gtkdoc.sh -P "$(DESTDIR)$(PREFIX)" -u -- "gtkdoc/html.stamp"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "locker.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "locker.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "lockerctl.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "lockerctl.html"

.PHONY: all subdirs clean distclean install uninstall
