#!/usr/bin/make -f SONAME=liblbfgsb.so.0 # Enable hardening, but remove pie flag since we're building a shared # object. See also # https://lists.debian.org/debian-devel/2013/01/msg00225.html. MAINTOPTS = hardening=+all,-pie FCFLAGS:=$(shell DEB_BUILD_MAINT_OPTIONS=$(MAINTOPTS) dpkg-buildflags --get FCFLAGS) LDFLAGS:=$(shell DEB_BUILD_MAINT_OPTIONS=$(MAINTOPTS) dpkg-buildflags --get LDFLAGS) MAINTOPTS_EX = hardening=+all FCFLAGS_EX:=$(shell DEB_BUILD_MAINT_OPTIONS=$(MAINTOPTS_EX) dpkg-buildflags --get FCFLAGS) LDFLAGS_EX:=$(shell DEB_BUILD_MAINT_OPTIONS=$(MAINTOPTS_EX) dpkg-buildflags --get LDFLAGS) %: dh $@ override_dh_auto_build: mkdir -p build gfortran $(FCFLAGS) -fPIC -o build/lbfgsb.o -c lbfgsb.f gfortran $(FCFLAGS) -fPIC -o build/timer.o -c timer.f gfortran $(FCFLAGS) -shared $(LDFLAGS) -Wl,-soname,$(SONAME) \ -o build/$(SONAME) build/lbfgsb.o build/timer.o \ -lblas -llapack ar cr build/liblbfgsb.a build/lbfgsb.o build/timer.o ln -s $(SONAME) build/liblbfgsb.so gfortran $(FCFLAGS_EX) $(LDFLAGS_EX) \ -o build/lbfgsb-examples_driver1_77 driver1.f -llbfgsb -Lbuild gfortran $(FCFLAGS_EX) $(LDFLAGS_EX) \ -o build/lbfgsb-examples_driver1_90 driver1.f90 -llbfgsb -Lbuild gfortran $(FCFLAGS_EX) $(LDFLAGS_EX) \ -o build/lbfgsb-examples_driver2_77 driver2.f -llbfgsb -Lbuild gfortran $(FCFLAGS_EX) $(LDFLAGS_EX) \ -o build/lbfgsb-examples_driver2_90 driver2.f90 -llbfgsb -Lbuild gfortran $(FCFLAGS_EX) $(LDFLAGS_EX) \ -o build/lbfgsb-examples_driver3_77 driver3.f -llbfgsb -Lbuild gfortran $(FCFLAGS_EX) $(LDFLAGS_EX) \ -o build/lbfgsb-examples_driver3_90 driver3.f90 -llbfgsb -Lbuild override_dh_auto_clean: rm -rf build dh_auto_clean override_dh_compress: dh_compress -X.pdf -X.f -X.f90 -Xoutput_