GensrcMisc.gmk revision 8845:4be14673b9bf
1# 2# Copyright (c) 2011, 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. Oracle designates this 8# particular file as subject to the "Classpath" exception as provided 9# by Oracle in the LICENSE file that accompanied this code. 10# 11# This code is distributed in the hope that it will be useful, but WITHOUT 12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14# version 2 for more details (a copy is included in the LICENSE file that 15# accompanied this code). 16# 17# You should have received a copy of the GNU General Public License version 18# 2 along with this work; if not, write to the Free Software Foundation, 19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20# 21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22# or visit www.oracle.com if you need additional information or have any 23# questions. 24# 25 26include ProfileNames.gmk 27 28########################################################################################## 29# Install the launcher name, release version string, full version 30# string and the runtime name into the Version.java file. 31# To be printed by java -version 32 33$(JDK_OUTPUTDIR)/gensrc/sun/misc/Version.java \ 34$(PROFILE_VERSION_JAVA_TARGETS): \ 35 $(JDK_TOPDIR)/src/share/classes/sun/misc/Version.java.template 36 $(MKDIR) -p $(@D) 37 $(RM) $@ $@.tmp 38 $(ECHO) Generating sun/misc/Version.java $(call profile_version_name, $@) 39 $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \ 40 -e 's/@@java_version@@/$(RELEASE)/g' \ 41 -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \ 42 -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ 43 -e 's/@@java_profile_name@@/$(call profile_version_name, $@)/g' \ 44 $< > $@.tmp 45 $(MV) $@.tmp $@ 46 47GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/misc/Version.java \ 48 $(PROFILE_VERSION_JAVA_TARGETS) 49 50########################################################################################## 51# Version file for jconsole 52 53$(JDK_OUTPUTDIR)/gensrc/sun/tools/jconsole/Version.java: \ 54 $(JDK_TOPDIR)/src/share/classes/sun/tools/jconsole/Version.java.template 55 $(MKDIR) -p $(@D) 56 $(RM) $@ $@.tmp 57 $(ECHO) $(LOG_INFO) Generating sun/tools/jconsole/Version.java 58 $(SED) -e 's/@@jconsole_version@@/$(FULL_VERSION)/g' $< > $@.tmp 59 $(MV) $@.tmp $@ 60 61GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/tools/jconsole/Version.java 62 63########################################################################################## 64 65ifeq ($(OPENJDK_TARGET_OS_API), posix) 66 UPSUFFIX := $(OPENJDK_TARGET_OS) 67 ifeq ($(OPENJDK_TARGET_OS), macosx) 68 UPSUFFIX := bsd 69 endif 70 # UNIXProcess.java is different for solaris and linux. We need to copy 71 # the correct UNIXProcess.java over to $(JDK_OUTPUTDIR)/gensrc/java/lang/. 72 73 $(JDK_OUTPUTDIR)/gensrc/java/lang/UNIXProcess.java: \ 74 $(JDK_TOPDIR)/src/solaris/classes/java/lang/UNIXProcess.java.$(UPSUFFIX) 75 $(ECHO) $(LOG_INFO) Copying UNIXProcess.java.$(OPENJDK_TARGET_OS) to java/lang/UNIXProcess.java 76 $(call install-file) 77 $(CHMOD) u+rw $@ 78 79 GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/java/lang/UNIXProcess.java 80endif 81 82########################################################################################## 83 84GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java 85 86GENSRC_SOR_SRC := $(JDK_TOPDIR)/src/share/native/sun/nio/ch 87GENSRC_SOR_SRC_FILE := genSocketOptionRegistry.c 88GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/gensrc/genSocketOptionRegistry 89 90SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOR_SRC)/$(GENSRC_SOR_SRC_FILE) | \ 91 $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 92 93$(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOR_EXE, \ 94 SRC := $(GENSRC_SOR_SRC), \ 95 INCLUDE_FILES := $(GENSRC_SOR_SRC_FILE), \ 96 LANG := C, \ 97 CC := $(BUILD_CC), \ 98 LDEXE := $(BUILD_LD), \ 99 OBJECT_DIR := $(GENSRC_SOR_BIN), \ 100 OUTPUT_DIR := $(GENSRC_SOR_BIN), \ 101 PROGRAM := genSocketOptionRegistry)) 102 103ifneq ($(wildcard $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java), ) 104 HAS_SOCKET_OPTION_REGISTRY := true 105endif 106 107ifneq ($(HAS_SOCKET_OPTION_REGISTRY), true) 108 $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(BUILD_GENSRC_SOR_EXE) 109 $(MKDIR) -p $(@D) 110 $(RM) $@ $@.tmp 111 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/make/scripts/addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@.tmp 112 $(BUILD_GENSRC_SOR_EXE) >> $@.tmp 113 $(MV) $@.tmp $@ 114else 115 $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java 116 $(call install-file) 117endif 118 119########################################################################################## 120 121ifneq ($(OPENJDK_TARGET_OS), windows) 122 123 GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java 124 125 GENSRC_UC_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs 126 GENSRC_UC_SRC_FILE := genUnixConstants.c 127 GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/gensrc/genUnixConstants 128 129 UC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_UC_SRC)/$(GENSRC_UC_SRC_FILE) | \ 130 $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 131 132 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_UC_EXE, \ 133 SRC := $(GENSRC_UC_SRC), \ 134 INCLUDE_FILES := $(GENSRC_UC_SRC_FILE), \ 135 LANG := C, \ 136 CC := $(BUILD_CC), \ 137 LDEXE := $(BUILD_CC), \ 138 CFLAGS := $(filter -D%, $(CFLAGS_JDKEXE)), \ 139 OBJECT_DIR := $(GENSRC_UC_BIN), \ 140 OUTPUT_DIR := $(GENSRC_UC_BIN), \ 141 PROGRAM := genUnixConstants)) 142 143 ifneq ($(wildcard $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java), ) 144 HAS_UNIX_CONSTANTS := true 145 endif 146 147 ifneq ($(HAS_UNIX_CONSTANTS), true) 148 $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(BUILD_GENSRC_UC_EXE) 149 $(MKDIR) -p $(@D) 150 $(RM) $@ $@.tmp 151 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/make/scripts/addNotices.sh "$(UC_COPYRIGHT_YEARS)" > $@.tmp 152 $(BUILD_GENSRC_UC_EXE) >> $@.tmp 153 $(MV) $@.tmp $@ 154 else 155 $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java 156 $(call install-file) 157 endif 158 159endif 160 161########################################################################################## 162 163ifeq ($(OPENJDK_TARGET_OS), solaris) 164 165 GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/SolarisConstants.java 166 167 GENSRC_SOL_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs 168 GENSRC_SOL_SRC_FILE := genSolarisConstants.c 169 GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/gensrc/genSolarisConstants 170 171 SOL_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOL_SRC)/$(GENSRC_SOL_SRC_FILE) | \ 172 $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 173 174 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOL_EXE, \ 175 SRC := $(GENSRC_SOL_SRC), \ 176 INCLUDE_FILES := $(GENSRC_SOL_SRC_FILE), \ 177 LANG := C, \ 178 CC := $(BUILD_CC), \ 179 LDEXE := $(BUILD_CC), \ 180 OBJECT_DIR := $(GENSRC_SOL_BIN), \ 181 OUTPUT_DIR := $(GENSRC_SOL_BIN), \ 182 PROGRAM := genSolarisConstants)) 183 184 $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/SolarisConstants.java: $(BUILD_GENSRC_SOL_EXE) 185 $(MKDIR) -p $(@D) 186 $(RM) $@ $@.tmp 187 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e $(JDK_TOPDIR)/make/scripts/addNotices.sh "$(SOL_COPYRIGHT_YEARS)" > $@.tmp 188 $(BUILD_GENSRC_SOL_EXE) >> $@.tmp 189 $(MV) $@.tmp $@ 190 191 192endif 193 194########################################################################################## 195 196ifndef OPENJDK 197 ifeq ($(OPENJDK_TARGET_OS), windows) 198 199 AB_GENSRC_DIR := $(JDK_OUTPUTDIR)/gensrc_ab 200 AB_SRC_DIR := $(JDK_TOPDIR)/src/closed/windows/classes/com/sun/java/accessibility 201 202 ifeq ($(OPENJDK_TARGET_CPU_BITS), 32) 203 $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridgeLoader.java: \ 204 $(AB_SRC_DIR)/32bit/AccessBridgeLoader.java 205 $(install-file) 206 207 $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridge.java: \ 208 $(AB_SRC_DIR)/AccessBridge.java 209 $(install-file) 210 211 $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridgeLoader.java: \ 212 $(AB_SRC_DIR)/legacy/AccessBridgeLoader.java 213 $(install-file) 214 215 $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridge.java: \ 216 $(AB_SRC_DIR)/AccessBridge.java 217 $(install-file) 218 219 GENSRC_MISC += $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridgeLoader.java \ 220 $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridgeLoader.java \ 221 $(AB_GENSRC_DIR)/32bit/com/sun/java/accessibility/AccessBridge.java \ 222 $(AB_GENSRC_DIR)/legacy/com/sun/java/accessibility/AccessBridge.java 223 224 else 225 $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridgeLoader.java: \ 226 $(AB_SRC_DIR)/64bit/AccessBridgeLoader.java 227 $(install-file) 228 229 $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridge.java: \ 230 $(AB_SRC_DIR)/AccessBridge.java 231 $(install-file) 232 233 GENSRC_MISC += $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridgeLoader.java \ 234 $(AB_GENSRC_DIR)/64bit/com/sun/java/accessibility/AccessBridge.java 235 236 endif 237 endif 238endif 239 240########################################################################################## 241