PACKAGE	= Browser
VERSION	= 0.5.5
VENDOR	= Desktop
SUBDIRS	= data doc include po src/lib src src/plugins src/widget tests tools
OBJDIR	=
PREFIX	= /usr/local
DESTDIR	=
MKDIR	= mkdir -m 0755 -p
INSTALL	= install
RM	= rm -f
TARGETS	= tests
RM	= rm -f
LN	= ln -f
TAR	= tar
TGZEXT	= .tar.gz
MKDIR	= mkdir -m 0755 -p
INSTALL	= install


all: subdirs

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

tests: all
	cd tests && (if [ -n "$(OBJDIR)" ]; then $(MAKE) OBJDIR="$(OBJDIR)tests/" "$(OBJDIR)tests/clint.log" "$(OBJDIR)tests/fixme.log" "$(OBJDIR)tests/tests.log" "$(OBJDIR)tests/xmllint.log"; else $(MAKE) clint.log fixme.log tests.log xmllint.log; fi)

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

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

dist:
	$(RM) -r -- $(OBJDIR)$(PACKAGE)-$(VERSION)
	$(LN) -s -- "$$PWD" $(OBJDIR)$(PACKAGE)-$(VERSION)
	@cd $(OBJDIR). && $(TAR) -czvf $(PACKAGE)-$(VERSION)$(TGZEXT) -- \
		$(PACKAGE)-$(VERSION)/data/Makefile \
		$(PACKAGE)-$(VERSION)/data/Browser.pc.in \
		$(PACKAGE)-$(VERSION)/data/org.defora.browser.desktop \
		$(PACKAGE)-$(VERSION)/data/org.defora.browser-folder.desktop \
		$(PACKAGE)-$(VERSION)/data/org.defora.view.desktop \
		$(PACKAGE)-$(VERSION)/data/org.defora.desktop-settings.desktop \
		$(PACKAGE)-$(VERSION)/data/pkgconfig.sh \
		$(PACKAGE)-$(VERSION)/data/project.conf \
		$(PACKAGE)-$(VERSION)/data/16x16/Makefile \
		$(PACKAGE)-$(VERSION)/data/16x16/browser-view-details.png \
		$(PACKAGE)-$(VERSION)/data/16x16/browser-view-icons.png \
		$(PACKAGE)-$(VERSION)/data/16x16/browser-view-list.png \
		$(PACKAGE)-$(VERSION)/data/16x16/project.conf \
		$(PACKAGE)-$(VERSION)/doc/Makefile \
		$(PACKAGE)-$(VERSION)/doc/browser.css.xml \
		$(PACKAGE)-$(VERSION)/doc/browser.xml.in \
		$(PACKAGE)-$(VERSION)/doc/copy.css.xml \
		$(PACKAGE)-$(VERSION)/doc/copy.xml.in \
		$(PACKAGE)-$(VERSION)/doc/delete.css.xml \
		$(PACKAGE)-$(VERSION)/doc/delete.xml.in \
		$(PACKAGE)-$(VERSION)/doc/desktop.css.xml \
		$(PACKAGE)-$(VERSION)/doc/desktop.xml.in \
		$(PACKAGE)-$(VERSION)/doc/desktopctl.css.xml \
		$(PACKAGE)-$(VERSION)/doc/desktopctl.xml.in \
		$(PACKAGE)-$(VERSION)/doc/docbook.sh \
		$(PACKAGE)-$(VERSION)/doc/gtkdoc.sh \
		$(PACKAGE)-$(VERSION)/doc/manual.css.xml \
		$(PACKAGE)-$(VERSION)/doc/mime.conf \
		$(PACKAGE)-$(VERSION)/doc/move.css.xml \
		$(PACKAGE)-$(VERSION)/doc/move.xml.in \
		$(PACKAGE)-$(VERSION)/doc/open.css.xml \
		$(PACKAGE)-$(VERSION)/doc/open.xml.in \
		$(PACKAGE)-$(VERSION)/doc/pinentry-sudo-askpass.in \
		$(PACKAGE)-$(VERSION)/doc/properties.css.xml \
		$(PACKAGE)-$(VERSION)/doc/properties.xml.in \
		$(PACKAGE)-$(VERSION)/doc/view.css.xml \
		$(PACKAGE)-$(VERSION)/doc/view.xml.in \
		$(PACKAGE)-$(VERSION)/doc/zenity-sudo-askpass.in \
		$(PACKAGE)-$(VERSION)/doc/project.conf \
		$(PACKAGE)-$(VERSION)/doc/gtkdoc/Makefile \
		$(PACKAGE)-$(VERSION)/doc/gtkdoc/Browser-docs.xml \
		$(PACKAGE)-$(VERSION)/doc/gtkdoc/Browser-sections.txt \
		$(PACKAGE)-$(VERSION)/doc/gtkdoc/xml/gtkdocentities.ent \
		$(PACKAGE)-$(VERSION)/doc/gtkdoc/project.conf \
		$(PACKAGE)-$(VERSION)/include/Browser.h \
		$(PACKAGE)-$(VERSION)/include/Makefile \
		$(PACKAGE)-$(VERSION)/include/project.conf \
		$(PACKAGE)-$(VERSION)/include/Browser/desktop.h \
		$(PACKAGE)-$(VERSION)/include/Browser/plugin.h \
		$(PACKAGE)-$(VERSION)/include/Browser/vfs.h \
		$(PACKAGE)-$(VERSION)/include/Browser/Makefile \
		$(PACKAGE)-$(VERSION)/include/Browser/project.conf \
		$(PACKAGE)-$(VERSION)/po/Makefile \
		$(PACKAGE)-$(VERSION)/po/gettext.sh \
		$(PACKAGE)-$(VERSION)/po/POTFILES \
		$(PACKAGE)-$(VERSION)/po/de.po \
		$(PACKAGE)-$(VERSION)/po/es.po \
		$(PACKAGE)-$(VERSION)/po/fr.po \
		$(PACKAGE)-$(VERSION)/po/it.po \
		$(PACKAGE)-$(VERSION)/po/project.conf \
		$(PACKAGE)-$(VERSION)/src/lib/vfs.c \
		$(PACKAGE)-$(VERSION)/src/lib/Makefile \
		$(PACKAGE)-$(VERSION)/src/lib/project.conf \
		$(PACKAGE)-$(VERSION)/src/copy.c \
		$(PACKAGE)-$(VERSION)/src/delete.c \
		$(PACKAGE)-$(VERSION)/src/move.c \
		$(PACKAGE)-$(VERSION)/src/open.c \
		$(PACKAGE)-$(VERSION)/src/properties.c \
		$(PACKAGE)-$(VERSION)/src/view.c \
		$(PACKAGE)-$(VERSION)/src/Makefile \
		$(PACKAGE)-$(VERSION)/src/common.c \
		$(PACKAGE)-$(VERSION)/src/common.h \
		$(PACKAGE)-$(VERSION)/src/project.conf \
		$(PACKAGE)-$(VERSION)/src/browser/browser.c \
		$(PACKAGE)-$(VERSION)/src/browser/callbacks.c \
		$(PACKAGE)-$(VERSION)/src/browser/window.c \
		$(PACKAGE)-$(VERSION)/src/browser/main.c \
		$(PACKAGE)-$(VERSION)/src/browser/Makefile \
		$(PACKAGE)-$(VERSION)/src/browser/browser.h \
		$(PACKAGE)-$(VERSION)/src/browser/callbacks.h \
		$(PACKAGE)-$(VERSION)/src/browser/window.h \
		$(PACKAGE)-$(VERSION)/src/browser/project.conf \
		$(PACKAGE)-$(VERSION)/src/desktop/desktop.c \
		$(PACKAGE)-$(VERSION)/src/desktop/desktopicon.c \
		$(PACKAGE)-$(VERSION)/src/desktop/desktopiconwindow.c \
		$(PACKAGE)-$(VERSION)/src/desktop/handler.c \
		$(PACKAGE)-$(VERSION)/src/desktop/main.c \
		$(PACKAGE)-$(VERSION)/src/desktop/desktopctl.c \
		$(PACKAGE)-$(VERSION)/src/desktop/handler/mimeapp.c \
		$(PACKAGE)-$(VERSION)/src/desktop/Makefile \
		$(PACKAGE)-$(VERSION)/src/desktop/desktop.h \
		$(PACKAGE)-$(VERSION)/src/desktop/desktopicon.h \
		$(PACKAGE)-$(VERSION)/src/desktop/desktopiconwindow.h \
		$(PACKAGE)-$(VERSION)/src/desktop/handler.h \
		$(PACKAGE)-$(VERSION)/src/desktop/handler/applications.c \
		$(PACKAGE)-$(VERSION)/src/desktop/handler/categories.c \
		$(PACKAGE)-$(VERSION)/src/desktop/handler/files.c \
		$(PACKAGE)-$(VERSION)/src/desktop/handler/homescreen.c \
		$(PACKAGE)-$(VERSION)/src/desktop/handler/mimeapp.h \
		$(PACKAGE)-$(VERSION)/src/desktop/project.conf \
		$(PACKAGE)-$(VERSION)/src/plugins/backup.c \
		$(PACKAGE)-$(VERSION)/src/plugins/cvs.c \
		$(PACKAGE)-$(VERSION)/src/plugins/dirtree.c \
		$(PACKAGE)-$(VERSION)/src/plugins/favorites.c \
		$(PACKAGE)-$(VERSION)/src/plugins/git.c \
		$(PACKAGE)-$(VERSION)/src/plugins/make.c \
		$(PACKAGE)-$(VERSION)/src/plugins/places.c \
		$(PACKAGE)-$(VERSION)/src/plugins/preview.c \
		$(PACKAGE)-$(VERSION)/src/plugins/properties.c \
		$(PACKAGE)-$(VERSION)/src/plugins/selection.c \
		$(PACKAGE)-$(VERSION)/src/plugins/subversion.c \
		$(PACKAGE)-$(VERSION)/src/plugins/template.c \
		$(PACKAGE)-$(VERSION)/src/plugins/trash.c \
		$(PACKAGE)-$(VERSION)/src/plugins/undelete.c \
		$(PACKAGE)-$(VERSION)/src/plugins/volumes.c \
		$(PACKAGE)-$(VERSION)/src/plugins/Makefile \
		$(PACKAGE)-$(VERSION)/src/plugins/common.c \
		$(PACKAGE)-$(VERSION)/src/plugins/project.conf \
		$(PACKAGE)-$(VERSION)/src/widget/browser.c \
		$(PACKAGE)-$(VERSION)/src/widget/callbacks.c \
		$(PACKAGE)-$(VERSION)/src/widget/widget.c \
		$(PACKAGE)-$(VERSION)/src/widget/window.c \
		$(PACKAGE)-$(VERSION)/src/widget/Makefile \
		$(PACKAGE)-$(VERSION)/src/widget/project.conf \
		$(PACKAGE)-$(VERSION)/tests/plugins.c \
		$(PACKAGE)-$(VERSION)/tests/vfs.c \
		$(PACKAGE)-$(VERSION)/tests/Makefile \
		$(PACKAGE)-$(VERSION)/tests/clint.sh \
		$(PACKAGE)-$(VERSION)/tests/embedded.sh \
		$(PACKAGE)-$(VERSION)/tests/fixme.sh \
		$(PACKAGE)-$(VERSION)/tests/htmllint.sh \
		$(PACKAGE)-$(VERSION)/tests/pkgconfig.sh \
		$(PACKAGE)-$(VERSION)/tests/tests.sh \
		$(PACKAGE)-$(VERSION)/tests/xmllint.sh \
		$(PACKAGE)-$(VERSION)/tests/project.conf \
		$(PACKAGE)-$(VERSION)/tools/dirtree.c \
		$(PACKAGE)-$(VERSION)/tools/iconlist.c \
		$(PACKAGE)-$(VERSION)/tools/Makefile \
		$(PACKAGE)-$(VERSION)/tools/subst.sh \
		$(PACKAGE)-$(VERSION)/tools/project.conf \
		$(PACKAGE)-$(VERSION)/Makefile \
		$(PACKAGE)-$(VERSION)/COPYING \
		$(PACKAGE)-$(VERSION)/README.md \
		$(PACKAGE)-$(VERSION)/TODO \
		$(PACKAGE)-$(VERSION)/config.ent \
		$(PACKAGE)-$(VERSION)/config.h \
		$(PACKAGE)-$(VERSION)/config.sh \
		$(PACKAGE)-$(VERSION)/project.conf
	$(RM) -- $(OBJDIR)$(PACKAGE)-$(VERSION)

