File: rules

package info (click to toggle)
cdo 2.5.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 49,964 kB
  • sloc: cpp: 180,221; ansic: 95,352; sh: 7,292; f90: 6,089; makefile: 1,975; ruby: 1,078; csh: 1,020; python: 995; fortran: 319; pascal: 219; perl: 9
file content (95 lines) | stat: -rwxr-xr-x 3,119 bytes parent folder | download | duplicates (2)
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