1 #
   2 # Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   7 # published by the Free Software Foundation.
   8 #
   9 # This code is distributed in the hope that it will be useful, but WITHOUT
  10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12 # version 2 for more details (a copy is included in the LICENSE file that
  13 # accompanied this code).
  14 #
  15 # You should have received a copy of the GNU General Public License version
  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 #
  24 
  25 HS_INTERNAL_NAME=jvm
  26 HS_FNAME=$(HS_INTERNAL_NAME).dll
  27 AOUT=$(HS_FNAME)
  28 SAWINDBG=sawindbg.dll
  29 GENERATED=../generated
  30 
  31 # Allow the user to turn off precompiled headers from the command line.
  32 !if "$(USE_PRECOMPILED_HEADER)" != "0"
  33 BUILD_PCH_FILE=_build_pch_file.obj
  34 !endif
  35 
  36 default:: $(BUILD_PCH_FILE) $(AOUT) checkAndBuildSA
  37 
  38 !include ../local.make
  39 !include compile.make
  40 
  41 # _NMT_NOINLINE_ informs NMT that no inlining by Compiler
  42 CXX_FLAGS=$(CXX_FLAGS) $(DEBUG_OPT_OPTION) /D "_NMT_NOINLINE_"
  43 
  44 !include $(WorkSpace)/make/windows/makefiles/vm.make
  45 !include local.make
  46 
  47 HS_BUILD_ID=$(HOTSPOT_VERSION_STRING)-debug
  48 
  49 # Force resources to be rebuilt every time
  50 $(Res_Files): FORCE
  51 
  52 $(AOUT): $(Res_Files) $(Obj_Files) vm.def
  53         $(LD) @<<
  54   $(LD_FLAGS) /out:$@ /implib:$*.lib /def:vm.def $(Obj_Files) $(Res_Files)
  55 <<
  56 !if "$(MT)" != ""
  57 # The previous link command created a .manifest file that we want to
  58 # insert into the linked artifact so we do not need to track it
  59 # separately.  Use ";#2" for .dll and ";#1" for .exe:
  60         $(MT) /manifest $@.manifest /outputresource:$@;#2
  61 !endif
  62 !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
  63 !if "$(ZIP_DEBUGINFO_FILES)" == "1"
  64         $(ZIPEXE) -q $*.diz $*.map $*.pdb
  65         $(RM) $*.map $*.pdb
  66 !endif
  67 !endif
  68 
  69 !include $(WorkSpace)/make/windows/makefiles/shared.make
  70 !include $(WorkSpace)/make/windows/makefiles/sa.make