# Makefile for TazHelper.
#
PACKAGE = tazhelper
VERSION = 0.1
PREFIX ?= /usr
DESTDIR ?=
CGIDIR ?= /var/www/tazhelper

.PHONY: all gui install install-gui uninstall install-server install-reports \
	check clean dist

all: gui

# GTK3 client (needs gtk+3-dev). The CLI works without it.
gui:
	$(MAKE) -C gui

install:
	install -d $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/lib/tazhelper \
		$(DESTDIR)$(PREFIX)/share/tazhelper/tests/auto \
		$(DESTDIR)$(PREFIX)/share/tazhelper/tests/manual \
		$(DESTDIR)/etc/slitaz
	install -m 755 tazhelper $(DESTDIR)$(PREFIX)/bin
	install -m 644 lib/libtazhelper.sh $(DESTDIR)$(PREFIX)/lib/tazhelper
	install -m 644 tests/auto/*.test \
		$(DESTDIR)$(PREFIX)/share/tazhelper/tests/auto
	install -m 644 tests/manual/*.test \
		$(DESTDIR)$(PREFIX)/share/tazhelper/tests/manual
	install -m 644 etc/tazhelper.conf $(DESTDIR)/etc/slitaz
	install -d $(DESTDIR)$(PREFIX)/share/doc/tazhelper/images
	install -m 644 doc/tazhelper.en.html $(DESTDIR)$(PREFIX)/share/doc/tazhelper
	install -m 644 doc/images/*.png $(DESTDIR)$(PREFIX)/share/doc/tazhelper/images

install-gui:
	$(MAKE) -C gui install DESTDIR=$(DESTDIR) PREFIX=$(PREFIX)

uninstall:
	rm -f $(DESTDIR)$(PREFIX)/bin/tazhelper $(DESTDIR)$(PREFIX)/bin/tazhelper-reports
	rm -rf $(DESTDIR)$(PREFIX)/lib/tazhelper $(DESTDIR)$(PREFIX)/share/tazhelper \
		$(DESTDIR)$(PREFIX)/share/doc/tazhelper
	rm -f $(DESTDIR)/etc/slitaz/tazhelper.conf
	$(MAKE) -C gui uninstall DESTDIR=$(DESTDIR) PREFIX=$(PREFIX)

# The receiver, for a web server (not part of the client package).
install-server:
	install -d $(DESTDIR)$(CGIDIR)
	install -m 755 server/tazhelper.cgi $(DESTDIR)$(CGIDIR)

# Reading and triage of reports, on foyer and on dev machines.
install-reports:
	install -d $(DESTDIR)$(PREFIX)/bin
	install -m 755 server/tazhelper-reports $(DESTDIR)$(PREFIX)/bin

check:
	@for f in tazhelper lib/libtazhelper.sh server/*.cgi server/*.sh \
		server/tazhelper-reports \
		tests/*/*.test; do sh -n $$f || exit 1; done
	@sh server/check-cgi.sh

clean:
	$(MAKE) -C gui clean

dist:
	hg archive -t tgz $(PACKAGE)-$(VERSION).tar.gz
