hotspot/make/windows/makefiles/compile.make
author alanb
Tue, 03 May 2016 09:11:31 +0100
changeset 37827 09fa0c82a5f7
parent 33981 652bf41da963
permissions -rw-r--r--
8154956: Module system implementation refresh (4/2016) Reviewed-by: alanb, mchung, chegar, redestad Contributed-by: alan.bateman@oracle.com, erik.joelsson@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
#
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30029
diff changeset
     2
# Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
# published by the Free Software Foundation.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
# This code is distributed in the hope that it will be useful, but WITHOUT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
# version 2 for more details (a copy is included in the LICENSE file that
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
# accompanied this code).
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
# You should have received a copy of the GNU General Public License version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
# 2 along with this work; if not, write to the Free Software Foundation,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
#
5547
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 5377
diff changeset
    19
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 5377
diff changeset
    20
# or visit www.oracle.com if you need additional information or have any
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 5377
diff changeset
    21
# questions.
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30029
diff changeset
    22
#
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
489c9b5090e2 Initial load
duke
parents:
diff changeset
    25
# Generic compiler settings
11955
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11721
diff changeset
    26
!if "x$(CXX)" == "x"
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    27
CXX=cl.exe
11955
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11721
diff changeset
    28
!endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    30
# CXX Flags: (these vary slightly from VC6->VS2003->VS2005 compilers)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    31
#   /nologo   Supress copyright message at every cl.exe startup
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
#   /W3       Warning level 3
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
#   /Zi       Include debugging information
33094
f10fe3dec526 8027565: Enable /d2Zi+ when building with Visual Studio 2013
ctornqvi
parents: 30029
diff changeset
    34
#   /d2Zi+    Extended debugging symbols for optimized code (/Zo in VS2013 Update 3 and later)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
#   /WX       Treat any warning error as a fatal error
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
    36
#   /MD       Use dynamic multi-threaded runtime (msvcrt.dll or msvc*NN.dll)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
#   /MTd      Use static multi-threaded runtime debug versions
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
#   /O1       Optimize for size (/Os), skips /Oi
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
#   /O2       Optimize for speed (/Ot), adds /Oi to /O1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
#   /Ox       Old "all optimizations flag" for VC6 (in /O1)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
#   /Oy       Use frame pointer register as GP reg (in /Ox and /O1)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
#   /GF       Merge string constants and put in read-only memory (in /O1)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
#   /Gy       Func level link (in /O1, allows for link-time func ordering)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    44
#   /Gs       Inserts stack probes (in /O1)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    45
#   /GS       Inserts security stack checks in some functions (VS2005 default)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    46
#   /Oi       Use intrinsics (in /O2)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    47
#   /Od       Disable all optimizations
20385
eb45334d783c 8007446: Add /MP to cl.exe speeds up windows builds of OpenJDK.
erikj
parents: 18936
diff changeset
    48
#   /MP       Use multiple cores for compilation
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    49
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    50
# NOTE: Normally following any of the above with a '-' will turn off that flag
230
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
    51
#
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
    52
# 6655385: For VS2003/2005 we now specify /Oy- (disable frame pointer
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
    53
# omission.)  This has little to no effect on performance while vastly
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
    54
# improving the quality of crash log stack traces involving jvm.dll.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    55
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
# These are always used in all compiles
33787
2fc5f5b34045 8141548: Hotspot Windows build should respect WARNINGS_AS_ERRORS
ihse
parents: 33094
diff changeset
    57
CXX_FLAGS=$(EXTRA_CFLAGS) /nologo /W3
2fc5f5b34045 8141548: Hotspot Windows build should respect WARNINGS_AS_ERRORS
ihse
parents: 33094
diff changeset
    58
2fc5f5b34045 8141548: Hotspot Windows build should respect WARNINGS_AS_ERRORS
ihse
parents: 33094
diff changeset
    59
!if "$(WARNINGS_AS_ERRORS)" != "false"
2fc5f5b34045 8141548: Hotspot Windows build should respect WARNINGS_AS_ERRORS
ihse
parents: 33094
diff changeset
    60
