1 #
   2 # Copyright (c) 2005, 2012, 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 GENERATED=../generated
  29 
  30 # Allow the user to turn off precompiled headers from the command line.
  31 !if "$(USE_PRECOMPILED_HEADER)" != "0"
  32 BUILD_PCH_FILE=_build_pch_file.obj
  33 !endif
  34 
  35 default:: $(BUILD_PCH_FILE) $(AOUT) launcher checkAndBuildSA wb
  36 
  37 !include ../local.make
  38 !include compile.make
  39 
  40 CXX_FLAGS=$(CXX_FLAGS) $(PRODUCT_OPT_OPTION)
  41 
  42 RELEASE=
  43 
  44 RC_FLAGS=$(RC_FLAGS) /D "NDEBUG"
  45 
  46 !include $(WorkSpace)/make/windows/makefiles/vm.make
  47 !include local.make
  48 
  49 HS_BUILD_ID=$(HS_BUILD_VER)
  50 
  51 # Force resources to be rebuilt every time
  52 $(Res_Files): FORCE
  53 
  54 # Kernel doesn't need exported vtbl symbols.
  55 !if "$(Variant)" == "kernel"
  56 $(AOUT): $(Res_Files) $(Obj_Files)
  57         $(LD) @<<
  58   $(LD_FLAGS) /out:$@ /implib:$*.lib $(Obj_Files) $(Res_Files)
  59 <<
  60 !else
  61 vm.def: $(Obj_Files)
  62         sh $(WorkSpace)/make/windows/build_vm_def.sh
  63 
  64 $(AOUT): $(Res_Files) $(Obj_Files) vm.def
  65         $(LD) @<<
  66   $(LD_FLAGS) /out:$@ /implib:$*.lib /def:vm.def $(Obj_Files) $(Res_Files)
  67 <<
  68 !endif
  69 !if "$(MT)" != ""
  70 # The previous link command created a .manifest file that we want to
  71 # insert into the linked artifact so we do not need to track it
  72 # separately.  Use ";#2" for .dll and ";#1" for .exe:
  73         $(MT) /manifest $@.manifest /outputresource:$@;#2
  74 !endif
  75 
  76 !include $(WorkSpace)/make/windows/makefiles/shared.make
  77 !include $(WorkSpace)/make/windows/makefiles/sa.make
  78 !include $(WorkSpace)/make/windows/makefiles/launcher.make
  79 !include $(WorkSpace)/make/windows/makefiles/wb.make