Makefile revision 4349
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# This code is free software; you can redistribute it and/or modify it
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# under the terms of the GNU General Public License version 2 only, as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# published by the Free Software Foundation.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# This code is distributed in the hope that it will be useful, but WITHOUT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# version 2 for more details (a copy is included in the LICENSE file that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# accompanied this code).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You should have received a copy of the GNU General Public License version
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# 2 along with this work; if not, write to the Free Software Foundation,
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# or visit www.oracle.com if you need additional information or have any
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# questions.
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!ifdef LOCAL_MAKE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!include $(LOCAL_MAKE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!endif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinWorkSpace=$(HOTSPOTWORKSPACE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!ifdef ALT_BOOTDIR
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBootStrapDir=$(ALT_BOOTDIR)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!ifdef BOOTDIR
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBootStrapDir=$(BOOTDIR)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!ifdef JAVA_HOME
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBootStrapDir=$(JAVA_HOME)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!ifdef HOTSPOTJDKDIST
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBootStrapDir=$(HOTSPOTJDKDIST)
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User!endif
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!endif
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews!endif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!endif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# if hotspot-only build and/or OPENJDK isn't passed down, need to set OPENJDK
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!ifndef OPENJDK
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!if !exists($(WorkSpace)\src\closed)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOPENJDK=true
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!endif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!endif
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!include $(HOTSPOTWORKSPACE)/make/windows/makefiles/projectcreator.make
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!include $(WorkSpace)/make/windows/makefiles/compile.make
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# Pick up rules for building JVMTI (JSR-163)
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserJvmtiOutDir=$(HOTSPOTBUILDSPACE)\$(Variant)\generated\jvmtifiles
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!include $(HOTSPOTWORKSPACE)/make/windows/makefiles/jvmti.make
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# Pick up rules for building trace
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserTraceOutDir=$(HOTSPOTBUILDSPACE)\$(Variant)\generated\tracefiles
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!include $(HOTSPOTWORKSPACE)/make/windows/makefiles/trace.make
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews!if "$(Variant)" == "compiler2"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Pick up rules for building adlc
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!include $(HOTSPOTWORKSPACE)/make/windows/makefiles/adlc.make
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!endif
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!if "$(Variant)" == "tiered"
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# Pick up rules for building adlc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!include $(HOTSPOTWORKSPACE)/make/windows/makefiles/adlc.make
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!endif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHS_INTERNAL_NAME=jvm
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!include $(HOTSPOTWORKSPACE)/make/windows/makefiles/launcher.make
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox Userdefault:: $(AdditionalTargets) $(JvmtiGeneratedFiles) $(TraceGeneratedFiles)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!include $(HOTSPOTWORKSPACE)/make/hotspot_version
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!if "$(USER_RELEASE_SUFFIX)" != ""
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserHOTSPOT_BUILD_VERSION = internal-$(USER_RELEASE_SUFFIX)
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHOTSPOT_BUILD_VERSION = internal
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!endif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!if "$(HOTSPOT_RELEASE_VERSION)" != ""
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHOTSPOT_RELEASE_VERSION="\\\"$(HOTSPOT_RELEASE_VERSION)\\\""
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHOTSPOT_RELEASE_VERSION="\\\"$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)-$(HOTSPOT_BUILD_VERSION)\\\""
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!endif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!if "$(JRE_RELEASE_VERSION)" != ""
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserJRE_RELEASE_VERSION="\\\"$(JRE_RELEASE_VERSION)\\\""
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinJRE_RELEASE_VERSION="\\\"$(JDK_MAJOR_VER).$(JDK_MINOR_VER).$(JDK_MICRO_VER)\\\""
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!endif
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# Define HOTSPOT_VM_DISTRO if HOTSPOT_VM_DISTRO is set,
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User# and if it is not see if we have the src/closed directory
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!if "$(HOTSPOT_VM_DISTRO)" != ""
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserHOTSPOT_VM_DISTRO=$(HOTSPOT_VM_DISTRO)
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!if exists($(HOTSPOTWORKSPACE)\src\closed)
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserHOTSPOT_VM_DISTRO="\\\"Java HotSpot(TM)\\\""
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!else
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinHOTSPOT_VM_DISTRO="\\\"OpenJDK\\\""
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein!endif
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User!endif
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserReleaseOptions = -define HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) -define JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) -define HOTSPOT_VM_DISTRO=$(HOTSPOT_VM_DISTRO)
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic UpdaterProjectCreatorIDEOptions = $(ProjectCreatorIDEOptions) $(ReleaseOptions)
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater$(HOTSPOTBUILDSPACE)/$(ProjectFile): $(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User @$(RUN_JAVA) -Djava.class.path="$(HOTSPOTBUILDSPACE)/classes" ProjectCreator WinGammaPlatform$(VcVersion) $(ProjectCreatorIDEOptions)
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox Userclean:
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User @rm -rf $(HOTSPOTBUILDSPACE)/classes
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User @rm -r $(HOTSPOTBUILDSPACE)/$(ProjectFile)
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User$(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class: $(ProjectCreatorSources)
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User @if exist $(HOTSPOTBUILDSPACE)\classes rmdir /s /q $(HOTSPOTBUILDSPACE)\classes
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User @mkdir $(HOTSPOTBUILDSPACE)\classes
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User @$(COMPILE_JAVAC) -classpath $(HOTSPOTWORKSPACE)\src\share\tools\ProjectCreator -d $(HOTSPOTBUILDSPACE)/classes $(ProjectCreatorSources)
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox UserFORCE:
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User