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
|
# Common settings for Ada Debian packaging.
#
# Copyright (C) 2012-2014 Nicolas Boulenguez <nicolas@debian.org>
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# dpkg-dev (>= 1.16.1) provides /usr/share/dpkg/default.mk (or the
# more specific buildflags.mk) to set standard variables like
# DEB_HOST_MULTIARCH, CFLAGS, LDFLAGS...) according to the build
# environment (DEB_BUILD_OPTIONS...) and the policy (hardening
# flags...).
# You must include it before this file.
ifeq (,$(findstring /usr/share/dpkg/buildflags.mk,$(MAKEFILE_LIST)))
$(error Please include /usr/share/dpkg/default.mk (or the more specific \
buildflags.mk) before $(lastword $(MAKEFILE_LIST)))
endif
# Ada is not in dpkg-dev flag list. We add a sensible default here.
# Format checking is meaningless for Ada sources.
ADAFLAGS := $(filter-out -Wformat -Werror=format-security, $(CFLAGS))
ifdef DPKG_EXPORT_BUILDFLAGS
export ADAFLAGS
endif
# Avoid dpkg-shlibdeps warning about depending on a library from which
# no symbol is used, see http://wiki.debian.org/ToolChain/DSOLinking.
# Gnatmake users must upgrade to >= 4.6.4-1 to circumvent #680292.
LDFLAGS += -Wl,--as-needed
# Warn during build time if undefined symbols.
LDFLAGS += -Wl,-z,defs
ifdef DPKG_EXPORT_BUILDFLAGS
export LDFLAGS
endif
######################################################################
# C compiler version
# GCC binaries must be compatible with GNAT at the binary level, use
# the same version. This setting is mandatory for every upstream C
# compilation ("export CC" is enough for dh_auto_configure with a
# normal ./configure).
CC := gnatgcc
######################################################################
# Options for gprbuild/gnatmake.
# Let Make delegate parallelism to gnatmake/gprbuild.
.NOTPARALLEL:
# Use all processors unless parallel=n is set in DEB_BUILD_OPTIONS.
# http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
BUILDER_JOBS := $(filter parallel=%,$(DEB_BUILD_OPTIONS))
ifneq (,$(BUILDER_JOBS))
BUILDER_JOBS := $(subst parallel=,,$(BUILDER_JOBS))
else
BUILDER_JOBS := $(shell getconf _NPROCESSORS_ONLN)
endif
BUILDER_OPTIONS += -j$(BUILDER_JOBS)
BUILDER_OPTIONS += -R
# Avoid lintian warning about setting an explicit library runpath.
# http://wiki.debian.org/RpathIssue
BUILDER_OPTIONS += -v
# Make exact command lines available for automatic log checkers.
BUILDER_OPTIONS += -eS
# Tell gnatmake to echo commands to stdout instead of stderr, avoiding
# buildds thinking it is inactive and killing it.
# -eS is the default on gprbuild.
# You may be interested in
# -s recompile if compilation switches have changed
# (bad default because of interactions between -amxs and standard library)
# -we handle warnings as errors
# -vP2 verbose when parsing projects.
|