CXX_FLAGS=$(CXX_FLAGS) /WX
2fc5f5b34045 8141548: Hotspot Windows build should respect WARNINGS_AS_ERRORS
ihse
parents: 33094
diff changeset
    61
!endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    62
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 11721
diff changeset
    63
# Let's add debug information when Full Debug Symbols is enabled
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 11721
diff changeset
    64
!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
33094
f10fe3dec526 8027565: Enable /d2Zi+ when building with Visual Studio 2013
ctornqvi
parents: 30029
diff changeset
    65
CXX_FLAGS=$(CXX_FLAGS) /Zi /d2Zi+
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 11721
diff changeset
    66
!endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    67
489c9b5090e2 Initial load
duke
parents:
diff changeset
    68
# Based on BUILDARCH we add some flags and select the default compiler name
489c9b5090e2 Initial load
duke
parents:
diff changeset
    69
!if "$(BUILDARCH)" == "ia64"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    70
MACHINE=IA64
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    71
CXX_FLAGS=$(CXX_FLAGS) /D "CC_INTERP" /D "_LP64" /D "IA64"
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    72
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    73
489c9b5090e2 Initial load
duke
parents:
diff changeset
    74
!if "$(BUILDARCH)" == "amd64"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    75
MACHINE=AMD64
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    76
CXX_FLAGS=$(CXX_FLAGS) /D "_LP64" /D "AMD64"
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    77
LP64=1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    78
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
!if "$(BUILDARCH)" == "i486"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
MACHINE=I386
30029
1cea5275d091 8077590: windows_i586_6.2-product-c2-runThese8_Xcomp_vm failing after win compiler upgrade
neliasso
parents: 27467
diff changeset
    82
# VS2013 generates bad l2f without /arch:IA32
1cea5275d091 8077590: windows_i586_6.2-product-c2-runThese8_Xcomp_vm failing after win compiler upgrade
neliasso
parents: 27467
diff changeset
    83
CXX_FLAGS=$(CXX_FLAGS) /D "IA32" /arch:IA32
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    84
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    85
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    86
CXX_FLAGS=$(CXX_FLAGS) /D "WIN32" /D "_WINDOWS"
7452
b3fa838286de 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 5547
diff changeset
    87
# Must specify this for sharedRuntimeTrig.cpp
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    88
CXX_FLAGS=$(CXX_FLAGS) /D "VM_LITTLE_ENDIAN"
7452
b3fa838286de 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 5547
diff changeset
    89
b3fa838286de 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 5547
diff changeset
    90
# Used for platform dispatching
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    91
CXX_FLAGS=$(CXX_FLAGS) /D TARGET_OS_FAMILY_windows
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    92
CXX_FLAGS=$(CXX_FLAGS) /D TARGET_ARCH_$(Platform_arch)
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    93
CXX_FLAGS=$(CXX_FLAGS) /D TARGET_ARCH_MODEL_$(Platform_arch_model)
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    94
CXX_FLAGS=$(CXX_FLAGS) /D TARGET_OS_ARCH_windows_$(Platform_arch)
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    95
CXX_FLAGS=$(CXX_FLAGS) /D TARGET_OS_ARCH_MODEL_windows_$(Platform_arch_model)
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
    96
CXX_FLAGS=$(CXX_FLAGS) /D TARGET_COMPILER_visCPP
7452
b3fa838286de 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 5547
diff changeset
    97
b3fa838286de 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 5547
diff changeset
    98
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
    99
# MSC_VER is a 4 digit number that tells us what compiler is being used
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   100
#    and is generated when the local.make file is created by build.make
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   101
#    via the script get_msc_ver.sh
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   102
#
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   103
#    If MSC_VER is set, it overrides the above default setting.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   104
#    But it should be set.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   105
#    Possible values:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   106
#      1200 is for VC6
489c9b5090e2 Initial load
duke
parents:
diff changeset
   107
#      1300 and 1310 is VS2003 or VC7
489c9b5090e2 Initial load
duke
parents:
diff changeset
   108
