#!/usr/bin/make -f
# Sample debian/rules that uses debhelper. 
# GNU copyright 1997 by Joey Hess.

# Uncomment this to turn on verbose mode. 
#export DH_VERBOSE=1

export CFLAGS = -g
ifeq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O2
else
CFLAGS += -O0
endif


top:=$(CURDIR)
tmp:=$(top)/debian/tmp

configure: configure-stamp
configure-stamp:
	dh_testdir

	./configure --prefix=/usr --mandir=/usr/share/man --libdir=/lib --with-static-glib

	touch configure-stamp

build: configure-stamp build-stamp
build-stamp:
	dh_testdir

	$(MAKE)

	touch $@

build-indep: build-indep-stamp
build-indep-stamp:
	touch debian/empty.patch
	rm -rf debian/kpatches
	mkdir debian/kpatches
	for kdir in kernel/2.4 kernel/2.6; do \
		for patch in $$kdir/*.patch; do \
			ln -s $(CURDIR)/$$patch debian/kpatches/$$(basename $$kdir)-$$(basename $$patch); \
		done; \
	done

	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp build-indep-stamp configure-stamp

	-$(MAKE) clean
	-$(MAKE) distclean
	rm -rf kernel-headers engine/make.rules
	rm -rf debian/kpatches
	rm -f debian/empty.patch
	rm -f po/*.gmo

	dh_clean

install: DH_OPTIONS=
install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs -a

	$(MAKE) install DESTDIR=$(tmp)
	mkdir -p $(tmp)/sbin
	mv $(tmp)/usr/sbin/evms_activate \
		$(tmp)/usr/sbin/evms \
		$(tmp)/usr/sbin/evmsn \
		$(tmp)/usr/sbin/evmsd \
		$(tmp)/sbin

	mkdir -p $(tmp)/usr/lib
	mv $(tmp)/lib/*.a $(tmp)/usr/lib

	for lib in $(tmp)/lib/libevms.so; do \
		ln -s /lib/`readlink $$lib` $(tmp)/usr/lib/`basename $$lib`; \
		rm $$lib; \
	done
	/sbin/ldconfig -n -N $(tmp)/lib

	install -m 755 debian/bug $(CURDIR)/debian/evms/usr/share/bug/evms/script
	for package in evms-cli evms-ncurses evms-gui libevms-dev; do \
		mkdir -p $(CURDIR)/debian/$$package/usr/share/doc; \
		ln -sf evms \
			$(CURDIR)/debian/$$package/usr/share/doc/$$package; \
		mkdir -p $(CURDIR)/debian/$$package/usr/share/bug; \
		ln -s evms \
			$(CURDIR)/debian/$$package/usr/share/bug/$$package; \
	done

	install -m755 -d debian/evms/etc/udev/rules.d
	install -m644 -oroot -groot debian/85-evms.rules \
		debian/evms/etc/udev/rules.d/.

	install -m 644 debian/evms.devfs $(CURDIR)/debian/evms/etc/devfs/conf.d/evms
	install -m 755 debian/evms.mkinitrd.probe $(CURDIR)/debian/evms/usr/share/initrd-tools/probe.d/evms
	install -m 755 debian/hooks_evms $(CURDIR)/debian/evms/usr/share/initramfs-tools/hooks/evms
	install -m 755 debian/local-top_evms $(CURDIR)/debian/evms/usr/share/initramfs-tools/scripts/local-top/evms

binary-indep: build-indep
	dh_testdir -i
	dh_testroot -i
	dh_installdirs -i
	
	install -m 755 debian/hooks_evms_bootdebug $(CURDIR)/debian/evms-bootdebug/usr/share/initramfs-tools/hooks/evms_bootdebug
	install -m 755 debian/local-top_evms_bootdebug $(CURDIR)/debian/evms-bootdebug/usr/share/initramfs-tools/scripts/local-top/evms_bootdebug
	
	dh_installdocs -i
	dh_installexamples -i
	dh_installchangelogs ChangeLog -i
	dh_installkpatches -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir -a
	dh_testroot -a
	dh_install -a --sourcedir=debian/tmp
	dh_installdocs -a
	dh_installmenu -a
	
	dh_installinit -pevms --no-start -r -u"start 25 S . start 49 0 6 ."
	dh_installmodules -a
	dh_installchangelogs ChangeLog -a
	dh_strip -a
	dh_link -a
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a -Xlib/evms/ -V
	dh_installdeb -a
	
	# This one is already in evms-ha, don't duplicate it
	$(RM) debian/libevms-2.5/lib/evms/*/ha*.so
	
	# Shared library shlibdeps
	dh_shlibdeps -a -ldebian/libevms-2.5/lib -Xlib/evms/
	
	# Plugin shlibdeps
	dh_shlibdeps -plibevms-2.5 -u"-pplugins" -Xlib/lib
	dh_gencontrol -a
	dh_md5sums -a
	
	dh_builddeb -a

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