summaryrefslogtreecommitdiff
path: root/Makefile.flags.am
blob: 14ad4bea59e1c7996a6b77fd7298d125292c1395 (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

# Baseline flags for all compilations.  Aim here is to maximise
# performance and get whatever useful warnings we can out of gcc.
AM_CFLAGS_BASE = -O2 -g -Wmissing-prototypes -Wall -Wshadow \
                 -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
                 -fno-strict-aliasing

# These flags are used for building the preload shared objects.
# The aim is to give reasonable performance but also to have good
# stack traces, since users often see stack traces extending 
# into (and through) the preloads.
AM_CFLAGS_PIC = -O -g -fpic -fno-omit-frame-pointer -fno-strict-aliasing

# Flags for specific targets
AM_FLAG_M3264_X86_LINUX   = @FLAG_M32@
AM_CPPFLAGS_X86_LINUX     = $(add_includes_x86_linux)
AM_CFLAGS_X86_LINUX       = $(WERROR) @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
			 	$(AM_CFLAGS_BASE)
AM_CCASFLAGS_X86_LINUX    = $(add_includes_x86_linux) @FLAG_M32@ -g

AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
AM_CPPFLAGS_AMD64_LINUX   = $(add_includes_amd64_linux)
AM_CFLAGS_AMD64_LINUX     = $(WERROR) @FLAG_M64@ -fomit-frame-pointer \
				@PREFERRED_STACK_BOUNDARY@ $(AM_CFLAGS_BASE)
AM_CCASFLAGS_AMD64_LINUX  = $(add_includes_amd64_linux) @FLAG_M64@ -g

AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
AM_CPPFLAGS_PPC32_LINUX   = $(add_includes_ppc32_linux)
AM_CFLAGS_PPC32_LINUX     = $(WERROR) @FLAG_M32@ $(AM_CFLAGS_BASE)
AM_CCASFLAGS_PPC32_LINUX  = $(add_includes_ppc32_linux) -Wa,-maltivec @FLAG_M32@ -g

AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@
AM_CPPFLAGS_PPC64_LINUX   = $(add_includes_ppc64_linux)
AM_CFLAGS_PPC64_LINUX     = $(WERROR) @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CCASFLAGS_PPC64_LINUX  = $(add_includes_ppc64_linux) -Wa,-maltivec @FLAG_M64@ -g

AM_FLAG_M3264_PPC32_AIX5  = @FLAG_MAIX32@
AM_CPPFLAGS_PPC32_AIX5    = $(add_includes_ppc32_aix5)
AM_CFLAGS_PPC32_AIX5      = $(WERROR) @FLAG_MAIX32@ -mcpu=powerpc $(AM_CFLAGS_BASE)
AM_CCASFLAGS_PPC32_AIX5   = $(add_includes_ppc32_aix5) \
				@FLAG_MAIX32@ -mcpu=powerpc -g

AM_FLAG_M3264_PPC64_AIX5  = @FLAG_MAIX64@
AM_CPPFLAGS_PPC64_AIX5    = $(add_includes_ppc64_aix5)
AM_CFLAGS_PPC64_AIX5      = $(WERROR) @FLAG_MAIX64@ -mcpu=powerpc64 $(AM_CFLAGS_BASE)
AM_CCASFLAGS_PPC64_AIX5   = $(add_includes_ppc64_aix5) \
				@FLAG_MAIX64@ -mcpu=powerpc64 -g

# Flags for the primary target.  These must be used to build the
# regtests and performance tests.  In fact, these must be used to
# build anything which is built only once on a dual-arch build.
#
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VG_PLATFORM_PRI@)
AM_CPPFLAGS_PRI   = $(AM_CPPFLAGS_@VG_PLATFORM_PRI@)
AM_CFLAGS_PRI     = $(AM_CFLAGS_@VG_PLATFORM_PRI@)
AM_CCASFLAGS_PRI  = $(AM_CCASFLAGS_@VG_PLATFORM_PRI@)

if VGP_HAVE_SECONDARY
 AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VG_PLATFORM_SEC@)
else
 AM_FLAG_M3264_SEC = 
endif


# Baseline link flags for making dynamic shared objects.
#
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst
PRELOAD_LDFLAGS_COMMON_AIX5  = -nodefaultlibs -shared -Wl,-G -Wl,-bnogc
PRELOAD_LDFLAGS_X86_LINUX   = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_PPC64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_PPC32_AIX5  = $(PRELOAD_LDFLAGS_COMMON_AIX5)  @FLAG_MAIX32@
PRELOAD_LDFLAGS_PPC64_AIX5  = $(PRELOAD_LDFLAGS_COMMON_AIX5)  @FLAG_MAIX64@