#      1399 is our fake number for the VS2005 compiler that really isn't 1400
489c9b5090e2 Initial load
duke
parents:
diff changeset
   109
#      1400 is for VS2005
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   110
#      1500 is for VS2008
5377
bcf55c5acf4e 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3261
diff changeset
   111
#      1600 is for VS2010
18936
5e18fd279f7d 8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents: 17295
diff changeset
   112
#      1700 is for VS2012
25052
66e77563d9e7 8043492: ad_x86_64_misc.obj : error LNK2011: precompiled object not linked in; image may not run
ctornqvi
parents: 20670
diff changeset
   113
#      1800 is for VS2013
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   114
#    Do not confuse this MSC_VER with the predefined macro _MSC_VER that the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   115
#    compiler provides, when MSC_VER==1399, _MSC_VER will be 1400.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   116
#    Normally they are the same, but a pre-release of the VS2005 compilers
489c9b5090e2 Initial load
duke
parents:
diff changeset
   117
#    in the Windows 64bit Platform SDK said it was 1400 when it was really
489c9b5090e2 Initial load
duke
parents:
diff changeset
   118
#    closer to VS2003 in terms of option spellings, so we use 1399 for that
489c9b5090e2 Initial load
duke
parents:
diff changeset
   119
#    1400 version that really isn't 1400.
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   120
#    See the file get_msc_ver.sh for more info.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   121
489c9b5090e2 Initial load
duke
parents:
diff changeset
   122
# By default, we do not want to use the debug version of the msvcrt.dll file
489c9b5090e2 Initial load
duke
parents:
diff changeset
   123
#   but if MFC_DEBUG is defined in the environment it will be used.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   124
MS_RUNTIME_OPTION = /MD
489c9b5090e2 Initial load
duke
parents:
diff changeset
   125
!if "$(MFC_DEBUG)" == "true"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   126
MS_RUNTIME_OPTION = /MTd /D "_DEBUG"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   127
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   128
18936
5e18fd279f7d 8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents: 17295
diff changeset
   129
# VS2012 and later won't work with:
5e18fd279f7d 8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents: 17295
diff changeset
   130
#     /D _STATIC_CPPLIB /D _DISABLE_DEPRECATE_STATIC_CPPLIB
5e18fd279f7d 8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents: 17295
diff changeset
   131
!if "$(MSC_VER)" < "1700"
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   132
# Always add the _STATIC_CPPLIB flag
7697
7c49699784f0 6975480: VS2010 says _STATIC_CPPLIB is deprecated, may need to change this usage
zgu
parents: 5547
diff changeset
   133
STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB /D _DISABLE_DEPRECATE_STATIC_CPPLIB
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   134
MS_RUNTIME_OPTION = $(MS_RUNTIME_OPTION) $(STATIC_CPPLIB_OPTION)
18936
5e18fd279f7d 8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents: 17295
diff changeset
   135
!endif
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
   136
CXX_FLAGS=$(CXX_FLAGS) $(MS_RUNTIME_OPTION)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   137
5377
bcf55c5acf4e 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3261
diff changeset
   138
PRODUCT_OPT_OPTION   = /O2 /Oy-
bcf55c5acf4e 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3261
diff changeset
   139
FASTDEBUG_OPT_OPTION = /O2 /Oy-
bcf55c5acf4e 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3261
diff changeset
   140
DEBUG_OPT_OPTION     = /Od
bcf55c5acf4e 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3261
diff changeset
   141
GX_OPTION = /EHsc
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
   142
LD_FLAGS = /manifest $(LD_FLAGS)
20385
eb45334d783c 8007446: Add /MP to cl.exe speeds up windows builds of OpenJDK.
erikj
parents: 18936
diff changeset
   143
MP_FLAG = /MP
5377
bcf55c5acf4e 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3261
diff changeset
   144
# Manifest Tool - used in VS2005 and later to adjust manifests stored
bcf55c5acf4e 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3261
diff changeset
   145
# as resources inside build artifacts.
11955
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11721
diff changeset
   146
