[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