#!/usr/bin/make -f
# Debian package build rules file for twofish

CFLAGS = -Wall -g

# if $DEB_BUILD_OPTIONS *doesn't* contain "noopt"
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

SONAME = libtwofish.so.0
ANAME = libtwofish.a
ALINKING = -ltwofish

# Install files to the following directory.
DEVDESTDIR := debian/libtwofish-dev
SODESTDIR := debian/libtwofish0
#SODESTDIR := $(DEVDESTDIR)

build-arch: build-arch-stamp
build-arch-stamp:
	dh_testdir
	#
	gcc -c -o twofish.o $(CFLAGS) twofish.c
	ar clq $(ANAME) twofish.o
	ranlib $(ANAME)
	# Shared library
	-rm twofish.o
	gcc $(CFLAGS) -fPIC -shared -Wl,-soname,$(SONAME) \
		-Wl,-z,defs -lc -o $(SONAME) twofish.c
	#
	# test suite
	gcc -o twofishtest $(CFLAGS) main.c -L. $(ALINKING)
	./twofishtest
	touch build-arch-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-arch-stamp
	-rm -f twofish.o $(ANAME) twofishtest $(SONAME)
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	install -m 755 -d $(DEVDESTDIR)/usr/lib
	install -m 644 $(ANAME) $(DEVDESTDIR)/usr/lib
	install -m 755 -d $(DEVDESTDIR)/usr/include
	install -m 644 twofish.h $(DEVDESTDIR)/usr/include
	install -m 755 -d $(SODESTDIR)/usr/lib
	install -m 644 $(SONAME) $(SODESTDIR)/usr/lib

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdocs
	dh_installman
	dh_installchangelogs
	dh_installexamples
	dh_install
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_lintian
	dh_makeshlibs -V
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol
	dh_md5sums
	dh_builddeb

build-indep:
# no architecture-indepdent files to build

binary-indep:
# no architecture-indepdent packages to build

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