LIBRARYPATH ?= /usr/lib
LIBS = -L$(LIBRARYPATH) -lbluetooth `pkg-config --libs dbus-1`
INCLUDES=`pkg-config --cflags dbus-1`
# Where to put stuff on 'make install'?
PREFIX ?= $(DESTDIR)/usr
SBIN    ?= $(PREFIX)/sbin
BIN    ?= $(PREFIX)/sbin
MAN    ?= $(PREFIX)/share/man/man1
DOC    ?= $(PREFIX)/share/doc/bluemon
CONFIG ?= $(PREFIX)/etc/bluemon
DBUSCONFIG ?= $(PREFIX)/etc/dbus-1/system.d
VERSION = 1.2
DEB_VER = 
DEB_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_RELEASE ?= $(shell sh -c '(lsb_release -c || echo unknown) | cut -f2' 2>/dev/null)
   
all: bluemon bluemon-client bluemon-query bluemon.1 bluemon-client.1 bluemon-query.1 bluemon-dbus.7

print-release-name:
	echo $(DEB_RELEASE)

bluemon: bluetooth-monitor.c
	$(CC) $(CFLAGS) $(INCLUDES) $(LIBS) -o $@ $<
bluemon-query: bluemon-query.c
	$(CC) $(CFLAGS) $(INCLUDES) $(LIBS) -o $@ $<
bluemon-client: bluemon-client.c
	$(CC) $(CFLAGS) $(INCLUDES) $(LIBS) -o $@ $<

%.1: %.sgml
	docbook-to-man $< > $@
%.7: %.sgml
	docbook-to-man $< > $@
  
uninstall:
	-rm $(CONFIG)/bluemon.conf
	-rm $(DOC)/examples/bluemon.conf
	-rm $(DOC)/examples/bluemon.init
	-rm $(DOC)/README
	-rm $(DOC)/bluemon-dbus.xml
	-rm $(DOC)/INSTALL
	-rm $(DOC)/COPYING
	-rm $(MAN)/bluemon.1
	-rm $(MAN)/bluemon-query.1
	-rm $(MAN)/bluemon-client.1
	-rm $(MAN)/bluemon-dbus.7
	-rm $(SBIN)/bluemon
	-rm $(BIN)/bluemon-query
	-rm $(BIN)/bluemon-client
   
install: install-bin install-man install-config install-doc install-examples install-readme

install-config: debian/bluemon.default
	install -d $(CONFIG)
	install -m 644 $< $(CONFIG)/bluemon.conf
install-dbus: bluemon-dbus.conf
	install -d $(DBUSCONFIG)
	install -m 644 $< $(DBUSCONFIG)/bluemon.conf
install-readme: README
	install -d $(DOC) 
	install -m 644 README $(DOC)/README
	install -m 644 bluemon-dbus.xml $(DOC)/bluemon-dbus.xml
install-doc: INSTALL COPYING
	install -d $(DOC) 
	install -m 644 INSTALL $(DOC)/INSTALL
	install -m 644 COPYING $(DOC)/COPYING
install-examples: bluemon.default bluemon.init 
	install -d $(DOC) 
	install -d $(DOC)/examples
	install -m 644 bluemon.default $(DOC)/examples/bluemon.conf
	install -m 644 bluemon.init $(DOC)/examples/bluemon.init

install-man: bluemon.1 bluemon-query.1 bluemon-dbus.7 bluemon-client.1
	install -d $(MAN)
	install -m 644 bluemon.1 $(MAN)/bluemon.1
	install -m 644 bluemon-query.1 $(MAN)/bluemon-query.1
	install -m 644 bluemon-client.1 $(MAN)/bluemon-client.1
	install -m 644 bluemon-dbus.7 $(MAN)/bluemon-dbus.7

install-bin: bluemon bluemon-query bluemon-client
	install -d $(BIN)
	install -d $(SBIN)
	install ./bluemon $(SBIN)/bluemon
	install ./bluemon-query $(BIN)/bluemon-query
	install ./bluemon-client $(BIN)/bluemon-client

clean:
	-rm bluemon
	-rm bluemon-query
	-rm bluemon-client
	-rm bluemon.1
	-rm bluemon-query.1
	-rm bluemon-client.1
	-rm bluemon-dbus.7
dist-clean: clean
	-rm .dist
	-rm -rf bluemon-$(VERSION)
	-rm bluemon_$(VERSION)$(DEB_VER).diff.gz
	-rm bluemon_$(VERSION)$(DEB_VER).dsc
	-rm bluemon_$(VERSION)$(DEB_VER)_*.changes
	-rm bluemon_$(VERSION)$(DEB_VER)_*.deb
	-rm bluemon_$(VERSION)$(DEB_VER)_*.build
	-rm bluemon_$(VERSION).orig.tar.gz
