#!/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

	# build discover and paste with uclibc
	( mkdir $(topdir)/debian/tmp-build/; \
	cd $(topdir)/debian/tmp-build; \
	INSTALL_PATH=$(topdir)/debian/tmp-build/ $(topdir)/build-discover; \
	INSTALL_PATH=$(topdir)/debian/tmp-build/ $(topdir)/build-paste; \
	INSTALL_PATH=$(topdir)/debian/tmp-build/ $(topdir)/build-busybox )
	# now build the freeramdisk binary
	$(MAKE) freeramdisk
	# and the appliance binaries
	$(MAKE) -C gibraltar-bootsupport/appliance/ all

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp

	# Add here commands to clean up after the build process.
	-$(MAKE) clean
	-$(MAKE) -C gibraltar-bootsupport/appliance/ 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/initrd-common-definitions.sh $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	cp mkinitrd-cd/probe-devs.sh $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	install mkinitrd-cd/chown-wrapper $(topdir)/debian/mkinitrd-cd/usr/share/mkinitrd-cd/
	install $(topdir)/debian/tmp-build/discover $(topdir)/debian/mkinitrd-cd/usr/lib/mkinitrd-cd/
	install $(topdir)/debian/tmp-build/paste $(topdir)/debian/mkinitrd-cd/usr/lib/mkinitrd-cd/
	install $(topdir)/debian/tmp-build/busybox $(topdir)/debian/mkinitrd-cd/usr/lib/mkinitrd-cd/
	cp mkinitrd-cd/mkinitrd-cd.conf $(topdir)/debian/mkinitrd-cd/etc/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/
	cp mkinitrd-cd/discover.conf $(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/probe-devs.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/check-network-interfaces $(topdir)/debian/gibraltar-bootsupport/system/etc-static/init.d/
	install gibraltar-bootsupport/update-finalize $(topdir)/debian/gibraltar-bootsupport/system/etc-static/init.d/
	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/update-system $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/update-rollback $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/update-removeold $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/appliance/status-led $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/appliance/lan-bypass $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/appliance/check-ibase $(topdir)/debian/gibraltar-bootsupport/sbin
	install gibraltar-bootsupport/mail-file $(topdir)/debian/gibraltar-bootsupport/bin
	install gibraltar-bootsupport/send-popup $(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-certificates $(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 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

