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

#include version
major=$(shell grep '^MAJOR_VERSION' Rules.mak|sed 's/.*=//')
minor=$(shell grep '^MINOR_VERSION' Rules.mak|sed 's/.*=//')
version:=$(strip $(major)).$(strip $(minor))

target=$(DEB_HOST_GNU_CPU)
#target=powerpc

build: build-stamp
build-stamp:
	dh_testdir

	# Add here commands to compile the package.
	cp extra/Configs/Config.$(shell echo $(target)|sed 's/i386/x86/') Config

	echo '#Debian configuration overrides'  >>Config
ifneq ($(TARGET),native)
	echo 'TARGET_ARCH = $(target)'  >>Config
	echo 'CROSS = $(target)-linux-'  >>Config
endif
	echo 'DOPIC = true'  >>Config
	echo 'PREFIX = $$(DESTDIR)/usr'  >>Config
	echo 'DEVEL_PREFIX = $$(PREFIX)/$$(TARGET_ARCH)-linux-uclibc'  >>Config
	echo 'TARGET_PREFIX = $$(DESTDIR)/'  >>Config

	$(MAKE)

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp

	# Add here commands to clean up after the build process.
	-$(MAKE) clean

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/tmp.
	$(MAKE) install_dev DESTDIR=`pwd`/debian/tmp
	$(MAKE) install_target DESTDIR=`pwd`/debian/libuclibc0
	$(MAKE) install_gcc DESTDIR=`pwd`/debian/uclibc-gcc

	install -m 644 debian/uclibc-gcc.1 \
	  debian/uclibc-gcc/usr/share/man/man1/$(target)-uclibc-gcc.1
	(cd debian/uclibc-gcc/usr/share/man/man1; \
	  ln -sf $(target)-uclibc-gcc.1.gz $(target)-uclibc-cc.1.gz; \
	  ln -sf $(target)-uclibc-gcc.1.gz $(target)-uclibc-ld.1.gz; \
	  for x in addr2line ar as cpp gasp nm objcopy objdump ranlib \
	  size strings strip;do \
	    ln -sf $$x.1.gz $(target)-uclibc-$$x.1.gz;done)
	
	install -d debian/libuclibc0/usr/share/man/man1
	install -m 644 debian/uclibc-ldd.1 \
	  debian/libuclibc0/usr/share/man/man1/$(target)-uclibc-ldd.1

	install -m 644 debian/uclibc-ldconfig.1 \
	  debian/libuclibc0/usr/share/man/man1/$(target)-uclibc-ldconfig.1

	# some hacks here
ifeq ($(TARGET),native)
	(cd debian/libuclibc0/usr/bin;mv ldd $(target)-uclibc-ldd)
	(cd debian/libuclibc0/sbin;mv ldconfig $(target)-uclibc-ldconfig)

	(cd debian/tmp/usr/$(target)-linux-uclibc/bin; \
	  rm ldd; \
	  ln -sf ../../bin/$(target)-uclibc-ldd ldd;)

	(cd debian/tmp/usr/$(target)-linux-uclibc/sbin; \
	  rm ldconfig; \
	  ln -sf /sbin/$(target)-uclibc-ldconfig ldconfig;)
endif

	(cd debian/tmp/usr/$(target)-linux-uclibc/lib; \
	  rm ld-uclibc-$(version).so; \
	  for x in util c m dl crypt;do \
	    rm libuClib$$x-$(version).so; \
	    rm lib$$x.so; \
	    ln -sf /lib/libuClib$$x-$(version).so lib$$x.so ; \
	    rm libuClib$$x.so; \
	    ln -sf /lib/libuClib$$x-$(version).so libuClib$$x.so ; \
	  done)

	(cd debian/tmp/usr/lib; \
	  for x in util c m dl crypt;do \
	    ln -sf /lib/libuClib$$x-$(version).so libuClib$$x.so ; \
	  done)
	  
	(cd debian/libuclibc0/lib; \
	  for x in util c m dl crypt;do \
	    rm lib$$x.so; \
	    rm lib$$x.so.0; \
	    rm libuClib$$x.so; \
	  done)

	#(cd debian/tmp/usr/$(target)-linux-uclibc/lib; \
	  for x in libutil libc libm libdl libcrypt;do \
	    rm $$x.so;done)

# 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_testversion
	dh_testdir
	dh_testroot

#	dh_installdebconf	
	dh_installdocs
	dh_installexamples
	dh_installmenu
#	dh_installemacsen
#	dh_installpam
#	dh_installinit
	dh_installcron
#	dh_installmanpages -plibuclibc0
	dh_installinfo
#	dh_undocumented
	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 --exclude=ld_uclibc -ldebian/libuclibc0/lib
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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