!if "x$(MT)" == "x"
5377
bcf55c5acf4e 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3261
diff changeset
   147
MT=mt.exe
11955
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11721
diff changeset
   148
!endif
8482
2c8eb211176d 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 8303
diff changeset
   149
!if "$(BUILDARCH)" == "i486"
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
   150
LD_FLAGS = /SAFESEH $(LD_FLAGS)
8482
2c8eb211176d 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 8303
diff changeset
   151
!endif
18936
5e18fd279f7d 8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents: 17295
diff changeset
   152
20385
eb45334d783c 8007446: Add /MP to cl.exe speeds up windows builds of OpenJDK.
erikj
parents: 18936
diff changeset
   153
CXX_FLAGS = $(CXX_FLAGS) $(MP_FLAG)
eb45334d783c 8007446: Add /MP to cl.exe speeds up windows builds of OpenJDK.
erikj
parents: 18936
diff changeset
   154
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
# If NO_OPTIMIZATIONS is defined in the environment, turn everything off
489c9b5090e2 Initial load
duke
parents:
diff changeset
   156
!ifdef NO_OPTIMIZATIONS
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
PRODUCT_OPT_OPTION   = $(DEBUG_OPT_OPTION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   158
FASTDEBUG_OPT_OPTION = $(DEBUG_OPT_OPTION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   159
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   160
489c9b5090e2 Initial load
duke
parents:
diff changeset
   161
# Generic linker settings
11955
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11721
diff changeset
   162
!if "x$(LD)" == "x"
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
   163
LD=link.exe
11955
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11721
diff changeset
   164
!endif
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
   165
LD_FLAGS= $(LD_FLAGS) kernel32.lib user32.lib gdi32.lib winspool.lib \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   166
 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
27467
cdc1d5bc86cf 8059803: Update use of GetVersionEx to get correct Windows version in hs_err files
ctornqvi
parents: 25052
diff changeset
   167
 uuid.lib Wsock32.lib winmm.lib version.lib /nologo /machine:$(MACHINE) /opt:REF \
12501
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 11721
diff changeset
   168
 /opt:ICF,8
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 11721
diff changeset
   169
!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 11721
diff changeset
   170
LD_FLAGS= $(LD_FLAGS) /map /debug
ea7feae692ae 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 11721
diff changeset
   171
!endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
10246
adee0cf4c981 7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents: 8482
diff changeset
   173
33957
39113ae98993 8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents: 30029
diff changeset
   174
!if $(MSC_VER) >= 1600
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
   175
LD_FLAGS= $(LD_FLAGS) psapi.lib
10246
adee0cf4c981 7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents: 8482
diff changeset
   176
!endif
adee0cf4c981 7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents: 8482
diff changeset
   177
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
# Resource compiler settings
11955
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11721
diff changeset
   179
!if "x$(RC)" == "x"
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   180
RC=rc.exe
11955
aeca8151886e 7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents: 11721
diff changeset
   181
!endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   182
RC_FLAGS=/D "HS_VER=$(HS_VER)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   183
	 /D "HS_DOTVER=$(HS_DOTVER)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   184
	 /D "HS_BUILD_ID=$(HS_BUILD_ID)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   185
	 /D "JDK_VER=$(JDK_VER)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   186
	 /D "JDK_DOTVER=$(JDK_DOTVER)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   187
	 /D "HS_COMPANY=$(HS_COMPANY)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   188
	 /D "HS_FILEDESC=$(HS_FILEDESC)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   189
	 /D "HS_COPYRIGHT=$(HS_COPYRIGHT)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   190
	 /D "HS_FNAME=$(HS_FNAME)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   191
	 /D "HS_INTERNAL_NAME=$(HS_INTERNAL_NAME)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   192
	 /D "HS_NAME=$(HS_NAME)"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   193
11721
dcd1f62c9caf 7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents: 10246
diff changeset
   194
# Need this to match the CXX_FLAGS settings
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   195
!if "$(MFC_DEBUG)" == "true"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   196
RC_FLAGS = $(RC_FLAGS) /D "_DEBUG"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   197
!endif