distcheck: dist
	$(TAR) -xzvf $(OBJDIR)$(PACKAGE)-$(VERSION)$(TGZEXT)
	$(MKDIR) -- $(PACKAGE)-$(VERSION)/objdir
	$(MKDIR) -- $(PACKAGE)-$(VERSION)/destdir
	cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/"
	cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/" DESTDIR="$$PWD/destdir" install
	cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/" DESTDIR="$$PWD/destdir" uninstall
	cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/" distclean
	cd "$(PACKAGE)-$(VERSION)" && $(MAKE) dist
	$(RM) -r -- $(PACKAGE)-$(VERSION)

install: all
	@for i in $(SUBDIRS); do (cd "$$i" && \
		if [ -n "$(OBJDIR)" ]; then \
		$(MAKE) OBJDIR="$(OBJDIR)$$i/" install; \
		else $(MAKE) install; fi) || exit; done
	$(MKDIR) $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)
	$(INSTALL) -m 0644 COPYING $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)/COPYING
	$(MKDIR) $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)
	$(INSTALL) -m 0644 README.md $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)/README.md

uninstall:
	@for i in $(SUBDIRS); do (cd "$$i" && \
		if [ -n "$(OBJDIR)" ]; then \
		$(MAKE) OBJDIR="$(OBJDIR)$$i/" uninstall; \
		else $(MAKE) uninstall; fi) || exit; done
	$(RM) -- $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)/COPYING
	$(RM) -- $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)/README.md

.PHONY: all subdirs clean distclean dist distcheck install uninstall tests
