#!/usr/bin/make -f # export DH_VERBOSE=1 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) # Version numbers EX_SO_MAJOR=5 EX_SO_MINOR=14 EX_SO_PATCH=0 EX_SONAME:=libexoIIv2c.so.$(EX_SO_MAJOR) EX_SONAME_FULL=$(EX_SONAME).$(EX_SO_MINOR).$(EX_SO_PATCH) NE_SO_MAJOR=3 NE_SO_MINOR=09 NE_SO_PATCH=0 NE_SONAME=libnemesis.so.$(NE_SO_MAJOR) NE_SONAME_FULL=$(NE_SONAME).$(NE_SO_MINOR).$(NE_SO_PATCH) TOPDIR=$(shell pwd) PKGDIR=debian/libexodusii-dev PREFIX=$(TOPDIR)/debian/tmp/usr LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) # Magic debhelper rule %: dh $@ --buildsystem cmake --sourcedirectory=exodus # Workaround to cmake ignoring CPPFLAGS; needed for hardening CFLAGS=$(shell dpkg-buildflags --get CFLAGS) $(shell dpkg-buildflags --get CPPFLAGS) LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS) override_dh_auto_clean: dh_auto_clean rm -rf *build exodusii override_dh_auto_build: dh_auto_build # Shared build. mkdir -p exodus-shared-build ( cd exodus-shared-build && \ cmake ../exodus -DCMAKE_INSTALL_PREFIX=$(PREFIX) \ -DBUILD_SHARED_LIBS=TRUE -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-z,relro -Wl,--as-needed" && \ $(MAKE)) mkdir -p exodus-static-build ( cd exodus-static-build && \ cmake ../exodus -DCMAKE_INSTALL_PREFIX=$(PREFIX) \ -DBUILD_SHARED_LIBS=FALSE && $(MAKE) ) # Then build nemesis ln -sf exodus exodusii mkdir -p nemesis-static-build (cd nemesis-static-build && \ cmake ../nemesis -DEXODUS_LIBRARY=$(TOPDIR)/exodus-shared-build/cbind/$(EX_SONAME_FULL) && \ $(MAKE)) mkdir -p nemesis-shared-build ( cd nemesis-shared-build && \ cmake ../nemesis -DEXODUS_LIBRARY=$(TOPDIR)/exodus-shared-build/cbind/$(EX_SONAME_FULL) \ -DBUILD_SHARED_LIBS=TRUE -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-z,relro -Wl,--as-needed" && \ $(MAKE) ) override_dh_auto_install: $(MAKE) -C exodus-shared-build install dh_auto_install dh_install -p libexodusii-dev nemesis-static-build/libnemesis.a $(LIBDIR) dh_install -p libexodusii-dev usr/lib/libexoIIv2c.a $(LIBDIR) dh_install -p libexodusii-dev usr/lib/libexoIIv2for.a $(LIBDIR) dh_install -p libexodusii5 exodus-shared-build/cbind/$(EX_SONAME_FULL) $(LIBDIR) dh_install -p libnemesis3 nemesis-shared-build/$(NE_SONAME_FULL) $(LIBDIR) chrpath -d debian/libnemesis3/$(LIBDIR)/$(NE_SONAME_FULL) chrpath -d debian/libexodusii5/$(LIBDIR)/$(EX_SONAME_FULL) dh_link -p libexodusii5 $(LIBDIR)/$(EX_SONAME_FULL) $(LIBDIR)/$(EX_SONAME).$(EX_SO_MINOR) dh_link -p libexodusii5 $(LIBDIR)/$(EX_SONAME_FULL) $(LIBDIR)/$(EX_SONAME) dh_link -p libnemesis3 $(LIBDIR)/$(NE_SONAME_FULL) $(LIBDIR)/$(NE_SONAME).$(NE_SO_MINOR) dh_link -p libnemesis3 $(LIBDIR)/$(NE_SONAME_FULL) $(LIBDIR)/$(NE_SONAME) dh_link -p libexodusii-dev $(LIBDIR)/$(EX_SONAME_FULL) $(LIBDIR)/libexoIIv2c.so dh_link -p libexodusii-dev $(LIBDIR)/$(NE_SONAME_FULL) $(LIBDIR)/libnemesis.so