summaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules47
1 files changed, 47 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..043b897
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,47 @@
+#!/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_