SUBDIRS	= gtkdoc
OBJDIR	=
PREFIX	= /usr/local
DESTDIR	=
MKDIR	= mkdir -m 0755 -p
INSTALL	= install
RM	= rm -f
TARGETS	= $(OBJDIR)gtkdoc/Panel.types $(OBJDIR)gtkdoc/html.stamp $(OBJDIR)gtkdoc/tmpl.stamp $(OBJDIR)gtkdoc/xml.stamp $(OBJDIR)panel.1 $(OBJDIR)panel.html $(OBJDIR)panel.xml $(OBJDIR)panelctl.1 $(OBJDIR)panelctl.html $(OBJDIR)panelctl.xml $(OBJDIR)panel-embed.1 $(OBJDIR)panel-embed.html $(OBJDIR)panel-embed.xml $(OBJDIR)panel-message.1 $(OBJDIR)panel-message.html $(OBJDIR)panel-message.xml $(OBJDIR)panel-notify.1 $(OBJDIR)panel-notify.html $(OBJDIR)panel-notify.xml $(OBJDIR)settings.1 $(OBJDIR)settings.html $(OBJDIR)settings.xml $(OBJDIR)wifibrowser.1 $(OBJDIR)wifibrowser.html $(OBJDIR)wifibrowser.xml
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/Panel.types: gtkdoc.sh ../config.sh
	./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/Panel.types"

$(OBJDIR)gtkdoc/html.stamp: gtkdoc.sh gtkdoc/Panel-docs.xml $(OBJDIR)gtkdoc/xml.stamp gtkdoc/xml/gtkdocentities.ent ../config.ent
	./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/html.stamp"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$(OBJDIR)wifibrowser.xml: wifibrowser.xml.in
	../tools/subst.sh -P "$(PREFIX)" -- "$(OBJDIR)wifibrowser.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/Panel.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)panel.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panelctl.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panelctl.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panelctl.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-embed.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-embed.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-embed.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-message.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-message.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-message.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-notify.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-notify.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-notify.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)settings.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)settings.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)settings.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)wifibrowser.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)wifibrowser.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)wifibrowser.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/Panel.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)panel.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panelctl.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panelctl.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panelctl.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-embed.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-embed.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-embed.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-message.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-message.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-message.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-notify.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-notify.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)panel-notify.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)settings.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)settings.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)settings.xml"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)wifibrowser.1"
	./docbook.sh -c -P "$(PREFIX)" -- "$(OBJDIR)wifibrowser.html"
	../tools/subst.sh -c -P "$(PREFIX)" -- "$(OBJDIR)wifibrowser.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)panel.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)panel.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)panelctl.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)panelctl.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)panel-embed.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)panel-embed.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)panel-message.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)panel-message.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)panel-notify.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)panel-notify.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)settings.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)settings.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)wifibrowser.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)wifibrowser.html"
	$(MKDIR) $(DESTDIR)$(PREFIX)/share/doc/Panel
	$(INSTALL) -m 0644 wpa_supplicant.conf $(DESTDIR)$(PREFIX)/share/doc/Panel/wpa_supplicant.conf

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 -- "panel.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "panel.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "panelctl.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "panelctl.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "panel-embed.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "panel-embed.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "panel-message.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "panel-message.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "panel-notify.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "panel-notify.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "settings.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "settings.html"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "wifibrowser.1"
	./docbook.sh -P "$(DESTDIR)$(PREFIX)" -u -- "wifibrowser.html"
	$(RM) -- $(DESTDIR)$(PREFIX)/share/doc/Panel/wpa_supplicant.conf

.PHONY: all subdirs clean distclean install uninstall
