hotspot/make/windows/makefiles/compile.make
author xdono
Thu, 16 Apr 2009 19:10:32 -0700
changeset 2543 825f6628794a
parent 2271 ff6d122287cb
child 3261 c7d5aae8d3f7
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
#
670
ddf3e9583f2f 6719955: Update copyright year
xdono
parents: 338
diff changeset
     2
# Copyright 1997-2008 Sun Microsystems, Inc.  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
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    19
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    20
# CA 95054 USA or visit www.sun.com if you need additional information or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    21
# have any questions.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
#  
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
489c9b5090e2 Initial load
duke
parents:
diff changeset
    26
CPP=cl.exe
489c9b5090e2 Initial load
duke
parents:
diff changeset
    27
489c9b5090e2 Initial load
duke
parents:
diff changeset
    28
# CPP Flags: (these vary slightly from VC6->VS2003->VS2005 compilers)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
#   /nologo   Supress copyright message at every cl.exe startup
489c9b5090e2 Initial load
duke
parents:
diff changeset
    30
#   /W3       Warning level 3
489c9b5090e2 Initial load
duke
parents:
diff changeset
    31
#   /Zi       Include debugging information
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
#   /WX       Treat any warning error as a fatal error
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
    33
#   /MD       Use dynamic multi-threaded runtime (msvcrt.dll or msvc*NN.dll)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
#   /MTd      Use static multi-threaded runtime debug versions
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
#   /O1       Optimize for size (/Os), skips /Oi
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
#   /O2       Optimize for speed (/Ot), adds /Oi to /O1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
#   /Ox       Old "all optimizations flag" for VC6 (in /O1)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
#   /Oy       Use frame pointer register as GP reg (in /Ox and /O1)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
#   /GF       Merge string constants and put in read-only memory (in /O1)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
#   /Gy       Func level link (in /O1, allows for link-time func ordering)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
#   /Gs       Inserts stack probes (in /O1)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
#   /GS       Inserts security stack checks in some functions (VS2005 default)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
#   /Oi       Use intrinsics (in /O2)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    44
#   /Od       Disable all optimizations
489c9b5090e2 Initial load
duke
parents:
diff changeset
    45
#
489c9b5090e2 Initial load
duke
parents:
diff changeset
    46
# 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
    47
#
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
    48
# 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
    49
# 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
    50
# improving the quality of crash log stack traces involving jvm.dll.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    51
489c9b5090e2 Initial load
duke
parents:
diff changeset
    52
# These are always used in all compiles
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
CPP_FLAGS=/nologo /W3 /WX
489c9b5090e2 Initial load
duke
parents:
diff changeset
    54
489c9b5090e2 Initial load
duke
parents:
diff changeset
    55
# Let's add debug information always too.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
CPP_FLAGS=$(CPP_FLAGS) /Zi
489c9b5090e2 Initial load
duke
parents:
diff changeset
    57
489c9b5090e2 Initial load
duke
parents:
diff changeset
    58
# Based on BUILDARCH we add some flags and select the default compiler name
489c9b5090e2 Initial load
duke
parents:
diff changeset
    59
!if "$(BUILDARCH)" == "ia64"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    60
MACHINE=IA64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    61
DEFAULT_COMPILER_NAME=VS2003
489c9b5090e2 Initial load
duke
parents:
diff changeset
    62
CPP_FLAGS=$(CPP_FLAGS) /D "CC_INTERP" /D "_LP64" /D "IA64"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    63
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    65
!if "$(BUILDARCH)" == "amd64"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    66
MACHINE=AMD64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    67
DEFAULT_COMPILER_NAME=VS2005
489c9b5090e2 Initial load
duke
parents:
diff changeset
    68
CPP_FLAGS=$(CPP_FLAGS) /D "_LP64" /D "AMD64"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    69
LP64=1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    70
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    71
489c9b5090e2 Initial load
duke
parents:
diff changeset
    72
