#!/usr/bin/make

INSTALL         := install
INSTALL_DATA    := install -m 644
INSTALL_PROGRAM := install -m 755
INSTALL_DIR     := install -m 755 -d

EOLE_DIR        := $(DESTDIR)/usr/share/eole
CREOLE_DIR      := $(EOLE_DIR)/creole
CREOLE_DICO     := $(CREOLE_DIR)/dicos
CREOLE_TMPL     := $(CREOLE_DIR)/distrib
ZEPHIR_DIR      := $(DESTDIR)/usr/share/zephir
ZEPHIR_CONFIG   := $(ZEPHIR_DIR)/monitor/configs

CRON_DAILY      := $(DESTDIR)/etc/cron.daily

EOLE_DEBSUMS    := $(DESTDIR)/usr/share/eole/debsums

PYTHON_DIST     := $(DESTDIR)/usr/lib/python3/dist-packages

ifneq ($(DESTDIR),)
PYTHON_OPTS     := --root $(DESTDIR)
endif

DICO            := dicos
TMPL            := tmpl
CRON            := cron
SHARE           := share
AGENT           := agent
LOGROTATE       := logrotate

clean:
	$(RM) -r build
	$(RM) -r eole_debsums.egg-info/

tests: clean
	PYTHONPATH=. py.test-3

installdirs:
	$(INSTALL_DIR) $(EOLE_DIR)
	$(INSTALL_DIR) $(CREOLE_DIR)
	$(INSTALL_DIR) $(CREOLE_DICO)
	$(INSTALL_DIR) $(CREOLE_TMPL)
	$(INSTALL_DIR) $(CRON_DAILY)
	$(INSTALL_DIR) $(EOLE_DEBSUMS)
	$(INSTALL_DIR) $(ZEPHIR_CONFIG)
	$(INSTALL_DIR) $(CRON_DAILY)

install: installdirs
	# for dico in `ls -1 $(DICO)/`; do \
	# 	$(INSTALL_DATA) $(DICO)/$$dico $(CREOLE_DICO)/ ; \
	# done
	# for tmpl in `ls -1 $(TMPL)/`; do \
	# 	$(INSTALL_DATA) $(TMPL)/$$tmpl $(CREOLE_TMPL)/ ; \
	# done
	for cron in `ls -1 $(CRON)/`; do \
		$(INSTALL_PROGRAM) $(CRON)/$$cron $(CRON_DAILY)/ ; \
	done
	for script in `ls -1 $(SHARE)/`; do \
		$(INSTALL_PROGRAM) $(SHARE)/$$script $(EOLE_DEBSUMS)/ ; \
	done
	$(INSTALL_DATA) $(AGENT)/debsums.agent $(ZEPHIR_CONFIG)/
	python3 setup.py install --no-compile --install-layout=deb $(PYTHON_OPTS)

uninstall:
	# for dico in `ls -1 $(DICO)/`; do \
	# 	$(RM) $(CREOLE_DICO)/`basename $$dico`; \
	# done
	# for tmpl in `ls -1 $(TMPL)/`; do \
	# 	$(RM) $(CREOLE_TMPL)/`basename $$tmpl`; \
	# done
	for cron in `ls -1 $(CRON)/`; do \
		$(RM) $(CRON_DAILY)/`basename $$cron`; \
	done
	for script in `ls -1 $(SHARE)/`; do \
		$(RM) $(EOLE_DEBSUMS)/`basename $$script`; \
	done
	$(RM) $(ZEPHIR_CONFIG)/debsums.agent
	$(RM) -r $(EOLE_DEBSUMS)
	# Python setup do not uninstall
	$(RM) $(PYTHON_DIST)/eole_debsums*egg-info
	$(RM) $(PYTHON_DIST)/zephir/monitor/agents/debsums.py*

.PHONY: clean tests installdirs install uninstall