clean-local-upload:
	-rm /var/www/www/admin/illythia/projects_bluemon_bluemon-$(VERSION).tar.gz
	-rm /var/www/www/admin/illythia/projects_bluemon_bluemon_$(VERSION)$(DEB_VER).diff.gz  
	-rm /var/www/www/admin/illythia/projects_bluemon_bluemon_$(VERSION).orig.tar.gz  
	-rm /var/www/www/admin/illythia/projects_bluemon_$(DEB_RELEASE)_bluemon_$(VERSION)$(DEB_VER)_$(DEB_ARCH).deb  
	-rm /var/www/www/admin/illythia/projects_bluemon_README  
	-rm /var/www/www/admin/illythia/projects_bluemon_INSTALL  
	-rm /var/www/www/admin/illythia/projects_bluemon_bluemon-query.1  
	-rm /var/www/www/admin/illythia/projects_bluemon_bluemon-client.1  
	-rm /var/www/www/admin/illythia/projects_bluemon_bluemon.1 
	-rm /var/www/www/admin/illythia/projects_bluemon_bluemon-dbus.7 


dist: .dist
.dist: bluemon-query.c bluetooth-monitor.c Makefile bluemon-query.sgml bluemon.sgml README INSTALL COPYING debian/bluemon.default debian/bluemon.init bluemon-client.c bluemon-client.sgml bluemon-dbus.sgml bluemon-dbus.xml bluemon-dbus.conf
	-rm -rf bluemon-$(VERSION)
	mkdir bluemon-$(VERSION)
	cp -af $^ bluemon-$(VERSION)
	touch .dist

bluemon.init: 
	cp -f debian/$@ $@
bluemon.default: 
	cp -f debian/$@ $@
	
bluemon-$(VERSION): .dist
	
bluemon-$(VERSION).tar.gz: .dist
	tar zcf $@ bluemon-$(VERSION)
	
bluemon_$(VERSION)$(DEB_VER)_$(DEB_ARCH).deb: .dist bluemon-$(VERSION).tar.gz
	cp -f bluemon-$(VERSION).tar.gz bluemon_$(VERSION).orig.tar.gz
	cp -af debian bluemon-$(VERSION)
	(cd bluemon-$(VERSION); debuild -uc -us -rfakeroot)

deb: bluemon_$(VERSION)$(DEB_VER)_$(DEB_ARCH).deb
bluemon_$(VERSION)$(DEB_VER).dsc: bluemon_$(VERSION)$(DEB_VER)_$(DEB_ARCH).deb
bluemon_$(VERSION)$(DEB_VER).diff.gz: bluemon_$(VERSION)$(DEB_VER)_$(DEB_ARCH).deb
bluemon_$(VERSION).orig.tar.gz: bluemon_$(VERSION)$(DEB_VER)_$(DEB_ARCH).deb

/var/www/www/admin/illythia/projects_bluemon_%: %
	cp $< $@
/var/www/www/admin/illythia/projects_bluemon_$(DEB_RELEASE)_%: %
	cp $< $@
	
local-upload: .local-upload
.local-upload: \
	/var/www/www/admin/illythia/projects_bluemon_bluemon-$(VERSION).tar.gz \
	/var/www/www/admin/illythia/projects_bluemon_bluemon_$(VERSION)$(DEB_VER).diff.gz \
	/var/www/www/admin/illythia/projects_bluemon_bluemon_$(VERSION)$(DEB_VER).dsc \
	/var/www/www/admin/illythia/projects_bluemon_bluemon_$(VERSION).orig.tar.gz \
	/var/www/www/admin/illythia/projects_bluemon_$(DEB_RELEASE)_bluemon_$(VERSION)$(DEB_VER)_$(DEB_ARCH).deb \
	/var/www/www/admin/illythia/projects_bluemon_README \
	/var/www/www/admin/illythia/projects_bluemon_INSTALL \
	/var/www/www/admin/illythia/projects_bluemon_bluemon-query.1 \
	/var/www/www/admin/illythia/projects_bluemon_bluemon-client.1 \
	/var/www/www/admin/illythia/projects_bluemon_bluemon-dbus.1 \
	/var/www/www/admin/illythia/projects_bluemon_bluemon.1 \
	/var/www/www/admin/illythia/projects_bluemon_bluemon-dbus.xml
	(cd /var/www/www/admin/illythia; echo  $^ | sed 's,[^ ]*projects_bluemon_,projects/bluemon/,g' | xargs -tn1 ./update.php)
	touch .local-upload

