annotate make/linux/makefiles/sparcWorks.make @ 2401:7e88bdae86ec

7029017: Additional architecture support for c2 compiler Summary: Enables cross building of a c2 VM. Support masking of shift counts when the processor architecture mandates it. Reviewed-by: kvn, never
author roland
date Fri, 25 Mar 2011 09:35:39 +0100
parents 0a8e0d4345b3
children 1d1603768966
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
50
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
1 #
2042
0a8e0d4345b3 7010068: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - first pass
trims
parents: 1983
diff changeset
2 # Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
50
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
4 #
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
7 # published by the Free Software Foundation.
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
8 #
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
13 # accompanied this code).
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
14 #
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
18 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 196
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 196
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 196
diff changeset
21 # questions.
50
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
22 #
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
23 #
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
24
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
25 #------------------------------------------------------------------------
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
26 # CC, CPP & AS
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
27
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
28 CPP = CC
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
29 CC = cc
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
30 AS = $(CC) -c
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
31
2401
7e88bdae86ec 7029017: Additional architecture support for c2 compiler
roland
parents: 2042
diff changeset
32 HOSTCPP = $(CPP)
7e88bdae86ec 7029017: Additional architecture support for c2 compiler
roland
parents: 2042
diff changeset
33 HOSTCC = $(CC)
7e88bdae86ec 7029017: Additional architecture support for c2 compiler
roland
parents: 2042
diff changeset
34
50
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
35 ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
36 ARCHFLAG/i486 = -m32
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
37 ARCHFLAG/amd64 = -m64
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
38
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
39 CFLAGS += $(ARCHFLAG)
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
40 AOUT_FLAGS += $(ARCHFLAG)
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
41 LFLAGS += $(ARCHFLAG)
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
42 ASFLAGS += $(ARCHFLAG)
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
43
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
44 #------------------------------------------------------------------------
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
45 # Compiler flags
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
46
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
47 # position-independent code
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
48 PICFLAG = -KPIC
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
49
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
50 CFLAGS += $(PICFLAG)
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
51 # no more exceptions
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
52 CFLAGS += -features=no%except
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
53 # Reduce code bloat by reverting back to 5.0 behavior for static initializers
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
54 CFLAGS += -features=no%split_init
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
55 # allow zero sized arrays
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
56 CFLAGS += -features=zla
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
57
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
58 # Use C++ Interpreter
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
59 ifdef CC_INTERP
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
60 CFLAGS += -DCC_INTERP
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
61 endif
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
62
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
63 # We don't need libCstd.so and librwtools7.so, only libCrun.so
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
64 CFLAGS += -library=Crun
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
65 LIBS += -lCrun
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
66
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
67 CFLAGS += -mt
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
68 LFLAGS += -mt
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
69
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
70 # Compiler warnings are treated as errors
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
71 #WARNINGS_ARE_ERRORS = -errwarn=%all
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
72 CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS)
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
73 # Special cases
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
74 CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
75
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
76 # The flags to use for an Optimized build
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
77 OPT_CFLAGS+=-xO4
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
78 OPT_CFLAGS/NOOPT=-xO0
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
79
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
80 # Flags for creating the dependency files.
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
81 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
82 DEPFLAGS = -xMMD -xMF $(DEP_DIR)/$(@:%=%.d)
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
83 endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1552
diff changeset
84
1983
c760f78e0a53 7003125: precompiled.hpp is included when precompiled headers are not used
stefank
parents: 1972
diff changeset
85 # -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
c760f78e0a53 7003125: precompiled.hpp is included when precompiled headers are not used
stefank
parents: 1972
diff changeset
86 CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
c760f78e0a53 7003125: precompiled.hpp is included when precompiled headers are not used
stefank
parents: 1972
diff changeset
87
50
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
88 #------------------------------------------------------------------------
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
89 # Linker flags
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
90
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
91 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
92 MAPFLAG = -Wl,--version-script=FILENAME
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
93
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
94 # Use $(SONAMEFLAG:SONAME=soname) to specify the intrinsic name of a shared obj
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
95 SONAMEFLAG = -h SONAME
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
96
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
97 # Build shared library
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
98 SHARED_FLAG = -G
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
99
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
100 #------------------------------------------------------------------------
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
101 # Debug flags
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
102 DEBUG_CFLAGS += -g
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
103 FASTDEBUG_CFLAGS = -g0
485d403e94e1 6452081: 3/4 Allow for Linux builds with Sun Studio Linux compilers
dcubed
parents:
diff changeset
104