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

CFLAGS  = $(shell dpkg-buildflags --get CFLAGS) -Wall -Wextra
CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS)
LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
export CPPFLAGS CFLAGS LDFLAGS

# 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 $(CPPFLAGS) $(CFLAGS) twofish.c
	ar clq $(ANAME) twofish.o
	ranlib $(ANAME)
	# Shared library
	-rm twofish.o
	gcc $(CPPFLAGS) $(CFLAGS) -fPIC -shared -Wl,-soname,$(SONAME) \
		$(LDFLAGS) -Wl,-z,defs -lc -o $(SONAME) twofish.c
	#
	# test suite
	gcc -o twofishtest $(CPPFLAGS) $(CFLAGS) main.c $(LDFLAGS) -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
