SUBDIRS	= gtkdoc
TARGETS	= $(OBJDIR)gtkdoc/html.stamp $(OBJDIR)gtkdoc/libDesktop.types $(OBJDIR)gtkdoc/tmpl.stamp $(OBJDIR)gtkdoc/xml.stamp $(OBJDIR)widget.1 $(OBJDIR)widget.html $(OBJDIR)widget.xml
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/html.stamp: gtkdoc.sh gtkdoc/libDesktop-docs.xml $(OBJDIR)gtkdoc/xml.stamp gtkdoc/xml/gtkdocentities.ent ../config.ent ../config.sh
	./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/html.stamp"

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

$(OBJDIR)gtkdoc/tmpl.stamp: gtkdoc.sh $(OBJDIR)gtkdoc/libDesktop.types ../config.sh
	./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)widget.1: docbook.sh $(OBJDIR)widget.xml
	./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)widget.1"

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

$(OBJDIR)widget.xml: ../tools/subst.sh widget.xml.in
	../tools/subst.sh -P "$(PREFIX)" -- "$(OBJDIR)widget.xml"

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/html.stamp"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/libDesktop.types"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/tmpl.stamp"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/xml.stamp"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)widget.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)widget.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)widget.xml"

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/html.stamp"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/libDesktop.types"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/tmpl.stamp"
	./gtkdoc.sh -c -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/xml.stamp"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)widget.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)widget.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)widget.xml"
	$(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)widget.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)widget.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 -- "widget.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "widget.html"

.PHONY: all subdirs clean distclean install uninstall
