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