8007639: Workaround for ccache in vm.make is incorrect
Summary: Fixed makefile logic to correctly special case JRE_RELEASE_VERSION and vm_version.o
Reviewed-by: dholmes, erikj
--- a/hotspot/make/bsd/makefiles/vm.make Thu Feb 14 14:33:35 2013 -0500
+++ b/hotspot/make/bsd/makefiles/vm.make Thu Feb 14 12:36:07 2013 -0800
@@ -94,7 +94,12 @@
# This is VERY important! The version define must only be supplied to vm_version.o
# If not, ccache will not re-use the cache at all, since the version string might contain
# a time and date.
-vm_version.o: CXXFLAGS += ${JRE_VERSION}
+CXXFLAGS/vm_version.o += ${JRE_VERSION}
+
+CXXFLAGS/BYFILE = $(CXXFLAGS/$@)
+
+# File specific flags
+CXXFLAGS += $(CXXFLAGS/BYFILE)
ifdef DEFAULT_LIBPATH
CXXFLAGS += -DDEFAULT_LIBPATH="\"$(DEFAULT_LIBPATH)\""
--- a/hotspot/make/linux/makefiles/vm.make Thu Feb 14 14:33:35 2013 -0500
+++ b/hotspot/make/linux/makefiles/vm.make Thu Feb 14 12:36:07 2013 -0800
@@ -100,7 +100,13 @@
# This is VERY important! The version define must only be supplied to vm_version.o
# If not, ccache will not re-use the cache at all, since the version string might contain
# a time and date.
-vm_version.o: CXXFLAGS += ${JRE_VERSION}
+CXXFLAGS/vm_version.o += ${JRE_VERSION}
+
+CXXFLAGS/BYFILE = $(CXXFLAGS/$@)
+
+# File specific flags
+CXXFLAGS += $(CXXFLAGS/BYFILE)
+
ifndef JAVASE_EMBEDDED
ifneq (${ARCH},arm)
--- a/hotspot/make/solaris/makefiles/vm.make Thu Feb 14 14:33:35 2013 -0500
+++ b/hotspot/make/solaris/makefiles/vm.make Thu Feb 14 12:36:07 2013 -0800
@@ -88,7 +88,13 @@
# This is VERY important! The version define must only be supplied to vm_version.o
# If not, ccache will not re-use the cache at all, since the version string might contain
# a time and date.
-vm_version.o: CXXFLAGS += ${JRE_VERSION}
+CXXFLAGS/vm_version.o += ${JRE_VERSION}
+
+CXXFLAGS/BYFILE = $(CXXFLAGS/$@)
+
+# File specific flags
+CXXFLAGS += $(CXXFLAGS/BYFILE)
+
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
CFLAGS += $(CFLAGS_WARN)