[lapack] 07/17: Simplify logic of debian/rules.
Sébastien Villemot
sebastien at debian.org
Thu Dec 24 20:39:59 UTC 2015
This is an automated email from the git hooks/post-receive script.
sebastien pushed a commit to branch master
in repository lapack.
commit 73f66202ab529a114a4966fef34294ee48e65521
Author: Sébastien Villemot <sebastien at debian.org>
Date: Tue Dec 22 21:51:23 2015 +0100
Simplify logic of debian/rules.
Gbp-Dch: Ignore
---
debian/liblapacke-dev.install | 4 +-
debian/liblapacke.install | 2 +-
debian/rules | 195 ++++++++++++------------------------------
3 files changed, 59 insertions(+), 142 deletions(-)
diff --git a/debian/liblapacke-dev.install b/debian/liblapacke-dev.install
index 1883498..0db42f7 100644
--- a/debian/liblapacke-dev.install
+++ b/debian/liblapacke-dev.install
@@ -1,3 +1,3 @@
LAPACKE/include/*.h usr/include/
-LAPACKE/liblapacke.so usr/lib/
-LAPACKE/liblapacke.a usr/lib/
+liblapacke.so usr/lib/
+liblapacke.a usr/lib/
diff --git a/debian/liblapacke.install b/debian/liblapacke.install
index fee245f..4f4cf61 100644
--- a/debian/liblapacke.install
+++ b/debian/liblapacke.install
@@ -1 +1 @@
-LAPACKE/liblapacke.so.* usr/lib/
+liblapacke.so.* usr/lib/
diff --git a/debian/rules b/debian/rules
index a99b302..eb43217 100755
--- a/debian/rules
+++ b/debian/rules
@@ -40,159 +40,80 @@ ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MAKEFLAGS += -j$(NUMJOBS)
endif
-#
-#
-# Configure
-#
-#
+%:
+ dh $@ --parallel
make.inc: INSTALL/make.inc.gfortran
- cat $< | sed -e "s,\(^NOOPT *=\).*,\1 \$$(PICOPTS) $(FFLAGS_NOOPT),1" \
- -e "s,\(^OPTS *=\).*,\1 \$$(PICOPTS) $(FFLAGS),1" \
- -e "s/\(^LOADOPTS *=\).*/\1 $(LDFLAGS)/1" \
- -e "s,\(^CFLAGS *=\).*,\1 $(CPPFLAGS) \$$(PICOPTS) $(CFLAGS),1" \
- -e "s,[^ ]*blas[^ ]*\.a,-lblas,1" > $@
-
-lapack-netlib.pc: lapack.pc.in
- cat $< | sed -e "s%@LAPACK_VERSION@%$(DEB_VERSION_UPSTREAM)%" \
- -e "s%@prefix@%/usr%" \
- -e "s%@libdir@%/usr/lib%" > $@
- mkdir -p debian/tmp/usr/lib/pkgconfig
-
-#
-#
-# Build rules for libraries
-#
-#
-
-liblapack_pic.a: make.inc TESTING/Makefile
- echo "Building liblapack_pic.a"
- $(MAKE) cleanlib
- $(MAKE) lapack_install PICOPTS=-fPIC
- $(MAKE) lib PICOPTS=-fPIC
- mv liblapack.a $@
-
-liblapack.so.$(DEB_VERSION_UPSTREAM): liblapack_pic.a
- echo "Building liblapack.so.$(DEB_VERSION_UPSTREAM) from liblapack_pic.a"
- mkdir -p tmp
- cd tmp && ar x ../$<
- $(F77) -shared -Wl,-soname=liblapack.so.$(SO) -o $@ tmp/*.o -L. -lblas $(LDFLAGS)
- rm -rf tmp
+ sed -e "s,\(^NOOPT *=\).*,\1 \$$(PICOPTS) $(FFLAGS_NOOPT),1" \
+ -e "s,\(^OPTS *=\).*,\1 \$$(PICOPTS) $(FFLAGS),1" \
+ -e "s/\(^LOADOPTS *=\).*/\1 $(LDFLAGS)/1" \
+ -e "s,\(^CFLAGS *=\).*,\1 $(CPPFLAGS) \$$(PICOPTS) $(CFLAGS),1" \
+ -e "s,[^ ]*blas[^ ]*\.a,-lblas,1" < $< > $@
-liblapack.so.$(SO): liblapack.so.$(DEB_VERSION_UPSTREAM)
- ln -snf $< $@
+override_dh_auto_clean: make.inc
+ $(MAKE) cleanall
+ rm -rf debian/*_stamp debian/*_results lib*.so*
+ rm -rf debian/test/ debian/time/
+ rm -f TESTING/tmp TESTING/testing_results.txt
+ rm -f LAPACKE/include/lapacke_mangling.h
+ rm -rf DOCS/explore-html/ DOCS/man/
+ rm -f output_err
+ rm -f make.inc lapack-netlib.pc
-liblapack.so: liblapack.so.$(SO)
- ln -snf $< $@
+override_dh_auto_configure: make.inc
+ # Create lapack-netlib.pc
+ sed -e "s%@LAPACK_VERSION@%$(DEB_VERSION_UPSTREAM)%" \
+ -e "s%@prefix@%/usr%" \
+ -e "s%@libdir@%/usr/lib%" < lapack.pc.in > lapack-netlib.pc
-liblapack.a: make.inc
- echo "Building liblapack.a"
+override_dh_auto_build-arch:
+ # Build pic libraries
$(MAKE) cleanlib
- $(MAKE) lapack_install
- $(MAKE) lib
-
-libtmglib_pic.a: make.inc
- echo "Building libtmglib_pic.a"
- cd TESTING/MATGEN; \
- $(MAKE) clean; \
- $(MAKE) PICOPTS=-fPIC
- mv libtmglib.a $@
-
-libtmglib.so.$(DEB_VERSION_UPSTREAM): libtmglib_pic.a
- echo "Building libtmglib.so.$(DEB_VERSION_UPSTREAM) from libtmglib_pic.a"
+ $(MAKE) lapacklib tmglib lapackelib PICOPTS=-fPIC
+ mv liblapack.a liblapack_pic.a
+ mv libtmglib.a libtmglib_pic.a
+ mv liblapacke.a liblapacke_pic.a
+
+ # Build liblapack.so.*
mkdir -p tmp
- cd tmp && ar x ../$<
- $(F77) -shared -Wl,-soname=libtmglib.so.$(SO) -o $@ tmp/*.o -L. -lblas -llapack $(LDFLAGS)
+ cd tmp && ar x ../liblapack_pic.a
+ $(F77) -shared -Wl,-soname=liblapack.so.$(SO) -o liblapack.so.$(DEB_VERSION_UPSTREAM) tmp/*.o -L. -lblas $(LDFLAGS)
rm -rf tmp
+ ln -s liblapack.so.$(DEB_VERSION_UPSTREAM) liblapack.so.$(SO)
+ ln -s liblapack.so.$(DEB_VERSION_UPSTREAM) liblapack.so
-libtmglib.so.$(SO): libtmglib.so.$(DEB_VERSION_UPSTREAM)
- ln -snf $< $@
-
-libtmglib.so: libtmglib.so.$(SO)
- ln -snf $< $@
-
-libtmglib.a: make.inc
- echo "Building libtmglib.a"
- cd TESTING/MATGEN; \
- $(MAKE) clean; \
- $(MAKE)
-
-LAPACKE/liblapacke_pic.a: make.inc
- echo "Building liblapacke_pic.a"
- cd LAPACKE; \
- $(MAKE) cleanlib; \
- $(MAKE) PICOPTS=-fPIC; \
- mv ../liblapacke.a $(@F)
-
-LAPACKE/liblapacke.so.$(DEB_VERSION_UPSTREAM): LAPACKE/liblapacke_pic.a
- echo "Building liblapacke.so.$(DEB_VERSION_UPSTREAM) from liblapacke_pic.a"
- cd LAPACKE; \
- mkdir -p tmp; \
- cd tmp && ar x ../$(<F) && cd -; \
- $(CC) -shared -Wl,-soname=liblapacke.so.$(SO) -o $(@F) tmp/*.o -L.. -lblas -llapack -ltmglib $(LDFLAGS); \
+ # Build libtmglib.so.*
+ mkdir -p tmp
+ cd tmp && ar x ../libtmglib_pic.a
+ $(F77) -shared -Wl,-soname=libtmglib.so.$(SO) -o libtmglib.so.$(DEB_VERSION_UPSTREAM) tmp/*.o -L. -lblas -llapack $(LDFLAGS)
rm -rf tmp
+ ln -s libtmglib.so.$(DEB_VERSION_UPSTREAM) libtmglib.so.$(SO)
+ ln -s libtmglib.so.$(DEB_VERSION_UPSTREAM) libtmglib.so
-LAPACKE/liblapacke.so.$(SO): LAPACKE/liblapacke.so.$(DEB_VERSION_UPSTREAM)
- cd LAPACKE; \
- ln -snf $(<F) $(@F)
-
-LAPACKE/liblapacke.so: LAPACKE/liblapacke.so.$(SO)
- cd LAPACKE; \
- ln -snf $(<F) $(@F)
-
-LAPACKE/liblapacke.a: make.inc
- echo "Building liblapacke.a"
- cd LAPACKE; \
- $(MAKE) cleanlib; \
- $(MAKE) ; \
- mv ../liblapacke.a $(@F)
-
-#
-#
-# Testing rules
-#
-#
-
-TESTING/testing_results.txt: liblapack.so
- LD_LIBRARY_PATH=$$(pwd):$$LD_LIBRARY_PATH \
- $(MAKE) PICOPTS= OPTS="$(FFLAGS_TESTSUITE)" \
- LLIB="-L $$(pwd) -llapack -lblas" lapack_testing
-
-#
-#
-# Package rules
-#
-#
-
-%:
- dh $@ --parallel
+ # Build liblapacke.so.*
+ mkdir -p tmp
+ cd tmp && ar x ../liblapacke_pic.a
+ $(CC) -shared -Wl,-soname=liblapacke.so.$(SO) -o liblapacke.so.$(DEB_VERSION_UPSTREAM) tmp/*.o -L. -lblas -llapack -ltmglib $(LDFLAGS)
+ rm -rf tmp
+ ln -s liblapacke.so.$(DEB_VERSION_UPSTREAM) liblapacke.so.$(SO)
+ ln -s liblapacke.so.$(DEB_VERSION_UPSTREAM) liblapacke.so
-override_dh_auto_clean: make.inc
- dh_testdir
- rm -rf debian/*_stamp debian/*_results lib* TESTING/*out
- rm -rf *.a INSTALL/test* debian/test/ debian/time/
- rm -f TESTING/tmp TESTING/testing_results.txt
- cd LAPACKE && $(MAKE) clean
- rm -f LAPACKE/*.a LAPACKE/*.so LAPACKE/*.so.* LAPACKE/include/lapacke_mangling.h
- touch TESTING/xlinfoo TESTING/xeigfoo && $(MAKE) clean
- $(MAKE) -C TESTING/MATGEN clean
- rm -rf DOCS/explore-html/ DOCS/man/
- rm -f output_err
- rm -f make.inc lapack-netlib.pc
+ # Build static versions
+ $(MAKE) cleanlib
+ $(MAKE) lapacklib tmglib lapackelib
-# liblapack_pic.a must come before liblapack.a, otherwise the latter will be overwritten.
-# Same for libtmglib_pic.a before libtmglib.a, and liblapacke_pic.a before liblapacke.a.
-# Moreover, shared libraries for liblapack, libtmglib and liblapacke must come in that order.
-# We also build the test programs, in order to avoid FTBFS if DEB_BUILD_OPTIONS contains nocheck
-override_dh_auto_build-arch: liblapack_pic.a liblapack.a liblapack.so libtmglib_pic.a libtmglib.a libtmglib.so LAPACKE/liblapacke_pic.a LAPACKE/liblapacke.a LAPACKE/liblapacke.so lapack-netlib.pc
- make OPTS="$(FFLAGS_TESTSUITE)" -C TESTING xeigtstc xeigtstd xeigtsts xeigtstz xlintstc xlintstd xlintsts xlintstz xlintstds xlintstrfc xlintstrfd xlintstrfs xlintstrfz xlintstzc
+ # Build the test programs, in order to avoid FTBFS if DEB_BUILD_OPTIONS contains nocheck
+ $(MAKE) OPTS="$(FFLAGS_TESTSUITE)" -C TESTING xeigtstc xeigtstd xeigtsts xeigtstz xlintstc xlintstd xlintsts xlintstz xlintstds xlintstrfc xlintstrfd xlintstrfs xlintstrfz xlintstzc
-override_dh_auto_build-indep: make.inc
+override_dh_auto_build-indep:
$(MAKE) html
$(MAKE) man
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-override_dh_auto_test-arch: TESTING/testing_results.txt
+override_dh_auto_test-arch:
+ LD_LIBRARY_PATH=$$(pwd):$$LD_LIBRARY_PATH \
+ $(MAKE) PICOPTS= OPTS="$(FFLAGS_TESTSUITE)" \
+ LLIB="-L $$(pwd) -llapack -lblas" lapack_testing
else
override_dh_auto_test-arch:
touch TESTING/testing_results.txt
@@ -211,7 +132,3 @@ override_dh_strip:
# Do not compress the .map files in HTML generated documentation
override_dh_compress-indep:
dh_compress -i -X.map
-
-# This Makefile must be run serially (because non-PIC and PIC versions must be
-# built sequentially), but the sub-makes can still be parallized
-.NOTPARALLEL:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/lapack.git
More information about the debian-science-commits
mailing list