make/windows/build.make

Print this page




  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 # Note: this makefile is invoked both from build.bat and from the J2SE
  26 # control workspace in exactly the same manner; the required
  27 # environment variables (Variant, WorkSpace, BootStrapDir, BuildUser, HOTSPOT_BUILD_VERSION)
  28 # are passed in as command line arguments.
  29 
  30 # Note: Running nmake or build.bat from the Windows command shell requires
  31 # that "sh" be accessible on the PATH. An MKS install does this.
  32 
  33 # SA components are built if BUILD_WIN_SA=1 is specified.
  34 # See notes in README. This produces files:
  35 #  1. sa-jdi.jar       - This is built before building jvm.dll
  36 #  2. sawindbg[_g].dll - Native library for SA - This is built after jvm.dll
  37 #                      - Also, .lib, .map, .pdb.
  38 #
  39 # Please refer to ./makefiles/sa.make
  40 
  41 # If we haven't set an ARCH yet use x86
  42 # create.bat and build.bat will set it, if used.
  43 !ifndef ARCH
  44 ARCH=x86
  45 !endif
  46 
  47 
  48 # Must be one of these values (if value comes in from env, can't trust it)
  49 !if "$(ARCH)" != "x86"
  50 !if "$(ARCH)" != "ia64"
  51 ARCH=x86
  52 !endif
  53 !endif
  54 
  55 # At this point we should be certain that ARCH has a definition
  56 # now determine the BUILDARCH


  98 variantDir = windows_$(BUILDARCH)_$(Variant)
  99 
 100 realVariant=$(Variant)
 101 VARIANT_TEXT=Core
 102 !if "$(Variant)" == "compiler1"
 103 VARIANT_TEXT=Client
 104 !elseif "$(Variant)" == "compiler2"
 105 !if "$(FORCE_TIERED)" == "1"
 106 VARIANT_TEXT=Server
 107 realVariant=tiered
 108 !else
 109 VARIANT_TEXT=Server
 110 !endif
 111 !elseif "$(Variant)" == "tiered"
 112 VARIANT_TEXT=Tiered
 113 !elseif "$(Variant)" == "kernel"
 114 VARIANT_TEXT=Kernel
 115 !endif
 116 
 117 #########################################################################
 118 # Parameters for VERSIONINFO resource for jvm[_g].dll.
 119 # These can be overridden via the nmake.exe command line.
 120 # They are overridden by RE during the control builds.
 121 #
 122 !include "$(WorkSpace)/make/hotspot_version"
 123 
 124 # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro
 125 # or make/hotspot_distro.
 126 !ifndef HOTSPOT_VM_DISTRO
 127 !if exists($(WorkSpace)\src\closed)
 128 
 129 # if the build is for JDK6 or earlier version, it should include jdk6_hotspot_distro,
 130 # instead of hotspot_distro.
 131 JDK6_OR_EARLIER=0
 132 !if "$(JDK_MAJOR_VERSION)" != "" && "$(JDK_MINOR_VERSION)" != "" && "$(JDK_MICRO_VERSION)" != ""
 133 !if $(JDK_MAJOR_VERSION) == 1 && $(JDK_MINOR_VERSION) < 7
 134 JDK6_OR_EARLIER=1
 135 !endif
 136 !else
 137 !if $(JDK_MAJOR_VER) == 1 && $(JDK_MINOR_VER) < 7
 138 JDK6_OR_EARLIER=1


 208 # and the .dlls are in different places than
 209 # they are for Vis Studio .Net 2003.
 210 # If that code ever needs to be resurrected, these vars
 211 # can be set here.  They are used in makefiles/sa.make.
 212 
 213 checkSA::
 214 
 215 !if "$(BUILD_WIN_SA)" != "1"
 216 checkSA::
 217         @echo     Not building SA:  BUILD_WIN_SA != 1
 218 
 219 !elseif "$(ARCH)" == "ia64"
 220 BUILD_WIN_SA = 0
 221 checkSA::
 222         @echo     Not building SA:  ARCH = ia64
 223 
 224 !endif  # ! "$(BUILD_WIN_SA)" != "1"
 225 
 226 #########################################################################
 227 
 228 # With the jvm_g.dll now being named jvm.dll, we can't build both and place
 229 #   the dll's in the same directory, so we only build one at a time,
 230 #   re-directing the output to different output directories (done by user
 231 #   of this makefile).
 232 #
 233 defaultTarget: product
 234 
 235 # The product or release build is an optimized build, and is the default
 236 
 237 # note that since all the build targets depend on local.make that BUILDARCH
 238 # and Platform_arch and Platform_arch_model will get set in local.make
 239 # and there is no need to pass them thru here on the command line
 240 #
 241 product release optimized: checks $(variantDir) $(variantDir)\local.make sanity
 242         cd $(variantDir)
 243         nmake -nologo -f $(WorkSpace)\make\windows\makefiles\top.make BUILD_FLAVOR=product ARCH=$(ARCH)
 244 
 245 # The debug or jvmg (all the same thing) is an optional build
 246 debug jvmg: checks $(variantDir) $(variantDir)\local.make sanity
 247         cd $(variantDir)
 248         nmake -nologo -f $(WorkSpace)\make\windows\makefiles\top.make BUILD_FLAVOR=debug ARCH=$(ARCH)
 249 fastdebug: checks $(variantDir) $(variantDir)\local.make sanity
 250         cd $(variantDir)
 251         nmake -nologo -f $(WorkSpace)\make\windows\makefiles\top.make BUILD_FLAVOR=fastdebug ARCH=$(ARCH)
 252 




  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 # Note: this makefile is invoked both from build.bat and from the J2SE
  26 # control workspace in exactly the same manner; the required
  27 # environment variables (Variant, WorkSpace, BootStrapDir, BuildUser, HOTSPOT_BUILD_VERSION)
  28 # are passed in as command line arguments.
  29 
  30 # Note: Running nmake or build.bat from the Windows command shell requires
  31 # that "sh" be accessible on the PATH. An MKS install does this.
  32 
  33 # SA components are built if BUILD_WIN_SA=1 is specified.
  34 # See notes in README. This produces files:
  35 #  1. sa-jdi.jar       - This is built before building jvm.dll
  36 #  2. sawindbg.dll     - Native library for SA - This is built after jvm.dll
  37 #                      - Also, .lib, .map, .pdb.
  38 #
  39 # Please refer to ./makefiles/sa.make
  40 
  41 # If we haven't set an ARCH yet use x86
  42 # create.bat and build.bat will set it, if used.
  43 !ifndef ARCH
  44 ARCH=x86
  45 !endif
  46 
  47 
  48 # Must be one of these values (if value comes in from env, can't trust it)
  49 !if "$(ARCH)" != "x86"
  50 !if "$(ARCH)" != "ia64"
  51 ARCH=x86
  52 !endif
  53 !endif
  54 
  55 # At this point we should be certain that ARCH has a definition
  56 # now determine the BUILDARCH


  98 variantDir = windows_$(BUILDARCH)_$(Variant)
  99 
 100 realVariant=$(Variant)
 101 VARIANT_TEXT=Core
 102 !if "$(Variant)" == "compiler1"
 103 VARIANT_TEXT=Client
 104 !elseif "$(Variant)" == "compiler2"
 105 !if "$(FORCE_TIERED)" == "1"
 106 VARIANT_TEXT=Server
 107 realVariant=tiered
 108 !else
 109 VARIANT_TEXT=Server
 110 !endif
 111 !elseif "$(Variant)" == "tiered"
 112 VARIANT_TEXT=Tiered
 113 !elseif "$(Variant)" == "kernel"
 114 VARIANT_TEXT=Kernel
 115 !endif
 116 
 117 #########################################################################
 118 # Parameters for VERSIONINFO resource for jvm.dll.
 119 # These can be overridden via the nmake.exe command line.
 120 # They are overridden by RE during the control builds.
 121 #
 122 !include "$(WorkSpace)/make/hotspot_version"
 123 
 124 # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro
 125 # or make/hotspot_distro.
 126 !ifndef HOTSPOT_VM_DISTRO
 127 !if exists($(WorkSpace)\src\closed)
 128 
 129 # if the build is for JDK6 or earlier version, it should include jdk6_hotspot_distro,
 130 # instead of hotspot_distro.
 131 JDK6_OR_EARLIER=0
 132 !if "$(JDK_MAJOR_VERSION)" != "" && "$(JDK_MINOR_VERSION)" != "" && "$(JDK_MICRO_VERSION)" != ""
 133 !if $(JDK_MAJOR_VERSION) == 1 && $(JDK_MINOR_VERSION) < 7
 134 JDK6_OR_EARLIER=1
 135 !endif
 136 !else
 137 !if $(JDK_MAJOR_VER) == 1 && $(JDK_MINOR_VER) < 7
 138 JDK6_OR_EARLIER=1


 208 # and the .dlls are in different places than
 209 # they are for Vis Studio .Net 2003.
 210 # If that code ever needs to be resurrected, these vars
 211 # can be set here.  They are used in makefiles/sa.make.
 212 
 213 checkSA::
 214 
 215 !if "$(BUILD_WIN_SA)" != "1"
 216 checkSA::
 217         @echo     Not building SA:  BUILD_WIN_SA != 1
 218 
 219 !elseif "$(ARCH)" == "ia64"
 220 BUILD_WIN_SA = 0
 221 checkSA::
 222         @echo     Not building SA:  ARCH = ia64
 223 
 224 !endif  # ! "$(BUILD_WIN_SA)" != "1"
 225 
 226 #########################################################################
 227 





 228 defaultTarget: product
 229 
 230 # The product or release build is an optimized build, and is the default
 231 
 232 # note that since all the build targets depend on local.make that BUILDARCH
 233 # and Platform_arch and Platform_arch_model will get set in local.make
 234 # and there is no need to pass them thru here on the command line
 235 #
 236 product release optimized: checks $(variantDir) $(variantDir)\local.make sanity
 237         cd $(variantDir)
 238         nmake -nologo -f $(WorkSpace)\make\windows\makefiles\top.make BUILD_FLAVOR=product ARCH=$(ARCH)
 239 
 240 # The debug or jvmg (all the same thing) is an optional build
 241 debug jvmg: checks $(variantDir) $(variantDir)\local.make sanity
 242         cd $(variantDir)
 243         nmake -nologo -f $(WorkSpace)\make\windows\makefiles\top.make BUILD_FLAVOR=debug ARCH=$(ARCH)
 244 fastdebug: checks $(variantDir) $(variantDir)\local.make sanity
 245         cd $(variantDir)
 246         nmake -nologo -f $(WorkSpace)\make\windows\makefiles\top.make BUILD_FLAVOR=fastdebug ARCH=$(ARCH)
 247