author | vromero |
Thu, 31 Mar 2016 17:25:58 -0400 | |
changeset 36776 | 5e260fa5208a |
parent 36672 | 9e18f32e76c9 |
child 39302 | aa8d0bc2a6d2 |
permissions | -rw-r--r-- |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
1 |
# |
36110
91a3a6df36ec
8150203: Incremental update from build-infra project
ihse
parents:
35241
diff
changeset
|
2 |
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
3 |
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
4 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
5 |
# This code is free software; you can redistribute it and/or modify it |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
6 |
# under the terms of the GNU General Public License version 2 only, as |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
7 |
# published by the Free Software Foundation. Oracle designates this |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
8 |
# particular file as subject to the "Classpath" exception as provided |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
9 |
# by Oracle in the LICENSE file that accompanied this code. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
10 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
11 |
# This code is distributed in the hope that it will be useful, but WITHOUT |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
12 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
13 |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
14 |
# version 2 for more details (a copy is included in the LICENSE file that |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
15 |
# accompanied this code). |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
16 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
17 |
# You should have received a copy of the GNU General Public License version |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
18 |
# 2 along with this work; if not, write to the Free Software Foundation, |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
19 |
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
20 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
21 |
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
22 |
# or visit www.oracle.com if you need additional information or have any |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
23 |
# questions. |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
24 |
# |
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
25 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
26 |
################################################################################ |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
27 |
# Install the launcher name, release version string, full version |
36225
6ae0eebc46e9
8150162: Move sun.misc.Version to a truly internal package
chegar
parents:
36110
diff
changeset
|
28 |
# string and the runtime name into the VersionProps.java file. |
28660
cc1e8dfe21be
8069261: Create make dependencies on make variable values
erikj
parents:
27565
diff
changeset
|
29 |
|
33984
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
30 |
$(eval $(call SetupTextFileProcessing, BUILD_VERSION_JAVA, \ |
36225
6ae0eebc46e9
8150162: Move sun.misc.Version to a truly internal package
chegar
parents:
36110
diff
changeset
|
31 |
SOURCE_FILES := $(JDK_TOPDIR)/src/java.base/share/classes/java/lang/VersionProps.java.template, \ |
6ae0eebc46e9
8150162: Move sun.misc.Version to a truly internal package
chegar
parents:
36110
diff
changeset
|
32 |
OUTPUT_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/lang/VersionProps.java, \ |
33984
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
33 |
REPLACEMENTS := \ |
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
34 |
@@LAUNCHER_NAME@@ => $(LAUNCHER_NAME) ; \ |
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
35 |
@@RUNTIME_NAME@@ => $(RUNTIME_NAME) ; \ |
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
36 |
@@VERSION_SHORT@@ => $(VERSION_SHORT) ; \ |
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
37 |
@@VERSION_STRING@@ => $(VERSION_STRING), \ |
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
38 |
)) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
39 |
|
33984
2333676816eb
8085822: JEP 223: New Version-String Scheme (initial integration)
ihse
parents:
29931
diff
changeset
|
40 |
GENSRC_JAVA_BASE += $(BUILD_VERSION_JAVA) |
12317
9670c1610c53
7074397: Build infrastructure changes (makefile re-write)
ohair
parents:
diff
changeset
|
41 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
42 |
################################################################################ |
12892 | 43 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
44 |
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), ) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
45 |
# Need to specify language since the template file has a non standard |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
46 |
# extension. |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
47 |
CPP_FLAGS += -x c |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
48 |
else ifeq ($(TOOLCHAIN_TYPE), microsoft) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
49 |
CPP_FLAGS += -nologo |
13164 | 50 |
endif |
12892 | 51 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
52 |
# Generate a java source file from a template through the C preprocessor for the |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
53 |
# target system. First extract the copyright notice at the start of the file. |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
54 |
# Run the preprocessor. Filter out the default compiler stderr output on |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
55 |
# Windows. Filter out all the header files output. Remove all "PREFIX_" strings |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
56 |
# that were added to variable references in the template files to avoid being |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
57 |
# matched by the preprocessor. Remove any #line directives left by the |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
58 |
# preprocessor. |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
59 |
define generate-preproc-src |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
60 |
$(call MakeDir, $(@D)) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
61 |
( $(NAWK) '/@@END_COPYRIGHT@@/{exit}1' $< && \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
62 |
$(CPP) $(CPP_FLAGS) $(SYSROOT_CFLAGS) $< \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
63 |
2> >($(GREP) -v '^$(<F)$$' >&2) \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
64 |
| $(NAWK) '/@@START_HERE@@/,0' \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
65 |
| $(SED) -e 's/@@START_HERE@@/\/\/ AUTOMATICALLY GENERATED FILE - DO NOT EDIT/' \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
66 |
-e 's/PREFIX_//' -e 's/^#.*//' \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
67 |
) > $@ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
68 |
endef |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
69 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
70 |
GENSRC_SOR_FILE += $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/ch/SocketOptionRegistry.java |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
71 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
72 |
$(GENSRC_SOR_FILE): \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
73 |
$(JDK_TOPDIR)/src/java.base/share/classes/sun/nio/ch/SocketOptionRegistry.java.template |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
74 |
$(generate-preproc-src) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
75 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
76 |
GENSRC_JAVA_BASE += $(GENSRC_SOR_FILE) |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
77 |
|
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
78 |
################################################################################ |
12892 | 79 |
|
20547 | 80 |
ifneq ($(OPENJDK_TARGET_OS), windows) |
12892 | 81 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
82 |
GENSRC_UC_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/UnixConstants.java |
12892 | 83 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
84 |
$(GENSRC_UC_FILE): \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
85 |
$(JDK_TOPDIR)/src/java.base/unix/classes/sun/nio/fs/UnixConstants.java.template |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
86 |
$(generate-preproc-src) |
13702 | 87 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
88 |
GENSRC_JAVA_BASE += $(GENSRC_UC_FILE) |
12892 | 89 |
|
90 |
endif |
|
91 |
||
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
92 |
################################################################################ |
12892 | 93 |
|
20547 | 94 |
ifeq ($(OPENJDK_TARGET_OS), solaris) |
12892 | 95 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
96 |
GENSRC_SC_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/SolarisConstants.java |
12892 | 97 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
98 |
$(GENSRC_SC_FILE): \ |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
99 |
$(JDK_TOPDIR)/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template |
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
100 |
$(generate-preproc-src) |
13164 | 101 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
102 |
GENSRC_JAVA_BASE += $(GENSRC_SC_FILE) |
12892 | 103 |
|
104 |
endif |
|
15324
74584166bb07
8000839: Integrate the Java Access Bridge with Java Runtime
raginip
parents:
14343
diff
changeset
|
105 |
|
36672
9e18f32e76c9
8152545: Use preprocessor instead of compiling a program to generate native nio constants
erikj
parents:
36225
diff
changeset
|
106 |
################################################################################ |