File: rules

package info (click to toggle)
nco 4.4.2-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 24,252 kB
  • ctags: 6,921
  • sloc: ansic: 48,409; cpp: 22,351; xml: 16,783; sh: 12,408; perl: 5,453; makefile: 1,940; lex: 1,136; yacc: 605; python: 116; csh: 40
file content (146 lines) | stat: -rwxr-xr-x 4,318 bytes parent folder | download
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#!/usr/bin/make -f
# -*- makefile -*-
# Purpose: debian/rules file for NCO
# Copyright (C) 1999--2002 by Brian Mays
# Copyright (C) 2003--2011 by Charlie Zender
# Usage:
# scp ~/nco/debian/rules virga.ess.uci.edu:nco/debian

# Sample debian/rules that uses debhelper
# GNU copyright 1997 to 1999 by Joey Hess

# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets  by Bill Allombert 2001

# Uncomment this to turn on verbose mode
#export DH_VERBOSE=1

# Export this to make some magic below work
export DH_OPTIONS

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
	confflags := --build=$(DEB_BUILD_GNU_TYPE)
else
	confflags := --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
endif

export CFLAGS := -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif
# 20110114 Enable dap-netcdf netcdf4 udunits2 build options by default
# Allow them to be turned off by putting disable-XXX in DEB_BUILD_OPTIONS
ifneq (,$(findstring disable-dap-netcdf,$(DEB_BUILD_OPTIONS)))
	confflags += --disable-dap-netcdf
else
	confflags += --enable-dap-netcdf
endif
ifneq (,$(findstring disable-netcdf4,$(DEB_BUILD_OPTIONS)))
	confflags += --disable-netcdf4
else
	confflags += --enable-netcdf4
	CPPFLAGS += -DHAVE_NETCDF4_H
endif
ifneq (,$(findstring disable-udunits2,$(DEB_BUILD_OPTIONS)))
	confflags += --disable-udunits2
else
	confflags += --enable-udunits2
endif

# Make Debian-default netCDF directories override development netCDF installations in, e.g., /usr/local
# 20070721: This may inadvertently cause libtool to set set rpath
# In turn this generates linda warnings about hard-coded rpath
# Since their Debian packages exist, always enable GSL and ncap2
# Environment variables NETCDF*, defined in Zender's bashrc, often confuse Debian
# Debian requires that libraries are known by package-manager
# Thus environment variables that point, e.g., to /usr/local, are unhelpful
config.status: configure
	dh_testdir
	dh_autotools-dev_updateconfig
	LD_LIBRARY_PATH='' LDFLAGS='' NETCDF_INC='/usr/include' NETCDF_LIB='/usr/lib' NETCDF_ROOT='/usr' NETCDF4_ROOT='/usr' \
	./configure $(confflags) \
		--prefix=/usr \
		--infodir=/usr/share/info \
		--libdir=/usr/lib/nco \
		--mandir=/usr/share/man \
		--enable-gsl \
		--enable-ncap2 \
		--disable-nco_cplusplus \
		--disable-udunits \
		--disable-static

# Architecture 
build: build-arch build-indep

build-indep: build-indep-stamp
build-indep-stamp:
	# do nothing

build-arch: build-arch-stamp
build-arch-stamp:  config.status
	$(MAKE) 
	cd doc && $(MAKE) clean && $(MAKE) html
	cd doc && $(MAKE) nco.info
# Documentation to distribute in future
#	cd doc && $(MAKE) nco.ps
#	cd doc && $(MAKE) nco.dvi

clean:
	dh_testdir
	dh_testroot
	dh_autotools-dev_restoreconfig
	rm -f build-arch-stamp build-indep-stamp config-stamp
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f data/big.nc
	dh_clean

install: install-arch

install-arch:
	dh_testdir
	dh_testroot
	dh_clean -a
	dh_installdirs -a
# Commands to install architecture part of package into debian/tmp
	$(MAKE) install DESTDIR=$(CURDIR)/debian/nco
	rm `find $(CURDIR)/debian -name '*.la'`
# NCO installs header files by default, which Debian does not want (yet)
	dh_install -a --exclude="*.h *.hh"

# Must not depend on anything 
# This is to be called by binary-arch/binary-multi in another 'make' thread
binary-common:
	dh_testdir
	dh_testroot
	dh_installchangelogs doc/ChangeLog
	dh_installdocs
	rm -f debian/nco/usr/share/info/dir
	dh_installinfo
	dh_installman
	dh_link
	dh_strip
	dh_compress 
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb


# Build architecture independant packages using the common target
binary-indep: build install

# Build architecture dependant packages using the common target
binary-arch: build-arch install-arch
	$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install install-arch