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

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

PKGNAME=command-not-found
DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p')
DEB_BUILD_PROG:=debuild --preserve-envvar PATH --preserve-envvar CCACHE_DIR -us -uc $(DEB_BUILD_PROG_OPTS)


CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.

	touch configure-stamp


build: build-stamp

build-stamp: configure-stamp 
	dh_testdir

	# Add here commands to compile the package.
	#$(MAKE)
	./setup.py build

	touch build-stamp

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

	# Add here commands to clean up after the build process.
	#-$(MAKE) clean
	./setup.py clean --all
	find . -name "*.so" -exec rm {} \;
	find . -name "*.o" -exec rm {} \;
	find . -name "*.pyc" -exec rm {} \;

	# clean the database files as well
	find . -name "*.gdb" -exec rm {} \;

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs

	# build the binary database
	(cd UnifiedDataExtractor;  \
	 ./create-binary-database; \
	  mv *.db ../data/programs.d/)

	# Add here commands to install the package into debian/$(PKGNAME).
	./setup.py install --prefix=$(CURDIR)/debian/$(PKGNAME)/usr
	# Move our script from /usr/bin to /usr/lib (not meant for end-users)
	install -d $(CURDIR)/debian/command-not-found/usr/lib
	mv $(CURDIR)/debian/command-not-found/usr/bin/command-not-found $(CURDIR)/debian/command-not-found/usr/lib/command-not-found
	rmdir --ignore-fail-on-non-empty $(CURDIR)/debian/command-not-found/usr/bin
	# Get rid of bash integration script, got merged to bash
	rm $(CURDIR)/debian/command-not-found/etc/bash_command_not_found

	# move the data files to a seperate package
	mkdir -p debian/command-not-found-data/usr/share
	mv debian/command-not-found/usr/share/command-not-found/ debian/command-not-found-data/usr/share


# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs
	dh_installexamples
#	dh_install
#	dh_installmenu
#	dh_installdebconf	
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_pycentral
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb


arch-build:
	rm -rf debian/arch-build
	# get the current data
	#(cd UnifiedDataExtractor; rm -f data.tar.gz ; wget http://people.ubuntu.com/~mvo/command-not-found/data.tar.gz ; tar xvf data.tar.gz)
	mkdir -p debian/arch-build/$(PKGNAME)-$(DEBVER)
	# export the bzr tree
	tar -c --exclude=arch-build --no-recursion -f - `bzr inventory` | (cd debian/arch-build/$(PKGNAME)-$(DEBVER);tar xf -)
	# move the scan.data into the build-tree (we do not keep it in bzr)
	cp UnifiedDataExtractor/scan.data debian/arch-build/$(PKGNAME)-$(DEBVER)/UnifiedDataExtractor
	(cd debian/arch-build/$(PKGNAME)-$(DEBVER); $(DEB_BUILD_PROG))

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