blob: 0acb2d7ecbad8dc4cfb1bdd7f58019c4a5d7000a [file] [log] [blame]
sewardj01262142006-01-04 01:20:28 +00001
sewardj944fbf22007-11-16 10:05:47 +00002# Baseline flags for all compilations. Aim here is to maximise
3# performance and get whatever useful warnings we can out of gcc.
4AM_CFLAGS_BASE = -O2 -g -Wmissing-prototypes -Winline -Wall -Wshadow \
tom7379c702005-11-11 12:30:12 +00005 -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations
tomfb7bcde2005-11-07 15:24:38 +00006
sewardj944fbf22007-11-16 10:05:47 +00007# These flags are used for building the preload shared objects.
8# The aim is to give reasonable performance but also to have good
9# stack traces, since users often see stack traces extending
10# into (and through) the preloads.
11AM_CFLAGS_PIC = -O -g -fpic -fno-omit-frame-pointer
tomfb7bcde2005-11-07 15:24:38 +000012
sewardj01262142006-01-04 01:20:28 +000013# Flags for specific targets
14AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
15AM_CPPFLAGS_X86_LINUX = $(add_includes_x86_linux)
16AM_CFLAGS_X86_LINUX = $(WERROR) @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
17 $(AM_CFLAGS_BASE)
18AM_CCASFLAGS_X86_LINUX = $(add_includes_x86_linux) @FLAG_M32@ -g
tomfb7bcde2005-11-07 15:24:38 +000019
sewardj01262142006-01-04 01:20:28 +000020AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
21AM_CPPFLAGS_AMD64_LINUX = $(add_includes_amd64_linux)
22AM_CFLAGS_AMD64_LINUX = $(WERROR) @FLAG_M64@ -fomit-frame-pointer \
sewardj1eff82b2006-10-17 00:56:43 +000023 @PREFERRED_STACK_BOUNDARY@ $(AM_CFLAGS_BASE)
24AM_CCASFLAGS_AMD64_LINUX = $(add_includes_amd64_linux) @FLAG_M64@ -g
tomfb7bcde2005-11-07 15:24:38 +000025
sewardj01262142006-01-04 01:20:28 +000026AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
27AM_CPPFLAGS_PPC32_LINUX = $(add_includes_ppc32_linux)
28AM_CFLAGS_PPC32_LINUX = $(WERROR) @FLAG_M32@ $(AM_CFLAGS_BASE)
29AM_CCASFLAGS_PPC32_LINUX = $(add_includes_ppc32_linux) -Wa,-maltivec @FLAG_M32@ -g
sewardj2c48c7b2005-11-29 13:05:56 +000030
sewardj01262142006-01-04 01:20:28 +000031AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@
32AM_CPPFLAGS_PPC64_LINUX = $(add_includes_ppc64_linux)
33AM_CFLAGS_PPC64_LINUX = $(WERROR) @FLAG_M64@ $(AM_CFLAGS_BASE)
sewardj1eff82b2006-10-17 00:56:43 +000034AM_CCASFLAGS_PPC64_LINUX = $(add_includes_ppc64_linux) -Wa,-maltivec @FLAG_M64@ -g
35
36AM_FLAG_M3264_PPC32_AIX5 = @FLAG_MAIX32@
37AM_CPPFLAGS_PPC32_AIX5 = $(add_includes_ppc32_aix5)
38AM_CFLAGS_PPC32_AIX5 = $(WERROR) @FLAG_MAIX32@ -mcpu=powerpc $(AM_CFLAGS_BASE)
39AM_CCASFLAGS_PPC32_AIX5 = $(add_includes_ppc32_aix5) \
40 @FLAG_MAIX32@ -mcpu=powerpc -g
41
42AM_FLAG_M3264_PPC64_AIX5 = @FLAG_MAIX64@
43AM_CPPFLAGS_PPC64_AIX5 = $(add_includes_ppc64_aix5)
44AM_CFLAGS_PPC64_AIX5 = $(WERROR) @FLAG_MAIX64@ -mcpu=powerpc64 $(AM_CFLAGS_BASE)
45AM_CCASFLAGS_PPC64_AIX5 = $(add_includes_ppc64_aix5) \
46 @FLAG_MAIX64@ -mcpu=powerpc64 -g
tomfb7bcde2005-11-07 15:24:38 +000047
sewardj01262142006-01-04 01:20:28 +000048# Flags for the primary target. These must be used to build the
49# regtests and performance tests. In fact, these must be used to
50# build anything which is built only once on a dual-arch build.
51#
52AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VG_PLATFORM_PRI@)
53AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VG_PLATFORM_PRI@)
54AM_CFLAGS_PRI = $(AM_CFLAGS_@VG_PLATFORM_PRI@)
55AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VG_PLATFORM_PRI@)
sewardj1eff82b2006-10-17 00:56:43 +000056
57if VGP_HAVE_SECONDARY
58 AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VG_PLATFORM_SEC@)
59else
60 AM_FLAG_M3264_SEC =
61endif
62
63
64# Baseline link flags for making dynamic shared objects.
65#
66PRELOAD_LDFLAGS_COMMON_LINUX = -nostdlib -shared -Wl,-z,interpose,-z,initfirst
67PRELOAD_LDFLAGS_COMMON_AIX5 = -nostdlib -shared -Wl,-G -Wl,-bnogc
68PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
69PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
70PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
71PRELOAD_LDFLAGS_PPC64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
72PRELOAD_LDFLAGS_PPC32_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) @FLAG_MAIX32@
73PRELOAD_LDFLAGS_PPC64_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) @FLAG_MAIX64@