#!/usr/bin/make -f
# 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

# This is the debhelper compatability version to use.
export DH_COMPAT=4

# This has to be exported to make some magic below work.
export DH_OPTIONS

topdir=$(shell pwd)

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

	touch configure-stamp

build: build-stamp
build-stamp:
	dh_testdir

	# first unpack kudzu and build the kudzu library
	./build-kudzu
	# now build the listpci utility (it needs the static kudzu library)
	$(MAKE) listpci KUDZU_PATH=$(topdir)/debian/tmp-build/kudzu CC=i386-uclibc-linux-gcc
	$(MAKE) listpci.static KUDZU_PATH=$(topdir)/debian/tmp-build/kudzu CC=i386-uclibc-linux-gcc
	$(MAKE) freeramdisk

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp

	# Add here commands to clean up after the build process.
	-$(MAKE) clean
	rm -rf $(topdir)/debian/tmp-build

	dh_clean

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

	# installing the files for the mkinitrd-cd binary package
	install mkinitrd-cd/linuxrc $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	cp mkinitrd-cd/busybox-*.tar.bz2 $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	cp mkinitrd-cd/initrd-common-definitions.sh $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	cp mkinitrd-cd/ide-scsi-probe.sh $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	install mkinitrd-cd/chown-wrapper $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	install listpci $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	install insmod $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	cp mkinitrd-cd/id.txt $(topdir)/debian/mkinitrd-cd/etc/mkinitrd-cd/
	cp mkinitrd-cd/bootmsg.txt $(topdir)/debian/mkinitrd-cd/etc/mkinitrd-cd/
	cp mkinitrd-cd/scsiprobe.dat $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	cp mkinitrd-cd/scsiprobe-min.dat $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	cp mkinitrd-cd/syslinux.cfg $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	cp mkinitrd-cd/initrd-dev.tar.gz $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	install mkinitrd-cd/mkinitrd-cd $(topdir)/debian/mkinitrd-cd/usr/sbin
	install mkinitrd-cd/mkbootimg $(topdir)/debian/mkinitrd-cd/usr/sbin
	install mkinitrd-cd/mklibs.sh $(topdir)/debian/mkinitrd-cd/usr/sbin

	# installing the files for the gibraltar-bootsupport binary package
	cp gibraltar-bootsupport/common-definitions.sh $(topdir)/debian/gibraltar-bootsupport/usr/lib/gibraltar-bootsupport
	cp gibraltar-bootsupport/gibraltar-keyring.gpg $(topdir)/debian/gibraltar-bootsupport/usr/share/keyrings
	cp mkinitrd-cd/ide-scsi-probe.sh $(topdir)/debian/gibraltar-bootsupport/usr/lib/gibraltar-bootsupport
	cp gibraltar-bootsupport/config $(topdir)/debian/gibraltar-bootsupport/system/etc-static/gibraltar
	cp gibraltar-bootsupport/update-excludes $(topdir)/debian/gibraltar-bootsupport/system/etc-static/gibraltar
	cp mkinitrd-cd/scsiprobe.dat $(topdir)/debian/gibraltar-bootsupport/system/etc-static/gibraltar
	cp gibraltar-bootsupport/config-disk.msg $(topdir)/debian/gibraltar-bootsupport/system
	cp gibraltar-bootsupport/var-defaults.tar.gz $(topdir)/debian/gibraltar-bootsupport/system
	install gibraltar-bootsupport/make-var-ramdisk $(topdir)/debian/gibraltar-bootsupport/system/etc-static/init.d/mountvar
	install gibraltar-bootsupport/save-etc $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/restore-etc $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/restore-etc-old $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/update-config $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/convert-config $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/prepareroot $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/save-config $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/patchme $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/patchall-local $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/patchall-online $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/mail-file $(topdir)/debian/gibraltar-bootsupport/bin
	install gibraltar-bootsupport/setup-unconfigured.sh $(topdir)/debian/gibraltar-bootsupport/system/etc-static/init.d
	install gibraltar-bootsupport/unlock-cddrive $(topdir)/debian/gibraltar-bootsupport/system/etc-static/init.d
	install gibraltar-bootsupport/unmount-initrd $(topdir)/debian/gibraltar-bootsupport/system/etc-static/init.d
	install gibraltar-bootsupport/setup.d/00network-cards $(topdir)/debian/gibraltar-bootsupport/system/etc-static/setup.d
	install gibraltar-bootsupport/setup.d/01set-ip-addresses $(topdir)/debian/gibraltar-bootsupport/system/etc-static/setup.d
	install gibraltar-bootsupport/setup.d/gen-ssh-hostkeys $(topdir)/debian/gibraltar-bootsupport/system/etc-static/setup.d
	install gibraltar-bootsupport/setup.d/gen-ipsec-hostkey $(topdir)/debian/gibraltar-bootsupport/system/etc-static/setup.d
	install gibraltar-bootsupport/setup.d/minimum-system $(topdir)/debian/gibraltar-bootsupport/system/etc-static/setup.d
	install gibraltar-bootsupport/setup.d/serial-conf $(topdir)/debian/gibraltar-bootsupport/system/etc-static/setup.d
	install gibraltar-bootsupport/setup.d/serial-getty $(topdir)/debian/gibraltar-bootsupport/system/etc-static/setup.d
	install gibraltar-bootsupport/scripts/post-save $(topdir)/debian/gibraltar-bootsupport/system/scripts
	install gibraltar-bootsupport/scripts/pre-save $(topdir)/debian/gibraltar-bootsupport/system/scripts
	install listpci.static $(topdir)/debian/gibraltar-bootsupport/sbin/listpci
	install freeramdisk $(topdir)/debian/gibraltar-bootsupport/sbin
	ln -s /sbin/save-config $(topdir)/debian/gibraltar-bootsupport/system/etc-static/init.d/save-etc-disk
	#ln -s /system/etc-static/default $(topdir)/debian/gibraltar-bootsupport/etc/
	#ln -s /system/etc-static/init.d $(topdir)/debian/gibraltar-bootsupport/etc/
	#ln -s /system/etc-static/setup.d $(topdir)/debian/gibraltar-bootsupport/etc/
	#ln -s /system/etc-static/runlevel.conf $(topdir)/debian/gibraltar-bootsupport/etc/
	ln -s /system/etc-static/gibraltar/scsiprobe.dat $(topdir)/debian/gibraltar-bootsupport/etc/gibraltar/
	ln -s /system/etc-static/gibraltar/update-excludes $(topdir)/debian/gibraltar-bootsupport/etc/gibraltar/
	#ln -s /system/etc-static/gibraltar/config $(topdir)/debian/gibraltar-bootsupport/etc/gibraltar/
	#ln -s /system/etc-static/gibraltar/version $(topdir)/debian/gibraltar-bootsupport/etc/gibraltar/


