1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
Author: Alastair McKinstry <mckinstry@debian.org>
Description: Bit-reproducibility changes
Forwarded: not-needed
Last-Updated: 2020-03-25
Index: spherepack-3.3~a1/Src/Makefile
===================================================================
--- spherepack-3.3~a1.orig/Src/Makefile
+++ spherepack-3.3~a1/Src/Makefile
@@ -1,32 +1,31 @@
FC:=f95
PREFIX:=/usr/local
+LIBDIR=/usr/local/lib
LD:=$(LD)
SONAME=libsphere-$(FC).so.0d
SHLIBFLAGS:= -Wl,--soname,$(SONAME) -Wl,--version-script,spherepack.ver -lm
-PIC_OBJS = $(patsubst %.f,%.pic_o, $(wildcard *.f90))
+PIC_OBJS = $(patsubst %.f90,%.pic_o, $(wildcard *.f90))
all: libsphere.a shlib libsphere.so
libsphere.a: *.f90
- gfortran -c *.f90
+ $(FC) -fPIC -fdefault-real-8 -fdefault-double-8 -c `LC_ALL=C ls *.f90`
ld -r -o libsphere.a *.o
-shlib $(SONAME):
- $(FC) $(LDFLAGS) -Wl,--as-needed -shared -o $(SONAME) $(SHLIBFLAGS) $(PIC_OBJS) -lc
+shlib $(SONAME): $(PIC_OBJS)
+ $(FC) $(LDFLAGS) -Wl,--as-needed -shared -o $(SONAME) $(SHLIBFLAGS) `LC_ALL=C ls $(PIC_OBJS)` -lc
+ ln -sf $(SONAME) libsphere.so
clean:
rm -f *.o *.pic_o libsphere.a $(SONAME) libsphere.so
install:
- mkdir -p $(DESTDIR)$(PREFIX)/lib
- # cp libsphere.a $(DESTDIR)$(PREFIX)/lib
- cp $(SONAME) $(DESTDIR)$(PREFIX)/lib
- ln -sf $(SONAME) $(DESTDIR)$(PREFIX)/lib/libsphere.so
- mkdir -p $(DESTDIR)$(LIBDIR)
- mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
- cp libsphere.a $(DESTDIR)$(LIBDIR)
+ mkdir -p $(DESTDIR)$(LIBDIR)/fortran/$(FC)
+ cp libsphere.a $(DESTDIR)$(LIBDIR)/fortran/$(FC)
cp $(SONAME) $(DESTDIR)$(LIBDIR)
- ln -sf $(SONAME) $(DESTDIR)$(LIDBIR)/libsphere.so
+ mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
+ ln -sf $(SONAME) $(DESTDIR)$(LIBDIR)/libsphere-$(FC).so
+ ln -sf ../../$(SONAME) $(DESTDIR)$(LIBDIR)/fortran/$(FC)/libsphere.so
sed -e 's;@prefix@;${PREFIX};' -e 's;@PACKAGE_VERSION@;${PACKAGE_VERSION};' -e 's;@LIBDIR@;${LIBDIR};' \
< sphere.pc.in > $(DESTDIR)$(LIBDIR)/pkgconfig/sphere.pc
|