BIN=$(DESTDIR)/usr/bin
ETC=$(DESTDIR)/etc/doloforge
LIB=$(DESTDIR)/usr/lib/doloforge
LIB_PERL=$(LIB)/perl
LIB_BIN=$(LIB)/bin
SKEL=$(LIB)/skel
WWW=$(DESTDIR)/var/www/html
SYSTEMD=$(DESTDIR)/lib/systemd/system

# Usage :
# 	nhuillard@macaret:~/Developpement/plain/doloforge$ vi debian/changelog 
# 	nhuillard@macaret:~/Developpement/plain/doloforge$ make deb upload
# Pour forcer la création du repository :
# 	root@macaret:~# sudo -u debarchiver /usr/bin/debarchiver -so
# Doc :
# 	- voir dch/debchange pour incrémenter debian/changelog plus facilement
# Packages needed for building doloforge :
# 	perl-doc sloccount doc-base

all:
	perldoc -M Pod::Man -d doloforge.1 src/doloforge

clean:
	rm -f doloforge.1
	find . -name '*~' | xargs rm -f
	rm -f ../doloforge*.deb ../doloforge*.changes ../doloforge*.tar.* ../doloforge*.dsc
	#rm -fr t/srv/doloforge/*/*

install:
	install -d $(BIN) $(LIB) $(SKEL) $(LIB_PERL)/Doloforge/Command $(LIB_PERL)/Doloforge/Service $(LIB_BIN) $(ETC)
	install src/doloforge $(BIN)
	install -m 644 etc/* $(ETC)
	install -d $(ETC)/lib/perl
	install -m 644 lib/Doloforge/*.pm $(LIB_PERL)/Doloforge
	install -m 644 lib/Doloforge/Command/*.pm $(LIB_PERL)/Doloforge/Command
	install -m 644 lib/Doloforge/Service/*.pm $(LIB_PERL)/Doloforge/Service
	install -m 644 lib/ConfHelper.pm $(LIB_PERL)/
	install -m 755 bin/* $(LIB_BIN)
	cp -r skel/* $(SKEL)
	# FIXME : ceci repose sur un alias Apache, et ne fonctionne donc plus
	#install -m 644 share/www/* $(WWW)

install_ap:
	install -d $(SYSTEMD)
	install -m 644 debian/$(NAME).nginx2vlogger@.service $(SYSTEMD)/nginx2vlogger@.service
	install -m 644 debian/$(NAME).nginx2vlogger@.socket $(SYSTEMD)/nginx2vlogger@.socket

install_chmod:
	install -d $(BIN) $(LIB) $(SKEL) $(LIB_PERL)/Doloforge/Command $(LIB_PERL)/Doloforge/Service $(LIB_BIN)
	install -d -m 2775 -g doloforge $(ETC)
	install src/doloforge $(BIN)
	# FIXME : après réinstall, les droits ne sont plus *:doloforge, mais root:root, comme ici (ne pas modifier les droits des fichiers identiques)
	umask 0002; install -m 664 -g doloforge etc/* $(ETC)
	install -m 664 lib/Doloforge/*.pm $(LIB_PERL)/Doloforge
	install -m 664 lib/Doloforge/Command/*.pm $(LIB_PERL)/Doloforge/Command
	install -m 664 lib/Doloforge/Service/*.pm $(LIB_PERL)/Doloforge/Service
	install -m 755 bin/* $(LIB_BIN)
	cp -a skel/* $(SKEL)
	# FIXME : ceci repose sur un alias Apache, et ne fonctionne donc plus
	#install -m 644 share/www/* $(WWW)

# debuild is part of the devscripts Debian package
deb:
	debuild

# ibiza : scp ../doloforge*.{deb,dsc,changes,tar.gz} ibiza:/var/lib/debarchiver/incoming
# argon : cp ~/Developpement/plain/doloforge*.{deb,dsc,changes,tar.gz} /var/lib/debarchiver/incoming
# devl.doloforge.com : scp ../doloforge*.{deb,dsc,changes,tar.gz} devl.doloforge.com:/var/lib/debarchiver/incoming
# voir dput, paramétrable sur chaque host...
# voir aussi https://packages.debian.org/stretch/mini-dinstall : plus léger que debarchiver
# argon vers xpw2 : scp ../doloforge*.deb ../doloforge*.tar.* ../doloforge*.dsc ../doloforge*.changes debian.doloforge.org:/srv/var/lib/debarchiver/incoming/stable
# macaret manuel : cp ../doloforge*.deb ../doloforge*.tar.* ../doloforge*.dsc ../doloforge*.changes /var/lib/debarchiver/incoming/stable
# Use dput to the default_host_main (cf. dput(1))
upload:
	dput ../doloforge*.changes

sloc:
	LANG=C sloccount src/ lib/ etc/ skel/
	find src/ lib/ etc/ skel/ -type f | xargs cat | wc -l

fixme:
	find t/ etc/ lib/ skel/ -type f -print0 | xargs -0 grep -e FIXME -e TODO