!if "$(BUILDARCH)" == "i486"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    73
MACHINE=I386
489c9b5090e2 Initial load
duke
parents:
diff changeset
    74
DEFAULT_COMPILER_NAME=VS2003
489c9b5090e2 Initial load
duke
parents:
diff changeset
    75
CPP_FLAGS=$(CPP_FLAGS) /D "IA32"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    76
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    77
489c9b5090e2 Initial load
duke
parents:
diff changeset
    78
# Sanity check, this is the default if not amd64, ia64, or i486
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
!ifndef DEFAULT_COMPILER_NAME
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
CPP=ARCH_ERROR
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    82
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
    83
# 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
    84
#    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
    85
#    via the script get_msc_ver.sh
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
    86
#
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    87
#    If MSC_VER is set, it overrides the above default setting.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    88
#    But it should be set.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    89
#    Possible values:
489c9b5090e2 Initial load
duke
parents:
diff changeset
    90
#      1200 is for VC6
489c9b5090e2 Initial load
duke
parents:
diff changeset
    91
#      1300 and 1310 is VS2003 or VC7
489c9b5090e2 Initial load
duke
parents:
diff changeset
    92
#      1399 is our fake number for the VS2005 compiler that really isn't 1400
489c9b5090e2 Initial load
duke
parents:
diff changeset
    93
#      1400 is for VS2005
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
    94
#      1500 is for VS2008
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    95
#    Do not confuse this MSC_VER with the predefined macro _MSC_VER that the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    96
#    compiler provides, when MSC_VER==1399, _MSC_VER will be 1400.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    97
#    Normally they are the same, but a pre-release of the VS2005 compilers
489c9b5090e2 Initial load
duke
parents:
diff changeset
    98
#    in the Windows 64bit Platform SDK said it was 1400 when it was really
489c9b5090e2 Initial load
duke
parents:
diff changeset
    99
#    closer to VS2003 in terms of option spellings, so we use 1399 for that
489c9b5090e2 Initial load
duke
parents:
diff changeset
   100
#    1400 version that really isn't 1400.
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   101
#    See the file get_msc_ver.sh for more info.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   102
!if "x$(MSC_VER)" == "x"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   103
COMPILER_NAME=$(DEFAULT_COMPILER_NAME)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   104
!else
489c9b5090e2 Initial load
duke
parents:
diff changeset
   105
!if "$(MSC_VER)" == "1200"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   106
COMPILER_NAME=VC6
489c9b5090e2 Initial load
duke
parents:
diff changeset
   107
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   108
!if "$(MSC_VER)" == "1300"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   109
COMPILER_NAME=VS2003
489c9b5090e2 Initial load
duke
parents:
diff changeset
   110
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   111
!if "$(MSC_VER)" == "1310"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   112
COMPILER_NAME=VS2003
489c9b5090e2 Initial load
duke
parents:
diff changeset
   113
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   114
!if "$(MSC_VER)" == "1399"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   115
# Compiler might say 1400, but if it's 14.00.30701, it isn't really VS2005
489c9b5090e2 Initial load
duke
parents:
diff changeset
   116
COMPILER_NAME=VS2003
489c9b5090e2 Initial load
duke
parents:
diff changeset
   117
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   118
!if "$(MSC_VER)" == "1400"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   119
COMPILER_NAME=VS2005
489c9b5090e2 Initial load
duke
parents:
diff changeset
   120
!endif
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   121
!if "$(MSC_VER)" == "1500"
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   122
COMPILER_NAME=VS2008
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   123
!endif
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   124
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   125
489c9b5090e2 Initial load
duke
parents:
diff changeset
   126
# Add what version of the compiler we think this is to the compile line
489c9b5090e2 Initial load
duke
parents:
diff changeset
   127
CPP_FLAGS=$(CPP_FLAGS) /D "MSC_VER=$(MSC_VER)"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   128
489c9b5090e2 Initial load
duke
parents:
diff changeset
   129
