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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
#!/usr/bin/make -f
export DH_VERBOSE=1
include /usr/share/debhelper/dh-fortran/fortran-support.mk
BUILDDIR:=debian/build
# The magic debhelper rule
%:
dh $@ --builddirectory=$(BUILDDIR) --with fortran_mod
DESTDIR=$(CURDIR)/debian/tmp/
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH)
# To enable all, uncomment following line
DEB_BUILD_MAINT_OPTIONS:= hardening=+all
DEB_CFLAGS_MAINT_APPEND:= -Wall -pedantic -fPIC
export DEB_BUILD_MAINT_OPTIONS
export DEB_CFLAGS_MAINT_APPEND DEB_CFLAGS_MAINT_APPEND
# Just use gfortran in the build
CPPFLAGS += -DgFortran
CPPFLAGS += -I/usr/include/cdTime
ARCH:=$(shell dpkg --print-architecture)
# On amd64don't do fPIE, only relro
ifeq ($(ARCH), amd64)
export LDFLAGS= -Wl,-z,relro -Wl,-z,now
endif
BUILD_FLAGS = \
--prefix=/usr --libdir=$(LIBDIR) \
$(WITH_OPENMP) \
--with-hdf5=/usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/serial \
--with-zlib=/usr \
--with-netcdf=/usr \
--with-proj=/usr \
--with-fftw3 \
--with-curl=/usr \
--with-udunits2=/usr \
--with-szlib \
--with-libxml2=/usr \
--with-eccodes=/usr \
--with-magics=/usr \
--enable-iso-c-interface \
--enable-cdi-lib \
--enable-hirlam-extensions \
--disable-cgribex
override_dh_auto_clean:
dh_auto_clean || echo "distclean ok"
rm -rf $(BUILDDIR)
if test -f libcdi/src/cfortran.h.orig ; then ( rm libcdi/src/cfortran.h; mv libcdi/src/cfortran.h.orig libcdi/src/cfortran.h); fi
override_dh_auto_configure:
[ -f libcdi/src/cfortran.h.orig ]|| ( cp libcdi/src/cfortran.h libcdi/src/cfortran.h.orig)
ln -sf /usr/include/cfortran.h libcdi/src/cfortran.h
for f in $(FC_DEFAULT) ; do \
dh_auto_configure --builddirectory=$(BUILDDIR) -- \
FC=$$f $(BUILD_FLAGS) \
LIBS="-lm -ljpeg -lz -lcurl" LDFLAGS="$(LDFLAGS) -Wl,--as-needed" ; \
done
override_dh_auto_build:
dh_auto_build --builddirectory=$(BUILDDIR)
# Ignore error here ; it mostly works
- (cd contrib && LC_ALL=C.UTF-8 ruby makecompl.rb )
override_dh_auto_install:
dh_auto_install
for d in debian/tmp/$(LIBDIR)/pkgconfig/cdi.pc $(BUILDDIR)/libcdi/src/pkgconfig/cdi_f2003.pc ; do \
sed -e 's%${CURDIR}%/build/cdo%g' < $$d > debian/tmp/x ; \
mv debian/tmp/x $$d ; \
done
mkdir -p $(DESTDIR)/usr/share/bash-completions/completions $(DESTDIR)//usr/share/zsh/functions/Completion/Linux
cp contrib/cdoCompletion.bash $(DESTDIR)/usr/share/bash-completions/completions/cdo
cp contrib/cdoCompletion.zsh $(DESTDIR)//usr/share/zsh/functions/Completion/Linux/_cdo
find $(DESTDIR) -name '*.la' -delete -o -name '*.so' -delete -o -name '*.so.0' -delete
mkdir -p $(DESTDIR)/$(LIBDIR)/fortran/gfortran
mv $(DESTDIR)/$(LIBDIR)/libcdi_f2003.so.0.0.0 $(DESTDIR)/$(LIBDIR)//libcdi_f2003-gfortran.so.0.0.0
mv $(DESTDIR)/$(LIBDIR)/libcdi_f2003.a $(DESTDIR)/$(LIBDIR)/fortran/gfortran
# patchelf --set-soname libcdi_f2003-gfortran.so.0 $(DESTDIR)/$(LIBDIR)//libcdi_f2003-gfortran.so.0.0.0
override_dh_auto_test:
# Need to define path to 'cdo' for python tests
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
export PATH=$(PATH):$(CURDIR)/src make check
endif
|