#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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


# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

LKMSRC=cloop-2.02-opt
ADSRC=advancecomp-1.9_create_compressed_fs

k = $(shell echo $(KVERS) | grep -q ^2.6 && echo k)
PACKAGE=lcat-cloop-module
PKGNAME=lcat-cloop-module
MA_DIR ?= /usr/share/modass
-include $(MA_DIR)/include/generic.make
-include $(MA_DIR)/include/common-rules.make

gencontrol= sed 's/\#KVERS\#/$(KVERS)/g' > $(CURDIR)/debian/control

TARGETDIR=lib/modules/$(KVERS)/kernel/drivers/block
DEB_DESTDIR := $(CURDIR)/..

CFLAGS = -Wall -g

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

config.status: configure configtest
	dh_testdir
	cat debian/{control.head,control.main} | $(gencontrol)
	# Add here commands to configure the package.
	CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info


build: build-stamp

build-stamp:  config.status
	dh_testdir

	# Add here commands to compile the package.
	$(MAKE)
	#docbook-to-man debian/lcat.sgml > lcat.1

	touch build-stamp

# for m-a
configtest:

	cd $(LKMSRC) && CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
	pwd
kdist_clean: clean
kdist_config: configtest kdist_configure
kdist_configure: prep-deb-files
	test $(PKGNAME) = lcat-cloop-module || cp debian/lcat-cloop-module.templates debian/$(PKGNAME).templates
	cat debian/{control.head,control.mod} | $(gencontrol)

binary-modules: configtest kdist_configure
	CC=$(CC) $(MAKE) cloop.$ko KERNEL_DIR=$(KSRC) -C $(LKMSRC)
ifneq ($k,k)
	cd 0.68 && CC=$(CC) $(MAKE) cloop.o KERNEL_DIR=$(KSRC) -C $(LKMSRC)
	cd 1.02 && CC=$(CC) $(MAKE) cloop.o KERNEL_DIR=$(KSRC) -C $(LKMSRC)
endif
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs -p $(PKGNAME) $(TARGETDIR)
	ln -sf $(LKMSRC)/cloop.$ko $(CURDIR)/debian/$(PKGNAME)/$(TARGETDIR)/cloop-2.01.$ko
	ln -sf $(LKMSRC)/cloop.$ko $(CURDIR)/debian/$(PKGNAME)/$(TARGETDIR)/cloop-2.00.$ko
ifneq ($k,k)
	install -m 644 $(LKMSRC)/0.68/cloop.o $(CURDIR)/debian/$(PKGNAME)/$(TARGETDIR)/cloop-0.68.o
	install -m 644 $(LKMSRC)/1.02/cloop.o $(CURDIR)/debian/$(PKGNAME)/$(TARGETDIR)/cloop-1.02.o
endif
	install -m 644 $(LKMSRC)/cloop.$ko $(CURDIR)/debian/$(PKGNAME)/$(TARGETDIR)
	rm -f $(LKMSRC)/cloop.o $(LKMSRC)/compressed_loop.o
	dh_testdir -a
	dh_testroot -a
  	#dh_installdocs
  	#dh_installdocs -a README debian/README.Debian
	#dh_installchangelogs CHANGELOG -a
	dh_compress
	dh_fixperms -a
	dh_installdeb -a
	dh_gencontrol -a -- -v$(VERSION)
  	#dh_md5sums -a
	dh_builddeb -a --destdir=$(DEB_DESTDIR)

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp 

	# Add here commands to clean up after the build process.
	-$(MAKE) distclean
	-$(MAKE) distclean -C $(LKMSRC)
	-$(MAKE) distclean -C $(LKMSRC)/$(ADSRC)
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
	cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
	cp -f /usr/share/misc/config.guess config.guess
endif

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs

	# Add here commands to install the package into debian/lcat.
	$(MAKE) install DESTDIR=$(CURDIR)/debian/lcat


# 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 ChangeLog
	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_perl
#	dh_python
#	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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