# By default, we do not want to use the debug version of the msvcrt.dll file
489c9b5090e2 Initial load
duke
parents:
diff changeset
   130
#   but if MFC_DEBUG is defined in the environment it will be used.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   131
MS_RUNTIME_OPTION = /MD
489c9b5090e2 Initial load
duke
parents:
diff changeset
   132
!if "$(MFC_DEBUG)" == "true"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   133
MS_RUNTIME_OPTION = /MTd /D "_DEBUG"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   134
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   135
489c9b5090e2 Initial load
duke
parents:
diff changeset
   136
# Always add the _STATIC_CPPLIB flag
489c9b5090e2 Initial load
duke
parents:
diff changeset
   137
STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB
489c9b5090e2 Initial load
duke
parents:
diff changeset
   138
MS_RUNTIME_OPTION = $(MS_RUNTIME_OPTION) $(STATIC_CPPLIB_OPTION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   139
CPP_FLAGS=$(CPP_FLAGS) $(MS_RUNTIME_OPTION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   140
489c9b5090e2 Initial load
duke
parents:
diff changeset
   141
# How /GX option is spelled
489c9b5090e2 Initial load
duke
parents:
diff changeset
   142
GX_OPTION = /GX
489c9b5090e2 Initial load
duke
parents:
diff changeset
   143
489c9b5090e2 Initial load
duke
parents:
diff changeset
   144
# Optimization settings for various versions of the compilers and types of
489c9b5090e2 Initial load
duke
parents:
diff changeset
   145
#    builds. Three basic sets of settings: product, fastdebug, and debug.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   146
#    These get added into CPP_FLAGS as needed by other makefiles.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   147
!if "$(COMPILER_NAME)" == "VC6"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   148
PRODUCT_OPT_OPTION   = /Ox /Os /Gy /GF
489c9b5090e2 Initial load
duke
parents:
diff changeset
   149
FASTDEBUG_OPT_OPTION = /Ox /Os /Gy /GF
489c9b5090e2 Initial load
duke
parents:
diff changeset
   150
DEBUG_OPT_OPTION     = /Od
489c9b5090e2 Initial load
duke
parents:
diff changeset
   151
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   152
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
!if "$(COMPILER_NAME)" == "VS2003"
230
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
   154
PRODUCT_OPT_OPTION   = /O2 /Oy-
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
   155
FASTDEBUG_OPT_OPTION = /O2 /Oy-
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   156
DEBUG_OPT_OPTION     = /Od
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   158
489c9b5090e2 Initial load
duke
parents:
diff changeset
   159
!if "$(COMPILER_NAME)" == "VS2005"
230
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
   160
PRODUCT_OPT_OPTION   = /O2 /Oy-
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
   161
FASTDEBUG_OPT_OPTION = /O2 /Oy-
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   162
DEBUG_OPT_OPTION     = /Od
489c9b5090e2 Initial load
duke
parents:
diff changeset
   163
GX_OPTION = /EHsc
489c9b5090e2 Initial load
duke
parents:
diff changeset
   164
# This VS2005 compiler has /GS as a default and requires bufferoverflowU.lib 
489c9b5090e2 Initial load
duke
parents:
diff changeset
   165
#    on the link command line, otherwise we get missing __security_check_cookie
489c9b5090e2 Initial load
duke
parents:
diff changeset
   166
#    externals at link time. Even with /GS-, you need bufferoverflowU.lib.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   167
#    NOTE: Currently we decided to not use /GS-
489c9b5090e2 Initial load
duke
parents:
diff changeset
   168
BUFFEROVERFLOWLIB = bufferoverflowU.lib
1546
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   169
LINK_FLAGS = /manifest $(LINK_FLAGS) $(BUFFEROVERFLOWLIB)
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   170
# Manifest Tool - used in VS2005 and later to adjust manifests stored
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   171
# as resources inside build artifacts.
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   172
MT=mt.exe
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   173
!endif
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   174
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   175
!if "$(COMPILER_NAME)" == "VS2008"
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   176
PRODUCT_OPT_OPTION   = /O2 /Oy-
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   177
FASTDEBUG_OPT_OPTION = /O2 /Oy-
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   178
DEBUG_OPT_OPTION     = /Od
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   179
GX_OPTION = /EHsc
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   180
LINK_FLAGS = /manifest $(LINK_FLAGS)
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   181
# Manifest Tool - used in VS2005 and later to adjust manifests stored
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   182
# as resources inside build artifacts.
a02228c60567 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 670
diff changeset
   183
MT=mt.exe
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   184
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   185
489c9b5090e2 Initial load
duke
parents:
diff changeset
   186
# Compile for space above time.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   187
!if "$(Variant)" == "kernel"
230
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
   188
PRODUCT_OPT_OPTION   = /O1 /Oy-
b4ebad8ef528 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 1
diff changeset
   189
FASTDEBUG_OPT_OPTION = /O1 /Oy-
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   190
DEBUG_OPT_OPTION     = /Od
489c9b5090e2 Initial load
duke
parents:
diff changeset
   191
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   192
489c9b5090e2 Initial load
duke
parents:
diff changeset
   193
# If NO_OPTIMIZATIONS is defined in the environment, turn everything off
489c9b5090e2 Initial load
duke
parents:
diff changeset
   194
!ifdef NO_OPTIMIZATIONS
489c9b5090e2 Initial load
duke
parents:
diff changeset
   195
PRODUCT_OPT_OPTION   = $(DEBUG_OPT_OPTION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   196
FASTDEBUG_OPT_OPTION = $(DEBUG_OPT_OPTION)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   197
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   198
489c9b5090e2 Initial load
duke
parents:
diff changeset
   199
# Generic linker settings
489c9b5090e2 Initial load
duke
parents:
diff changeset
   200
LINK=link.exe
489c9b5090e2 Initial load
duke
parents:
diff changeset
   201
LINK_FLAGS= $(LINK_FLAGS) kernel32.lib user32.lib gdi32.lib winspool.lib \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   202
 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   203
 uuid.lib Wsock32.lib winmm.lib /nologo /machine:$(MACHINE) /opt:REF \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   204
 /opt:ICF,8 /map /debug
489c9b5090e2 Initial load
duke
parents:
diff changeset
   205
489c9b5090e2 Initial load
duke
parents:
diff changeset
   206
# Resource compiler settings
489c9b5090e2 Initial load
duke
parents:
diff changeset
   207
RC=rc.exe
489c9b5090e2 Initial load
duke
parents:
diff changeset
   208
RC_FLAGS=/D "HS_VER=$(HS_VER)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   209
	 /D "HS_DOTVER=$(HS_DOTVER)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   210
	 /D "HS_BUILD_ID=$(HS_BUILD_ID)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   211
	 /D "JDK_VER=$(JDK_VER)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   212
	 /D "JDK_DOTVER=$(JDK_DOTVER)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   213
	 /D "HS_COMPANY=$(HS_COMPANY)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   214
	 /D "HS_FILEDESC=$(HS_FILEDESC)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   215
	 /D "HS_COPYRIGHT=$(HS_COPYRIGHT)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   216
	 /D "HS_FNAME=$(HS_FNAME)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   217
	 /D "HS_INTERNAL_NAME=$(HS_INTERNAL_NAME)" \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   218
	 /D "HS_NAME=$(HS_NAME)"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   219
489c9b5090e2 Initial load
duke
parents:
diff changeset
   220
# Need this to match the CPP_FLAGS settings
489c9b5090e2 Initial load
duke
parents:
diff changeset
   221
!if "$(MFC_DEBUG)" == "true"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   222
RC_FLAGS = $(RC_FLAGS) /D "_DEBUG"
489c9b5090e2 Initial load
duke
parents:
diff changeset
   223
!endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   224