# This single target is used to build all the packages, all at once, or
# one at a time. So keep in mind: any options passed to commands here will
# affect _all_ packages. Anything you want to only affect one package
# should be put in another target, such as the install target.
binary-common: build install
	dh_testdir
	dh_testroot
#	dh_installdebconf
	dh_installdocs
#	dh_installexamples
#	dh_installmenu
#	dh_installemacsen
#	dh_installpam
#	dh_installinit -pgibraltar-bootsupport --no-restart-on-upgrade \
#		--init-script=prepareroot -- prepareroot start 01 S .
#	dh_installinit -pgibraltar-bootsupport --no-restart-on-upgrade \
#		--init-script=save-etc-disk -- prepareroot start 39 0 6 .
#	dh_installinit -pgibraltar-bootsupport --no-restart-on-upgrade \
#		--init-script=setup-unconfigured.sh -- prepareroot start 70 S .
#	dh_installcron
	dh_installmanpages kudzu/kudzu.1
#	dh_installinfo
	dh_undocumented mkinitrd-cd.8 mkbootimg.8
	dh_installchangelogs 
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	# You may want to make some executables suid here.
#	dh_suidregister
#	dh_makeshlibs
	dh_installdeb
#	dh_perl
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# Build architecture independant packages using the common target.
binary-indep: build install
# (Uncomment this next line if you have such packages.)
# nothing to do here
#        $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common

# Build architecture dependant packages using the common target.
binary-arch: build install
	make -f debian/rules binary-common DH_OPTIONS=-a

# Any other binary targets build just one binary package at a time.
binary-%: build install
	make -f debian/rules binary-common DH_OPTIONS=-p$*

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

