1 #
2 # Copyright (c) 2011, 2014, 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
26 ##########################################################################################
27 # Install the launcher name, release version string, full version
28 # string and the runtime name into the Version.java file.
29 # To be printed by java -version
30
31 # These dependencies should ideally be added to prerequesites for Version.java
32 # but skip for now until we have better incremental build for java.
33 # $(call DependOnVariable, LAUNCHER_NAME) \
34 # $(call DependOnVariable, RELEASE) \
35 # $(call DependOnVariable, FULL_VERSION) \
36 # $(call DependOnVariable, RUNTIME_VERSION)
37
38 $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/misc/Version.java: \
39 $(JDK_TOPDIR)/src/java.base/share/classes/sun/misc/Version.java.template
40 $(MKDIR) -p $(@D)
41 $(RM) $@ $@.tmp
42 $(ECHO) Generating sun/misc/Version.java
43 $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \
44 -e 's/@@java_version@@/$(RELEASE)/g' \
45 -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \
46 -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \
47 $< > $@.tmp
48 $(MV) $@.tmp $@
49
50 GENSRC_JAVA_BASE += $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/misc/Version.java
51
52 ##########################################################################################
53
54 GENSRC_JAVA_BASE += $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/ch/SocketOptionRegistry.java
55
56 GENSRC_SOR_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/ch
57 GENSRC_SOR_SRC_FILE := genSocketOptionRegistry.c
58 GENSRC_SOR_BIN := $(BUILDTOOLS_OUTPUTDIR)/native/genSocketOptionRegistry
59
60 SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOR_SRC)/$(GENSRC_SOR_SRC_FILE) | \
61 $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
62
63 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOR_EXE, \
64 SRC := $(GENSRC_SOR_SRC), \
65 INCLUDE_FILES := $(GENSRC_SOR_SRC_FILE), \
66 TOOLCHAIN := TOOLCHAIN_BUILD, \
67 OBJECT_DIR := $(GENSRC_SOR_BIN), \
68 OUTPUT_DIR := $(GENSRC_SOR_BIN), \
69 PROGRAM := genSocketOptionRegistry))
70
71 SOR_PREGEN_FILE := $(JDK_TOPDIR)/src/closed/java.base/$(OPENJDK_TARGET_OS)/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java.template
72
73 ifeq ($(wildcard $(SOR_PREGEN_FILE)), )
74 $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/ch/SocketOptionRegistry.java: $(BUILD_GENSRC_SOR_EXE)
75 $(MKDIR) -p $(@D)
76 $(RM) $@ $@.tmp
77 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e \
78 $(JDK_TOPDIR)/make/scripts/addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@.tmp
79 $(BUILD_GENSRC_SOR_EXE) >> $@.tmp
80 $(MV) $@.tmp $@
81 else
82 $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/ch/SocketOptionRegistry.java: $(SOR_PREGEN_FILE)
83 $(call install-file)
84 endif
85
86 ##########################################################################################
87
88 ifneq ($(OPENJDK_TARGET_OS), windows)
89
90 GENSRC_JAVA_BASE += $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/UnixConstants.java
91
92 GENSRC_UC_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/fs
93 GENSRC_UC_SRC_FILE := genUnixConstants.c
94 GENSRC_UC_BIN := $(BUILDTOOLS_OUTPUTDIR)/native/genUnixConstants
95
96 UC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_UC_SRC)/$(GENSRC_UC_SRC_FILE) | \
97 $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
98
99 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_UC_EXE, \
100 SRC := $(GENSRC_UC_SRC), \
101 INCLUDE_FILES := $(GENSRC_UC_SRC_FILE), \
102 TOOLCHAIN := TOOLCHAIN_BUILD, \
103 CFLAGS := $(filter -D%, $(CFLAGS_JDKEXE)), \
104 OBJECT_DIR := $(GENSRC_UC_BIN), \
105 OUTPUT_DIR := $(GENSRC_UC_BIN), \
106 PROGRAM := genUnixConstants))
107
108 UC_PREGEN_FILE := $(JDK_TOPDIR)/src/closed/java.base/$(OPENJDK_TARGET_OS)/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java.template
109
110 ifeq ($(wildcard $(UC_PREGEN_FILE)), )
111 $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/UnixConstants.java: $(BUILD_GENSRC_UC_EXE)
112 $(MKDIR) -p $(@D)
113 $(RM) $@ $@.tmp
114 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e \
115 $(JDK_TOPDIR)/make/scripts/addNotices.sh "$(UC_COPYRIGHT_YEARS)" > $@.tmp
116 $(BUILD_GENSRC_UC_EXE) >> $@.tmp
117 $(MV) $@.tmp $@
118 else
119 $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/UnixConstants.java: $(UC_PREGEN_FILE)
120 $(call install-file)
121 endif
122
123 endif
124
125 ##########################################################################################
126
127 ifeq ($(OPENJDK_TARGET_OS), solaris)
128
129 GENSRC_JAVA_BASE += $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/SolarisConstants.java
130
131 GENSRC_SOL_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/fs
132 GENSRC_SOL_SRC_FILE := genSolarisConstants.c
133 GENSRC_SOL_BIN := $(BUILDTOOLS_OUTPUTDIR)/native/genSolarisConstants
134
135 SOL_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOL_SRC)/$(GENSRC_SOL_SRC_FILE) | \
136 $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
137
138 $(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOL_EXE, \
139 SRC := $(GENSRC_SOL_SRC), \
140 INCLUDE_FILES := $(GENSRC_SOL_SRC_FILE), \
141 TOOLCHAIN := TOOLCHAIN_BUILD, \
142 OBJECT_DIR := $(GENSRC_SOL_BIN), \
143 OUTPUT_DIR := $(GENSRC_SOL_BIN), \
144 PROGRAM := genSolarisConstants))
145
146 $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/SolarisConstants.java: $(BUILD_GENSRC_SOL_EXE)
147 $(MKDIR) -p $(@D)
148 $(RM) $@ $@.tmp
149 NAWK="$(NAWK)" SH="$(SH)" $(SH) -e \
150 $(JDK_TOPDIR)/make/scripts/addNotices.sh "$(SOL_COPYRIGHT_YEARS)" > $@.tmp
151 $(BUILD_GENSRC_SOL_EXE) >> $@.tmp
152 $(MV) $@.tmp $@
153
154
155 endif
156
157 ##########################################################################################