/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Teddy Hogeborn
  • Date: 2016-02-28 14:10:37 UTC
  • Revision ID: teddy@recompile.se-20160228141037-fyrxjr3l439zx2jl
Fix Debian dependency bugs and lintian checks.

* debian/control (Source: mandos/Build-Depends-Indep): Change "python
                         (= 2.7)" to "python (>= 2.7), python (<< 3)".
  (Package: mandos/Depends): - '' -
* mandos: Change "#!/usr/bin/python2.7" to "/usr/bin/python", since
          lintian otherwise complains about missing dependency on
          "python2.7".

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# For info about _FORTIFY_SOURCE, see feature_test_macros(7)
15
15
# and <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>.
16
16
FORTIFY=-D_FORTIFY_SOURCE=2 -fstack-protector-all -fPIC
 
17
# <https://developerblog.redhat.com/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan/>
 
18
# The sanitizing options are available in GCC 4.9 and above.
 
19
ifeq ($(shell test $(shell $(CC) -dumpversion) \> 4.9-; echo $$?),0)
 
20
SANITIZE:=-fsanitize=address -fsanitize=undefined -fsanitize=shift \
 
21
        -fsanitize=integer-divide-by-zero -fsanitize=unreachable \
 
22
        -fsanitize=vla-bound -fsanitize=null -fsanitize=return \
 
23
        -fsanitize=signed-integer-overflow
 
24
# GCC 5.3 has some more sanitizing options
 
25
ifeq ($(shell test $(shell $(CC) -dumpversion) \> 5.3-; echo $$?),0)
 
26
SANITIZE+=-fsanitize=bounds -fsanitize=alignment \
 
27
        -fsanitize=object-size -fsanitize=float-divide-by-zero \
 
28
        -fsanitize=float-cast-overflow -fsanitize=nonnull-attribute \
 
29
        -fsanitize=returns-nonnull-attribute -fsanitize=bool \
 
30
        -fsanitize=enum
 
31
endif
 
32
else
 
33
SANITIZE:=
 
34
endif
17
35
LINK_FORTIFY_LD=-z relro -z now
18
36
LINK_FORTIFY=
19
37
 
24
42
endif
25
43
#COVERAGE=--coverage
26
44
OPTIMIZE=-Os -fno-strict-aliasing
27
 
LANGUAGE=-std=gnu99
 
45
LANGUAGE=-std=gnu11
28
46
htmldir=man
29
 
version=1.6.9
 
47
version=1.7.1
30
48
SED=sed
31
49
 
32
50
USER=$(firstword $(subst :, ,$(shell getent passwd _mandos || getent passwd nobody || echo 65534)))
73
91
LIBNL3_LIBS=$(shell pkg-config --libs libnl-route-3.0)
74
92
 
75
93
# Do not change these two
76
 
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \
77
 
        $(LANGUAGE) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(GPGME_CFLAGS) \
78
 
        -DVERSION='"$(version)"'
 
94
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(SANITIZE) $(COVERAGE) \
 
95
        $(OPTIMIZE) $(LANGUAGE) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) \
 
96
        $(GPGME_CFLAGS) -DVERSION='"$(version)"'
79
97
LDFLAGS+=-Xlinker --as-needed $(COVERAGE) $(LINK_FORTIFY) $(foreach flag,$(LINK_FORTIFY_LD),-Xlinker $(flag))
80
98
 
81
99
# Commands to format a DocBook <refentry> document into a manual page