summaryrefslogtreecommitdiff
path: root/Makefile.am
blob: 2f1e3597ed939554bcf57bea7a181c80e9918ea4 (plain)
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
# Makefile.am
# Copyright (C) 2013, 2014  Galois, Inc.
# Copyright (C) 2014 Benjamin Barenblat
#
# 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/>.

ACLOCAL_AMFLAGS = -I m4

CPPFLAGS = \
	-Wall \
	-D_FORTIFY_SOURCE=2

CXXFLAGS = \
	-std=c++11
	-ftrapv \
	-fstack-protector-strong --param=ssp-buffer-size=4 \
	-fPIE

if USING_CLANG
CXXFLAGS += -Weverything
endif USING_CLANG

if USING_GCC
CXXFLAGS += \
	-Wall -Wextra -pedantic \
	-Wformat=2 \
	-Wswitch-default \
	-Wswitch-enum \
	-Wunused -Wunused-parameter -Wunused-but-set-parameter \
	-Wuninitialized -Wmaybe-uninitialized \
	-Wsuggest-attribute=pure -Wsuggest-attribute=const \
		-Wsuggest-attribute=noreturn -Wsuggest-attribute=format \
	-Wtrampolines \
	-Wfloat-equal \
	-Wundef \
	-Wshadow \
	-Wpointer-arith \
	-Wtype-limits \
	-Wcast-qual \
	-Wclobbered \
	-Wconversion -Wsign-conversion \
	-Wlogical-op \
	-Wno-aggressive-loop-optimizations \
	-Wsign-compare \
	-Wmissing-field-initializers \
	-Wpacked \
	-Wredundant-decls \
	-Wstrict-aliasing \
	-Wstrict-overflow \
	-Wabi \
	-Wnoexcept \
	-Wnon-virtual-dtor \
	-Wold-style-cast \
	-Woverloaded-virtual \
	-Wsign-promo \
	-Wzero-as-null-pointer-constant \
	-Wuseless-cast \
	-Wempty-body \
	-fisolate-erroneous-paths-dereference \
	-fisolate-erroneous-paths-attribute \
	-fabi-version=6
endif USING_GCC

LDFLAGS = \
	-Wl,-Bsymbolic-functions \
	-Wl,-z,relro \
	-pie

bin_PROGRAMS = hello            #TODO(bbarenblat): Executable name here
hello_SOURCES = \
	src/main.cc

dist-hook:
	$(RM) `find $(distdir) -type f -name .gitignore`