#!/usr/bin/make -f
# -*- makefile -*-

#TODO: this is not portable to non-Debian
PACKNAME=$(shell dh_listpackages)
SOURCENAME=$(shell dpkg-parsechangelog | sed -ne 's,^Source: ,,p')
VER=2.74a.1
DEBVER=$(shell dpkg-parsechangelog | grep "Version:" | cut -d ' ' -f 2)
VER=$(shell dpkg-parsechangelog | grep "Version:" | cut -d ' ' -f 2 | cut -f 1 -d -)
MDIST=etch
DIST=$(shell dpkg-parsechangelog | grep "Distribution" | cut -d ' ' -f 2)
SECTION=main
BINDIR=/usr/sbin
ETCDIR=/etc/$(PACKNAME)
MANDIR=/usr/share/man/man8
LOGROTATEDIR=/etc/logrotate.d

all:
	echo $(VER) $(DEBVER) $(MDIST) $(DIST) $(PACKNAME) $(SOURCENAME)


configure:

build:

install:
	[ -d $(DESTDIR)/$(MANDIR) ] || mkdir -p $(DESTDIR)/$(MANDIR)
	cp $(PACKNAME).8 $(DESTDIR)/$(MANDIR)
	[ -d $(DESTDIR)/$(ETCDIR) ] || mkdir -p $(DESTDIR)/$(ETCDIR)
	[ -d $(DESTDIR)/$(ETCDIR)/before.d ] || mkdir -p $(DESTDIR)/$(ETCDIR)/before.d
	[ -d $(DESTDIR)/$(ETCDIR)/after.d ] || mkdir -p $(DESTDIR)/$(ETCDIR)/after.d
	[ -d $(DESTDIR)/$(LOGROTATEDIR)/ ] || mkdir -p $(DESTDIR)/$(LOGROTATEDIR)
	cp debian/logrotate $(DESTDIR)/$(LOGROTATEDIR)/$(PACKNAME)
	cp conf $(DESTDIR)/$(ETCDIR)
	cp plugins.before/* $(DESTDIR)/$(ETCDIR)/before.d/
	cp plugins.after/* $(DESTDIR)/$(ETCDIR)/after.d/
	[ -d $(DESTDIR)/$(BINDIR) ] || mkdir -p $(DESTDIR)/$(BINDIR)
	cp $(PACKNAME) $(DESTDIR)/$(BINDIR)

test:
	./test1
	./test2

clean:
	find -name '*~' -exec rm {} \;
	#rm -f configure-up-stamp unpack-up-stamp build-up-stamp install-up-stamp


# Create the files ready for distribution, need to be run in a dir
# without SVN control files

# Non-native package
dist:
	cd .. && tar --exclude='.svn' --exclude='debian' --exclude='tmp' --exclude='*~' -czf $(SOURCENAME)_$(VER).orig.tar.gz $(SOURCENAME)

# Create the files ready for distribution
# Debian native package
#dist:
#	cd .. && tar --exclude='.svn' --exclude='tmp' --exclude='*~' -czf $(SOURCENAME)_$(DEBVER).tar.gz $(SOURCENAME)-$(VER)


# Create the deb file
deb:
	debuild -i
	debc

packages: deb


# Upload the packages and the distribution files into the rigth places
upload:
	scp ../*_$(DEBVER)*.deb root@debian.tagus.ist.utl.pt:/var/www/debian/debian/dists/$(MDIST)/$(DIST)/$(SECTION)/
	mkdir -p ~/debian/$(SECTION)/my_sources/$(SOURCENAME)
	mkdir -p ~/debian/$(SECTION)/debs/$(SOURCENAME)
	cp ../$(SOURCENAME)*_$(DEBVER).* ~/debian/$(SECTION)/my_sources/$(SOURCENAME)
	cp ../$(SOURCENAME)*_$(DEBVER)_*.build ~/debian/$(SECTION)/my_sources/$(SOURCENAME)
	cp ../$(SOURCENAME)*_$(DEBVER)_*.changes ~/debian/$(SECTION)/my_sources/$(SOURCENAME)
	cp ../*_$(DEBVER)_*.deb ~/debian/$(SECTION)/debs/$(SOURCENAME)
	#scp ../$(SOURCENAME)_$(DEBVER)*.deb root@ftp.tagus.ist.utl.pt:/var/www/debian/debian-tp/dists/unstable/main/
	# need to manually place the good package in the rigth distribution
	# until then, place debug versions inside experimental


# Make tags of the sources as documented by subversion
tag:
	cd .. ; svn st ; echo "enter to continue" ; read
	cd .. ; svn ci -m "released v$(DEBVER)"
	svn copy -m "released v$(DEBVER)" svn+ssh://picard.mine.nu/home/svn/trunk/src/$(SOURCENAME) svn+ssh://picard.mine.nu/home/svn/tags/src/$(SOURCENAME)/$(SOURCENAME)-$(DEBVER)

.PHONY: build clean binary-indep binary-arch binary install configure
