#!/usr/bin/make -f

export DH_VERBOSE=1
export DH_COMPAT=3

# These wont actually do anything yet, need to hack Rules.mak
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

busybox-deb:
	dh_testdir
	dh_testroot
	$(MAKE) clean
	cp ./debian/config-deb .config
	cp ./debian/Rules.mak.shared Rules.mak
	$(MAKE) dep
	$(MAKE)
	install -D busybox ./debian/busybox-unstable/bin/busybox
	dh_installchangelogs Changelog -pbusybox-unstable
	dh_installdocs -pbusybox-unstable
	dh_strip -pbusybox-unstable
	dh_compress -pbusybox-unstable
	dh_fixperms -pbusybox-unstable
	dh_installdeb -pbusybox-unstable
	dh_shlibdeps -pbusybox-unstable
	dh_gencontrol -pbusybox-unstable
	dh_md5sums -pbusybox-unstable
	dh_builddeb -pbusybox-unstable
			
busybox-udeb:
	dh_testdir
	dh_testroot
	$(MAKE) clean
	cp ./debian/config-udeb .config
	cp ./debian/Rules.mak.shared Rules.mak
	$(MAKE) dep
	$(MAKE)
	$(MAKE) PREFIX=./debian/busybox-udeb/ install
	dh_strip -pbusybox-unstable-udeb
	dh_compress -pbusybox-unstable-udeb
	dh_fixperms -pbusybox-unstable-udeb
	dh_installdeb -pbusybox-unstable-udeb
	dh_shlibdeps -pbusybox-unstable-udeb
	dh_gencontrol -pbusybox-unstable-udeb
	dh_md5sums -pbusybox-unstable-udeb
	dh_builddeb -pbusybox-unstable-udeb


busybox-static:
	dh_testdir
	dh_testroot
	$(MAKE) clean
	cp ./debian/config-static .config
	cp ./debian/Rules.mak.static Rules.mak
	$(MAKE) dep
	$(MAKE)
	install -D busybox ./debian/busybox-unstable-static/bin/busybox
	dh_installchangelogs Changelog -pbusybox-unstable-static
	dh_installdocs -pbusybox-unstable-static
	dh_strip -pbusybox-unstable-static
	dh_compress -pbusybox-unstable-static
	dh_fixperms -pbusybox-unstable-static
	dh_installdeb -pbusybox-unstable-static
	dh_shlibdeps -pbusybox-unstable-static
	dh_gencontrol -pbusybox-unstable-static
	dh_md5sums -pbusybox-unstable-static
	dh_builddeb -pbusybox-unstable-static

binary-arch: busybox-deb busybox-udeb busybox-static

binary-indep:
	dh_testdir
	dh_testroot
	$(MAKE) clean
	$(MAKE) newdoc
	dh_installdocs -pbusybox-unstable-doc
	dh_installchangelogs Changelog -pbusybox-unstable-doc
	dh_compress -pbusybox-unstable-doc
	dh_fixperms -pbusybox-unstable-doc
	dh_installdeb -pbusybox-unstable-doc
	dh_gencontrol -pbusybox-unstable-doc
	dh_md5sums -pbusybox-unstable-doc
	dh_builddeb -pbusybox-unstable-doc

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