make/Main.gmk
author coffeys
Wed, 13 Nov 2019 11:27:50 +0000
changeset 59055 57ad70bcf06c
parent 58909 66f7d2494d4e
permissions -rw-r--r--
8233731: repeated typo "fro" for "for" Reviewed-by: dfuchs Contributed-by: kiran.sidhartha.ravikumar@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     1
#
53295
520f8e2041bb 8215729: Enhance makefiles to allow collecting code coverage with JCov
shurailine
parents: 52986
diff changeset
     2
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     4
#
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    10
#
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    15
# accompanied this code).
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    16
#
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    20
#
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    23
# questions.
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    24
#
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    25
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    26
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    27
# This is the main makefile containing most actual top level targets. It needs
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    28
# to be called with a SPEC file defined.
29662
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
    29
################################################################################
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    30
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    31
# Declare default target
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    32
default:
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    33
29662
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
    34
ifeq ($(wildcard $(SPEC)),)
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
    35
  $(error Main.gmk needs SPEC set to a proper spec.gmk)
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
    36
endif
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
    37
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    38
# Now load the spec
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    39
include $(SPEC)
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    40
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    41
include $(TOPDIR)/make/MainSupport.gmk
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    42
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 20047
diff changeset
    43
# Load the vital tools for all the makefiles.
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    44
include $(TOPDIR)/make/common/MakeBase.gmk
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    45
include $(TOPDIR)/make/common/Modules.gmk
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    46
include $(TOPDIR)/make/common/FindTests.gmk
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    47
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    48
# Declare ALL_TARGETS as an immediate variable. This variable is a list of all
27595
cff167b3bfa2 8065914: Various improvements and cleanup of build system
ihse
parents: 27329
diff changeset
    49
# valid top level targets. It's used to declare them all as PHONY and to
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    50
# generate the -only targets.
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    51
ALL_TARGETS :=
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    52
22714
a752920c4317 8034191: Move relevant parts of build system to new closed repo
ihse
parents: 22031
diff changeset
    53
# Hook to include the corresponding custom file, if present.
47314
743814386712 8188814: Simplify IncludeCustomExtension
ihse
parents: 47253
diff changeset
    54
$(eval $(call IncludeCustomExtension, Main.gmk))
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    55
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    56
# All modules for the current target platform.
34116
b746e382da18 8142336: Convert the SA agent build to modular build-infra makefiles
erikj
parents: 33722
diff changeset
    57
ALL_MODULES := $(call FindAllModules)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    58
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    59
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    60
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    61
#
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    62
# Recipes for all targets. Only recipes, dependencies are declared later.
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    63
#
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    64
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    65
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    66
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    67
# Interim/build tools targets, compiling tools used during the build
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    68
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
    69
buildtools-langtools:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    70
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ToolsLangtools.gmk)
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
    71
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
    72
interim-langtools:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    73
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimLangtools.gmk)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    74
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
    75
interim-rmic:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    76
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimRmic.gmk)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    77
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
    78
interim-cldrconverter:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    79
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimCLDRConverter.gmk)
58909
66f7d2494d4e 8233383: Various minor fixes
ihse
parents: 58846
diff changeset
    80
57544
99d2dd7b84a8 8212970: TZ database in "vanguard" format support
naoto
parents: 55447
diff changeset
    81
interim-tzdb:
99d2dd7b84a8 8212970: TZ database in "vanguard" format support
naoto
parents: 55447
diff changeset
    82
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimTZDB.gmk)
99d2dd7b84a8 8212970: TZ database in "vanguard" format support
naoto
parents: 55447
diff changeset
    83
31948
761ddfee3ef2 8129881: JDK-8008577 breaks Nashorn test
naoto
parents: 31310
diff changeset
    84
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
    85
buildtools-jdk:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    86
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileToolsJdk.gmk)
41171
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
    87
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
    88
buildtools-modules:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    89
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileModuleTools.gmk)
42531
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42529
diff changeset
    90
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
    91
buildtools-hotspot:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
    92
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileToolsHotspot.gmk)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    93
32806
e0a88439f971 8137088: Drop building of interim_java.corba
erikj
parents: 32562
diff changeset
    94
ALL_TARGETS += buildtools-langtools interim-langtools \
57544
99d2dd7b84a8 8212970: TZ database in "vanguard" format support
naoto
parents: 55447
diff changeset
    95
    interim-rmic interim-cldrconverter interim-tzdb buildtools-jdk buildtools-modules \
42531
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42529
diff changeset
    96
    buildtools-hotspot
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    97
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    98
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
    99
# Special targets for certain modules
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   100
33562
c76b2fa11486 8136556: Add the ability to perform static builds of MacOSX x64 binaries
bobv
parents: 32806
diff changeset
   101
generate-exported-symbols:
c76b2fa11486 8136556: Add the ability to perform static builds of MacOSX x64 binaries
bobv
parents: 32806
diff changeset
   102
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f BuildStatic.gmk)
c76b2fa11486 8136556: Add the ability to perform static builds of MacOSX x64 binaries
bobv
parents: 32806
diff changeset
   103
50312
06b01795c957 8203946: Move UnpackSecurity.gmk to closed
erikj
parents: 49979
diff changeset
   104
ALL_TARGETS += generate-exported-symbols
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   105
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   106
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   107
# Gensrc targets, generating source before java compilation can be done
38844
8af6df8a3613 8159047: Disable redundant build steps when creating buildjdk
erikj
parents: 38546
diff changeset
   108
#
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   109
$(eval $(call DeclareRecipesForPhase, GENSRC, \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   110
    TARGET_SUFFIX := gensrc-src, \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   111
    FILE_PREFIX := Gensrc, \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   112
    MAKE_SUBDIR := gensrc, \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   113
    CHECK_MODULES := $(ALL_MODULES), \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   114
))
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   115
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   116
$(foreach m, $(GENSRC_MODULES), $(eval $m-gensrc: $m-gensrc-src))
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   117
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   118
LANGTOOLS_GENSRC_TARGETS := $(filter $(addsuffix -%, $(LANGTOOLS_MODULES)), $(GENSRC_TARGETS))
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   119
INTERIM_LANGTOOLS_GENSRC_TARGETS := $(filter $(addsuffix -%, \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   120
    $(INTERIM_LANGTOOLS_BASE_MODULES)), $(GENSRC_TARGETS))
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   121
HOTSPOT_GENSRC_TARGETS := $(filter $(addsuffix -%, $(HOTSPOT_MODULES)), $(GENSRC_TARGETS))
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   122
JDK_GENSRC_TARGETS := $(filter-out $(LANGTOOLS_GENSRC_TARGETS) \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   123
    $(HOTSPOT_GENSRC_TARGETS), $(GENSRC_TARGETS))
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents: 14466
diff changeset
   124
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   125
GENSRC_MODULEINFO_MODULES := $(ALL_MODULES)
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   126
GENSRC_MODULEINFO_TARGETS := $(addsuffix -gensrc-moduleinfo, \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   127
    $(GENSRC_MODULEINFO_MODULES))
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   128
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   129
GENSRC_MODULES := $(GENSRC_MODULEINFO_MODULES)
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   130
GENSRC_TARGETS += $(sort $(GENSRC_MODULEINFO_TARGETS) \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   131
    $(addsuffix -gensrc, $(GENSRC_MODULES)))
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   132
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   133
define DeclareModuleInfoRecipe
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   134
  $1-gensrc-moduleinfo:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   135
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) \
58909
66f7d2494d4e 8233383: Various minor fixes
ihse
parents: 58846
diff changeset
   136
	    -f gensrc/GensrcModuleInfo.gmk MODULE=$1)
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   137
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   138
  $1-gensrc: $1-gensrc-moduleinfo
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   139
endef
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   140
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   141
$(foreach m, $(GENSRC_MODULEINFO_MODULES), $(eval $(call DeclareModuleInfoRecipe,$m)))
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   142
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   143
ALL_TARGETS += $(GENSRC_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   144
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   145
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   146
# Generate data targets
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   147
$(eval $(call DeclareRecipesForPhase, GENDATA, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   148
    TARGET_SUFFIX := gendata, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   149
    FILE_PREFIX := Gendata, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   150
    MAKE_SUBDIR := gendata, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   151
    CHECK_MODULES := $(ALL_MODULES), \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   152
    USE_WRAPPER := true))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   153
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   154
ALL_TARGETS += $(GENDATA_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   155
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   156
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   157
# Copy files targets
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   158
$(eval $(call DeclareRecipesForPhase, COPY, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   159
    TARGET_SUFFIX := copy, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   160
    FILE_PREFIX := Copy, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   161
    MAKE_SUBDIR := copy, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   162
    CHECK_MODULES := $(ALL_MODULES), \
33045
00f484891bcf 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 32806
diff changeset
   163
    USE_WRAPPER := true, \
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   164
))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   165
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   166
ALL_COPY_MODULES += $(COPY_MODULES)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   167
ALL_COPY_TARGETS += $(COPY_TARGETS)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   168
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   169
IMPORT_COPY_MODULES := $(call FindImportedModules)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   170
IMPORT_COPY_TARGETS := $(addsuffix -copy, $(IMPORT_COPY_MODULES))
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   171
ALL_COPY_MODULES += $(IMPORT_COPY_MODULES)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   172
ALL_COPY_TARGETS += $(IMPORT_COPY_TARGETS)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   173
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   174
define DeclareImportCopyRecipe
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   175
  $1-copy:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   176
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) \
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   177
	    -f CopyImportModules.gmk MODULE=$1)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   178
endef
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   179
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   180
$(foreach m, $(IMPORT_COPY_MODULES), $(eval $(call DeclareImportCopyRecipe,$m)))
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   181
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   182
ALL_TARGETS += $(ALL_COPY_TARGETS)
15395
e5d837c6e999 8007093: build-infra: Make should fail if spec is older than configure files
erikj
parents: 15060
diff changeset
   183
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   184
################################################################################
50313
7c40e39e38a1 8203945: Cleanup nashorn build
erikj
parents: 50312
diff changeset
   185
# Targets for compiling all java modules.
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   186
JAVA_MODULES := $(ALL_MODULES)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   187
JAVA_TARGETS := $(addsuffix -java, $(JAVA_MODULES))
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   188
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   189
define DeclareCompileJavaRecipe
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   190
  $1-java:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   191
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) \
34102
c0a98357f847 8143141: Bring in minor build changes from the jigsaw/jake forest
erikj
parents: 33722
diff changeset
   192
	    -f CompileJavaModules.gmk MODULE=$1)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   193
endef
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   194
50313
7c40e39e38a1 8203945: Cleanup nashorn build
erikj
parents: 50312
diff changeset
   195
$(foreach m, $(JAVA_MODULES), $(eval $(call DeclareCompileJavaRecipe,$m)))
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   196
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   197
ALL_TARGETS += $(JAVA_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   198
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   199
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   200
# Targets for running rmic.
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   201
$(eval $(call DeclareRecipesForPhase, RMIC, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   202
    TARGET_SUFFIX := rmic, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   203
    FILE_PREFIX := Rmic, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   204
    MAKE_SUBDIR := rmic, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   205
    CHECK_MODULES := $(ALL_MODULES)))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   206
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   207
ALL_TARGETS += $(RMIC_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   208
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   209
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   210
# Targets for compiling native libraries
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   211
$(eval $(call DeclareRecipesForPhase, LIBS, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   212
    TARGET_SUFFIX := libs, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   213
    FILE_PREFIX := Lib, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   214
    MAKE_SUBDIR := lib, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   215
    CHECK_MODULES := $(ALL_MODULES), \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   216
    USE_WRAPPER := true))
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   217
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   218
ALL_TARGETS += $(LIBS_TARGETS)
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   219
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   220
################################################################################
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   221
# Targets for compiling static versions of certain native libraries. These do
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   222
# not end up in the jmods or the normal JDK image, but are instead bundled into
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   223
# a special deliverable.
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   224
$(eval $(call DeclareRecipesForPhase, STATIC_LIBS, \
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   225
    TARGET_SUFFIX := static-libs, \
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   226
    FILE_PREFIX := Lib, \
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   227
    MAKE_SUBDIR := lib, \
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   228
    CHECK_MODULES := $(STATIC_LIBS_MODULES), \
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   229
    USE_WRAPPER := true, \
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   230
    EXTRA_ARGS := STATIC_LIBS=true, \
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   231
))
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   232
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   233
ALL_TARGETS += $(STATIC_LIBS_TARGETS)
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   234
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   235
################################################################################
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   236
# Targets for compiling native executables
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   237
$(eval $(call DeclareRecipesForPhase, LAUNCHER, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   238
    TARGET_SUFFIX := launchers, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   239
    FILE_PREFIX := Launcher, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   240
    MAKE_SUBDIR := launcher, \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   241
    CHECK_MODULES := $(ALL_MODULES), \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   242
    USE_WRAPPER := true))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   243
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   244
ALL_TARGETS += $(LAUNCHER_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   245
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   246
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   247
# Build hotspot target
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   248
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   249
HOTSPOT_VARIANT_TARGETS := $(addprefix hotspot-, $(JVM_VARIANTS))
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   250
HOTSPOT_VARIANT_GENSRC_TARGETS := $(addsuffix -gensrc, $(HOTSPOT_VARIANT_TARGETS))
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   251
HOTSPOT_VARIANT_LIBS_TARGETS := $(addsuffix -libs, $(HOTSPOT_VARIANT_TARGETS))
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   252
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   253
define DeclareHotspotGensrcRecipe
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   254
  hotspot-$1-gensrc:
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   255
	$$(call LogInfo, Building JVM variant '$1' with features '$(JVM_FEATURES_$1)')
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   256
	+($(CD) $(TOPDIR)/make/hotspot && $(MAKE) $(MAKE_ARGS) -f gensrc/GenerateSources.gmk \
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   257
	    JVM_VARIANT=$1)
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   258
endef
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   259
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   260
$(foreach v, $(JVM_VARIANTS), $(eval $(call DeclareHotspotGensrcRecipe,$v)))
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   261
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   262
define DeclareHotspotLibsRecipe
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   263
  hotspot-$1-libs:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   264
	+($(CD) $(TOPDIR)/make/hotspot && $(MAKE) $(MAKE_ARGS) -f lib/CompileLibraries.gmk \
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   265
	    JVM_VARIANT=$1)
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   266
endef
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   267
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   268
$(foreach v, $(JVM_VARIANTS), $(eval $(call DeclareHotspotLibsRecipe,$v)))
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   269
37402
62b5f067032e 8152666: The new Hotspot Build System
erikj
parents: 36506
diff changeset
   270
hotspot-ide-project:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   271
	+($(CD) $(TOPDIR)/make/hotspot && $(MAKE) $(MAKE_ARGS) -f ide/CreateVSProject.gmk)
37402
62b5f067032e 8152666: The new Hotspot Build System
erikj
parents: 36506
diff changeset
   272
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   273
ALL_TARGETS += $(HOTSPOT_VARIANT_TARGETS) $(HOTSPOT_VARIANT_GENSRC_TARGETS) \
49423
fd608d605e2f 8200229: Simplify building of libjsig
ihse
parents: 49133
diff changeset
   274
    $(HOTSPOT_VARIANT_LIBS_TARGETS) hotspot-ide-project
15903
bc0e6cd9d760 8008914: Add nashorn to the tl build
jjg
parents: 15587
diff changeset
   275
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   276
################################################################################
52022
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   277
# Generate libs and launcher targets for creating compile_commands.json fragments
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   278
define DeclareCompileCommandsRecipe
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   279
  $1-compile-commands:
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   280
	$$(call LogInfo, Generating compile_commands.json fragments for $1)
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   281
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Main.gmk $1-only \
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   282
	    GENERATE_COMPILE_COMMANDS_ONLY=true)
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   283
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   284
  COMPILE_COMMANDS_TARGETS_$2 += $1-compile-commands
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   285
endef
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   286
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   287
$(foreach t, $(HOTSPOT_VARIANT_LIBS_TARGETS), \
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   288
  $(eval $(call DeclareCompileCommandsRecipe,$t,HOTSPOT)) \
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   289
)
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   290
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   291
$(foreach t, $(LIBS_TARGETS) $(LAUNCHER_TARGETS), \
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   292
  $(eval $(call DeclareCompileCommandsRecipe,$t,JDK)) \
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   293
)
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   294
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   295
compile-commands compile-commands-hotspot:
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   296
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileCommands.gmk)
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   297
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   298
ALL_TARGETS += $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK)
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   299
ALL_TARGETS += compile-commands compile-commands-hotspot
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   300
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   301
################################################################################
55166
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   302
# VS Code projects
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   303
vscode-project:
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   304
	+($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   305
      VSCODE_INDEXER=cpptools)
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   306
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   307
vscode-project-clangd:
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   308
	+($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   309
      VSCODE_INDEXER=clangd)
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   310
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   311
vscode-project-rtags:
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   312
	+($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   313
      VSCODE_INDEXER=rtags)
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   314
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   315
vscode-project-ccls:
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   316
	+($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   317
      VSCODE_INDEXER=ccls)
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   318
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   319
ALL_TARGETS += vscode-project vscode-project-clangd vscode-project-rtags \
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   320
  vscode-project-ccls
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   321
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   322
################################################################################
44724
8efb5c82a573 8173801: Modify makefiles to not build demos and samples bundles.
shurailine
parents: 44397
diff changeset
   323
# Build demos targets
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   324
31310
481585782338 8081814: Modularize the deploy build
erikj
parents: 30742
diff changeset
   325
demos-jdk:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   326
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileDemos.gmk)
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   327
45096
6e9ec4d965f2 8179867: JDK9 b167: demos exist in JDK bundles
erikj
parents: 44733
diff changeset
   328
test-image-demos-jdk:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   329
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileDemos.gmk images)
45096
6e9ec4d965f2 8179867: JDK9 b167: demos exist in JDK bundles
erikj
parents: 44733
diff changeset
   330
6e9ec4d965f2 8179867: JDK9 b167: demos exist in JDK bundles
erikj
parents: 44733
diff changeset
   331
ALL_TARGETS += demos-jdk test-image-demos-jdk
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   332
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   333
################################################################################
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   334
# Jigsaw specific data and analysis targets.
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   335
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   336
generate-summary:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   337
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GenerateModuleSummary.gmk)
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   338
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   339
ALL_TARGETS += generate-summary
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   340
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   341
################################################################################
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   342
# Jmod targets
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   343
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   344
JMOD_MODULES := $(ALL_MODULES)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   345
JMOD_TARGETS := $(addsuffix -jmod, $(JMOD_MODULES))
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   346
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   347
define DeclareJmodRecipe
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   348
  $1-jmod:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   349
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CreateJmods.gmk \
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   350
	    MODULE=$1)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   351
endef
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   352
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   353
$(foreach m, $(JMOD_MODULES), $(eval $(call DeclareJmodRecipe,$m)))
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   354
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   355
ALL_TARGETS += $(JMOD_TARGETS)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   356
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   357
################################################################################
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   358
# Images targets
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   359
42282
faf3b6722c44 8031567: Better model for storing source revision information
ihse
parents: 41874
diff changeset
   360
store-source-revision:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   361
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f SourceRevision.gmk store-source-revision)
39110
712f29ba8708 8136771: Implement the license-swap logic as a make target
erikj
parents: 38844
diff changeset
   362
42282
faf3b6722c44 8031567: Better model for storing source revision information
ihse
parents: 41874
diff changeset
   363
create-source-revision-tracker:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   364
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f SourceRevision.gmk create-source-revision-tracker)
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   365
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
   366
BOOTCYCLE_TARGET := product-images
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   367
bootcycle-images:
37980
b2d5f366a9ba 8157506: Disable bootcycle build when cross compiling
erikj
parents: 37975
diff changeset
   368
        ifneq ($(COMPILE_TYPE), cross)
b2d5f366a9ba 8157506: Disable bootcycle build when cross compiling
erikj
parents: 37975
diff changeset
   369
	  $(call LogWarn, Boot cycle build step 2: Building a new JDK image using previously built image)
54426
2da3b1a3942f 8221996: Bootcycle build broken
erikj
parents: 54422
diff changeset
   370
	  $(call MakeDir, $(OUTPUTDIR)/bootcycle-build)
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   371
	  +$(MAKE) $(MAKE_ARGS) -f $(TOPDIR)/make/Init.gmk PARALLEL_TARGETS=$(BOOTCYCLE_TARGET) \
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   372
	      LOG_PREFIX="[bootcycle] " JOBS= SPEC=$(dir $(SPEC))bootcycle-spec.gmk main
37980
b2d5f366a9ba 8157506: Disable bootcycle build when cross compiling
erikj
parents: 37975
diff changeset
   373
        else
b2d5f366a9ba 8157506: Disable bootcycle build when cross compiling
erikj
parents: 37975
diff changeset
   374
	  $(call LogWarn, Boot cycle build disabled when cross compiling)
b2d5f366a9ba 8157506: Disable bootcycle build when cross compiling
erikj
parents: 37975
diff changeset
   375
        endif
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   376
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   377
zip-security:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   378
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ZipSecurity.gmk)
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   379
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   380
zip-source:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   381
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ZipSource.gmk)
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   382
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   383
jrtfs-jar:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   384
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f JrtfsJar.gmk)
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   385
41260
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
   386
jdk-image:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   387
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jdk)
41260
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
   388
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   389
legacy-jre-image:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   390
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jre)
41260
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
   391
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
   392
symbols-image:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   393
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk symbols)
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   394
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   395
static-libs-image:
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   396
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f StaticLibsImage.gmk)
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   397
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   398
mac-jdk-bundle:
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   399
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk jdk-bundle)
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   400
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   401
mac-legacy-jre-bundle:
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   402
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk jre-bundle)
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   403
42292
11f0a32a38f0 8170528: Race condition with release file creation
erikj
parents: 42285
diff changeset
   404
release-file:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   405
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ReleaseFile.gmk)
42292
11f0a32a38f0 8170528: Race condition with release file creation
erikj
parents: 42285
diff changeset
   406
41171
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
   407
exploded-image-optimize:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   408
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ExplodedImageOptimize.gmk)
41171
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
   409
52774
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   410
ifeq ($(JCOV_ENABLED), true)
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   411
  jcov-image:
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   412
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Coverage.gmk jcov-image)
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   413
endif
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   414
42282
faf3b6722c44 8031567: Better model for storing source revision information
ihse
parents: 41874
diff changeset
   415
ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   416
    zip-source jrtfs-jar jdk-image legacy-jre-image \
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   417
    symbols-image static-libs-image mac-jdk-bundle mac-legacy-jre-bundle \
52774
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   418
    release-file exploded-image-optimize jcov-image
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   419
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   420
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   421
# Docs targets
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   422
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   423
# If building full docs, to complete docs-*-api we need both the javadoc and
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   424
# modulegraph targets.
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   425
docs-jdk-api-javadoc:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   426
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-jdk-api-javadoc)
44397
f932d6b9f7fe 8173303: Add module-subgraph images to main platform documentation
mchung
parents: 44078
diff changeset
   427
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   428
docs-jdk-api-modulegraph:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   429
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-jdk-api-modulegraph)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   430
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   431
docs-javase-api-javadoc:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   432
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-javase-api-javadoc)
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   433
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   434
docs-javase-api-modulegraph:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   435
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-javase-api-modulegraph)
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 44724
diff changeset
   436
47432
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   437
docs-reference-api-javadoc:
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   438
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-reference-api-javadoc)
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   439
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   440
docs-reference-api-modulegraph:
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   441
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-reference-api-modulegraph)
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   442
44733
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44726
diff changeset
   443
docs-jdk-specs:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   444
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-jdk-specs)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   445
45105
bf3dae998ca2 8180208: Provide a new docs bundle page
mchung
parents: 45103
diff changeset
   446
docs-jdk-index:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   447
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-jdk-index)
45105
bf3dae998ca2 8180208: Provide a new docs bundle page
mchung
parents: 45103
diff changeset
   448
41652
a0664e2b49a1 8168772: Convert javadoc generation to build-infra standards
ihse
parents: 41461
diff changeset
   449
docs-zip:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   450
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-zip)
37034
b63fd4af003e 8154313: Generated javadoc scattered all over the place
neugens
parents: 37031
diff changeset
   451
55447
95794e32352e 8226325: Support building of filtered spec bundles
dlsmith
parents: 55292
diff changeset
   452
docs-specs-zip:
95794e32352e 8226325: Support building of filtered spec bundles
dlsmith
parents: 55292
diff changeset
   453
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Docs.gmk docs-specs-zip)
95794e32352e 8226325: Support building of filtered spec bundles
dlsmith
parents: 55292
diff changeset
   454
44078
673240c54c2e 8176509: Use pandoc for converting build readme to html
ihse
parents: 44027
diff changeset
   455
update-build-docs:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   456
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f UpdateBuildDocs.gmk)
44078
673240c54c2e 8176509: Use pandoc for converting build readme to html
ihse
parents: 44027
diff changeset
   457
49133
a5b237cfccef 8198844: Clean up GensrcX11Wrappers
ihse
parents: 48918
diff changeset
   458
update-x11wrappers:
a5b237cfccef 8198844: Clean up GensrcX11Wrappers
ihse
parents: 48918
diff changeset
   459
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f UpdateX11Wrappers.gmk)
a5b237cfccef 8198844: Clean up GensrcX11Wrappers
ihse
parents: 48918
diff changeset
   460
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   461
ALL_TARGETS += docs-jdk-api-javadoc docs-jdk-api-modulegraph \
47432
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   462
    docs-javase-api-javadoc docs-javase-api-modulegraph \
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   463
    docs-reference-api-javadoc docs-reference-api-modulegraph docs-jdk-specs \
55447
95794e32352e 8226325: Support building of filtered spec bundles
dlsmith
parents: 55292
diff changeset
   464
    docs-jdk-index docs-zip docs-specs-zip update-build-docs update-x11wrappers
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   465
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   466
################################################################################
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   467
# Cross compilation support
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   468
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   469
ifeq ($(CREATING_BUILDJDK), true)
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   470
  # This target is only called by the recursive call below.
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   471
  create-buildjdk-interim-image-helper: interim-image jdk.jlink-launchers \
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   472
      java.base-copy jdk.jdeps-launchers
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   473
endif
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   474
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   475
BUILDJDK_MODULES := $(sort $(foreach m, jdk.jlink $(INTERIM_IMAGE_MODULES), \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   476
    $(call FindTransitiveDepsForModule, $m) $m))
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   477
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   478
create-buildjdk-interim-image:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   479
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Main.gmk \
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   480
	    $@-helper \
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   481
	    SPEC=$(dir $(SPEC))buildjdk-spec.gmk \
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   482
	    HOTSPOT_SPEC=$(dir $(SPEC))buildjdk-spec.gmk \
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   483
	    CREATING_BUILDJDK=true \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   484
	    LOG_PREFIX="[buildjdk] " \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   485
	    JAVA_MODULES="$(BUILDJDK_MODULES)" \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   486
	)
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   487
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   488
ALL_TARGETS += create-buildjdk-copy create-buildjdk-interim-image
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   489
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   490
################################################################################
41275
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   491
# The interim-image is a small jlinked image that is used to generate artifacts
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   492
# at build time for use when linking the real images.
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   493
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   494
INTERIM_JMOD_TARGETS := $(addsuffix -interim-jmod, $(INTERIM_IMAGE_MODULES))
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   495
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   496
define DeclareInterimJmodRecipe
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   497
  $1-interim-jmod:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   498
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CreateJmods.gmk \
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   499
	    MODULE=$1 \
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   500
	    JMODS_DIR=$(INTERIM_JMODS_DIR) \
53995
ecc2bcc3beb0 8219971: Introduce SetupExecute in build system
ihse
parents: 53736
diff changeset
   501
	    JMODS_SUPPORT_DIR=$(INTERIM_JMODS_DIR)/support \
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   502
	    INTERIM_JMOD=true \
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   503
	)
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   504
endef
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   505
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   506
$(foreach m, $(INTERIM_IMAGE_MODULES), $(eval $(call DeclareInterimJmodRecipe,$m)))
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   507
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   508
interim-image:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   509
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f InterimImage.gmk)
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   510
38546
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   511
ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   512
  generate-link-opt-data:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   513
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GenerateLinkOptData.gmk)
38546
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   514
endif
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   515
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   516
ALL_TARGETS += $(INTERIM_JMOD_TARGETS) interim-image generate-link-opt-data
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   517
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   518
################################################################################
44027
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   519
# Generate test names for all JTReg test groups
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   520
#
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   521
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   522
define DeclareRunTestRecipe
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   523
  test-$1:
53465
d982794784f1 8217626: Add setup/teardown functionality to RunTest
ihse
parents: 53295
diff changeset
   524
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
d982794784f1 8217626: Add setup/teardown functionality to RunTest
ihse
parents: 53295
diff changeset
   525
	    TEST="$1")
44027
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   526
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   527
  exploded-test-$1:
53465
d982794784f1 8217626: Add setup/teardown functionality to RunTest
ihse
parents: 53295
diff changeset
   528
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
45266
29347d0c7122 8180651: Make target to run tests on exploded image
erikj
parents: 45105
diff changeset
   529
	    TEST="$1" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
44027
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   530
endef
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   531
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   532
# ALL_NAMED_TESTS is defined in FindTests.gmk
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   533
$(foreach t, $(ALL_NAMED_TESTS), $(eval $(call DeclareRunTestRecipe,$t)))
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   534
ALL_TEST_TARGETS := $(addprefix test-, $(ALL_NAMED_TESTS))
52446
187d16766a63 8213338: Reduce the number of generated make targets
ihse
parents: 52342
diff changeset
   535
187d16766a63 8213338: Reduce the number of generated make targets
ihse
parents: 52342
diff changeset
   536
# We only support the "exploded-test-gtest" shortcut
187d16766a63 8213338: Reduce the number of generated make targets
ihse
parents: 52342
diff changeset
   537
ALL_EXPLODED_TESTS := gtest
187d16766a63 8213338: Reduce the number of generated make targets
ihse
parents: 52342
diff changeset
   538
ALL_EXPLODED_TEST_TARGETS := $(addprefix exploded-test-, $(ALL_EXPLODED_TESTS))
44027
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   539
53465
d982794784f1 8217626: Add setup/teardown functionality to RunTest
ihse
parents: 53295
diff changeset
   540
ALL_TARGETS += $(ALL_TEST_TARGETS) $(ALL_EXPLODED_TEST_TARGETS)
44027
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   541
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   542
################################################################################
52595
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
   543
# Build tests and microbenchmarks
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   544
#
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   545
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   546
prepare-test-image:
47984
89c26000ce52 8192067: Add fixpath to test image
ihse
parents: 47940
diff changeset
   547
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f TestImage.gmk prepare-test-image)
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   548
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   549
build-test-hotspot-jtreg-native:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   550
	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregNativeHotspot.gmk \
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   551
	    build-test-hotspot-jtreg-native)
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   552
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   553
test-image-hotspot-jtreg-native:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   554
	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregNativeHotspot.gmk \
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   555
	    test-image-hotspot-jtreg-native)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   556
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   557
build-test-jdk-jtreg-native:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   558
	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregNativeJdk.gmk \
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   559
	    build-test-jdk-jtreg-native)
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   560
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   561
test-image-jdk-jtreg-native:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   562
	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregNativeJdk.gmk \
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   563
	    test-image-jdk-jtreg-native)
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   564
50908
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   565
build-test-hotspot-jtreg-graal:
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   566
	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregGraalUnit.gmk \
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   567
	     build-test-hotspot-jtreg-graal)
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   568
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   569
test-image-hotspot-jtreg-graal:
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   570
	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregGraalUnit.gmk \
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   571
	     test-image-hotspot-jtreg-graal)
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   572
37967
8dd54c3bf02a 8148244: Finalize and integrate GTest implementation
iignatyev
parents: 37965
diff changeset
   573
ifeq ($(BUILD_GTEST), true)
8dd54c3bf02a 8148244: Finalize and integrate GTest implementation
iignatyev
parents: 37965
diff changeset
   574
  test-image-hotspot-gtest:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   575
	+($(CD) $(TOPDIR)/make/hotspot/test && $(MAKE) $(MAKE_ARGS) -f GtestImage.gmk)
37967
8dd54c3bf02a 8148244: Finalize and integrate GTest implementation
iignatyev
parents: 37965
diff changeset
   576
endif
8dd54c3bf02a 8148244: Finalize and integrate GTest implementation
iignatyev
parents: 37965
diff changeset
   577
32562
b4ed30cd962e 8136378: Build test libs using properly integrated makefile
ihse
parents: 31948
diff changeset
   578
build-test-lib:
b4ed30cd962e 8136378: Build test libs using properly integrated makefile
ihse
parents: 31948
diff changeset
   579
	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f BuildTestLib.gmk)
b4ed30cd962e 8136378: Build test libs using properly integrated makefile
ihse
parents: 31948
diff changeset
   580
37035
08e00f202d7a 8154292: jdk9-dev: All SE builds failed on 2016-04-14
erikj
parents: 37034
diff changeset
   581
ifeq ($(BUILD_FAILURE_HANDLER), true)
08e00f202d7a 8154292: jdk9-dev: All SE builds failed on 2016-04-14
erikj
parents: 37034
diff changeset
   582
  # Builds the failure handler jtreg extension
08e00f202d7a 8154292: jdk9-dev: All SE builds failed on 2016-04-14
erikj
parents: 37034
diff changeset
   583
  build-test-failure-handler:
37031
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   584
	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) \
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   585
	    -f BuildFailureHandler.gmk build)
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   586
37035
08e00f202d7a 8154292: jdk9-dev: All SE builds failed on 2016-04-14
erikj
parents: 37034
diff changeset
   587
  # Copies the failure handler jtreg extension into the test image
08e00f202d7a 8154292: jdk9-dev: All SE builds failed on 2016-04-14
erikj
parents: 37034
diff changeset
   588
  test-image-failure-handler:
37031
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   589
	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) \
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   590
	     -f BuildFailureHandler.gmk images)
37035
08e00f202d7a 8154292: jdk9-dev: All SE builds failed on 2016-04-14
erikj
parents: 37034
diff changeset
   591
endif
37031
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   592
52595
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
   593
build-microbenchmark:
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
   594
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f test/BuildMicrobenchmark.gmk)
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
   595
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   596
ALL_TARGETS += prepare-test-image build-test-hotspot-jtreg-native \
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   597
    test-image-hotspot-jtreg-native build-test-jdk-jtreg-native \
37031
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   598
    test-image-jdk-jtreg-native build-test-lib build-test-failure-handler \
44027
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   599
    test-failure-handler test-image-failure-handler test-image-hotspot-gtest \
52595
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
   600
    test-image-hotspot-jtreg-graal build-test-hotspot-jtreg-graal \
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
   601
    build-microbenchmark
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   602
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   603
################################################################################
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   604
# Run tests
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   605
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   606
test:
53465
d982794784f1 8217626: Add setup/teardown functionality to RunTest
ihse
parents: 53295
diff changeset
   607
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
d982794784f1 8217626: Add setup/teardown functionality to RunTest
ihse
parents: 53295
diff changeset
   608
	    TEST="$(TEST)")
37974
05e1a65c1d56 8157028: Add make target for running gtest tests
ehelin
parents: 37972
diff changeset
   609
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   610
exploded-test:
53465
d982794784f1 8217626: Add setup/teardown functionality to RunTest
ihse
parents: 53295
diff changeset
   611
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   612
	    TEST="$(TEST)" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   613
53295
520f8e2041bb 8215729: Enhance makefiles to allow collecting code coverage with JCov
shurailine
parents: 52986
diff changeset
   614
jcov-test:
520f8e2041bb 8215729: Enhance makefiles to allow collecting code coverage with JCov
shurailine
parents: 52986
diff changeset
   615
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk \
520f8e2041bb 8215729: Enhance makefiles to allow collecting code coverage with JCov
shurailine
parents: 52986
diff changeset
   616
	    TEST="$(TEST)" TEST_OPTS_JCOV=true)
520f8e2041bb 8215729: Enhance makefiles to allow collecting code coverage with JCov
shurailine
parents: 52986
diff changeset
   617
520f8e2041bb 8215729: Enhance makefiles to allow collecting code coverage with JCov
shurailine
parents: 52986
diff changeset
   618
ALL_TARGETS += test exploded-test jcov-test
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   619
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   620
################################################################################
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   621
# Bundles
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   622
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   623
product-bundles:
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   624
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk product-bundles)
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   625
54348
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
   626
legacy-bundles:
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
   627
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk legacy-bundles)
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
   628
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   629
test-bundles:
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   630
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk test-bundles)
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   631
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   632
docs-bundles:
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   633
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk docs-bundles)
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   634
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   635
static-libs-bundles:
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   636
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk static-libs-bundles)
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   637
52774
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   638
ifeq ($(JCOV_ENABLED), true)
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   639
  jcov-bundles:
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   640
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk jcov-bundles)
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   641
endif
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   642
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   643
ALL_TARGETS += product-bundles legacy-bundles test-bundles docs-bundles \
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   644
    static-libs-bundles jcov-bundles
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   645
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   646
################################################################################
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   647
# Install targets
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   648
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   649
install:
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   650
	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Install.gmk)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   651
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   652
ALL_TARGETS += install
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   653
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   654
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   655
#
27595
cff167b3bfa2 8065914: Various improvements and cleanup of build system
ihse
parents: 27329
diff changeset
   656
# Dependency declarations between targets.
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   657
#
27595
cff167b3bfa2 8065914: Various improvements and cleanup of build system
ihse
parents: 27329
diff changeset
   658
# These are declared in two groups. First all dependencies between targets that
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   659
# have recipes above as these dependencies may be disabled. Then the aggregator
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   660
# targets that do not have recipes of their own, which will never have their
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   661
# dependencies disabled.
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   662
#
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   663
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   664
# Targets with recipes above
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   665
27595
cff167b3bfa2 8065914: Various improvements and cleanup of build system
ihse
parents: 27329
diff changeset
   666
# If running an *-only target, parallel execution and dependencies between
cff167b3bfa2 8065914: Various improvements and cleanup of build system
ihse
parents: 27329
diff changeset
   667
# recipe targets are disabled. This makes it possible to run a select set of
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   668
# recipe targets in order. It's the responsibility of the user to make sure
27595
cff167b3bfa2 8065914: Various improvements and cleanup of build system
ihse
parents: 27329
diff changeset
   669
# all prerequisites are fulfilled.
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   670
ifneq ($(findstring -only, $(MAKECMDGOALS)), )
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   671
  .NOTPARALLEL:
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   672
else
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   673
  $(LANGTOOLS_GENSRC_TARGETS): buildtools-langtools
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   674
47364
6b3389375f31 8189094: Change required boot jdk to JDK 9
erikj
parents: 47314
diff changeset
   675
  interim-langtools: $(INTERIM_LANGTOOLS_GENSRC_TARGETS)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   676
57544
99d2dd7b84a8 8212970: TZ database in "vanguard" format support
naoto
parents: 55447
diff changeset
   677
  buildtools-jdk: interim-langtools interim-cldrconverter interim-tzdb
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   678
42531
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42529
diff changeset
   679
  buildtools-hotspot: interim-langtools
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42529
diff changeset
   680
41171
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
   681
  buildtools-modules: exploded-image-base
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
   682
42531
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42529
diff changeset
   683
  $(HOTSPOT_GENSRC_TARGETS): interim-langtools buildtools-hotspot
33045
00f484891bcf 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 32806
diff changeset
   684
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   685
  $(JDK_GENSRC_TARGETS): interim-langtools buildtools-jdk
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   686
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   687
  $(GENSRC_MODULEINFO_TARGETS): buildtools-jdk
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   688
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   689
  $(GENDATA_TARGETS): interim-langtools buildtools-jdk
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   690
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   691
  interim-rmic: interim-langtools
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   692
32806
e0a88439f971 8137088: Drop building of interim_java.corba
erikj
parents: 32562
diff changeset
   693
  $(RMIC_TARGETS): interim-langtools interim-rmic
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   694
31310
481585782338 8081814: Modularize the deploy build
erikj
parents: 30742
diff changeset
   695
  $(JAVA_TARGETS): interim-langtools
481585782338 8081814: Modularize the deploy build
erikj
parents: 30742
diff changeset
   696
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   697
  # Declare dependencies between hotspot-<variant>* targets
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   698
  $(foreach v, $(JVM_VARIANTS), \
52802
7b757120a053 8214311: dtrace gensrc has missing dependencies
ihse
parents: 52774
diff changeset
   699
      $(eval hotspot-$v-gensrc: java.base-copy) \
48355
4944950606ef 8191913: Bump classfile version number to 55
psandoz
parents: 47984
diff changeset
   700
      $(eval hotspot-$v-libs: hotspot-$v-gensrc java.base-copy) \
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   701
  )
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   702
37402
62b5f067032e 8152666: The new Hotspot Build System
erikj
parents: 36506
diff changeset
   703
  hotspot-ide-project: hotspot exploded-image
62b5f067032e 8152666: The new Hotspot Build System
erikj
parents: 36506
diff changeset
   704
33562
c76b2fa11486 8136556: Add the ability to perform static builds of MacOSX x64 binaries
bobv
parents: 32806
diff changeset
   705
  generate-exported-symbols: java.base-libs jdk.jdwp.agent-libs
c76b2fa11486 8136556: Add the ability to perform static builds of MacOSX x64 binaries
bobv
parents: 32806
diff changeset
   706
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   707
  # If not already set, set the JVM variant target so that the JVM will be built.
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   708
  JVM_MAIN_LIB_TARGETS ?= hotspot-$(JVM_VARIANT_MAIN)-libs
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   709
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   710
  # Building one JVM variant is enough to start building the other libs
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   711
  $(LIBS_TARGETS): $(JVM_MAIN_LIB_TARGETS)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   712
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   713
  $(LAUNCHER_TARGETS): java.base-libs
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   714
33562
c76b2fa11486 8136556: Add the ability to perform static builds of MacOSX x64 binaries
bobv
parents: 32806
diff changeset
   715
  ifeq ($(STATIC_BUILD), true)
c76b2fa11486 8136556: Add the ability to perform static builds of MacOSX x64 binaries
bobv
parents: 32806
diff changeset
   716
    $(LAUNCHER_TARGETS): generate-exported-symbols
c76b2fa11486 8136556: Add the ability to perform static builds of MacOSX x64 binaries
bobv
parents: 32806
diff changeset
   717
  endif
c76b2fa11486 8136556: Add the ability to perform static builds of MacOSX x64 binaries
bobv
parents: 32806
diff changeset
   718
26115
7a9dc384f3c8 8055188: General cleanup of minor issues from source restructure
erikj
parents: 25883
diff changeset
   719
  # The demos are currently linking to libjvm and libjava, just like all other
7a9dc384f3c8 8055188: General cleanup of minor issues from source restructure
erikj
parents: 25883
diff changeset
   720
  # jdk libs, even though they don't need to. To avoid warnings, make sure they
7a9dc384f3c8 8055188: General cleanup of minor issues from source restructure
erikj
parents: 25883
diff changeset
   721
  # aren't built until after libjava and libjvm are available to link to.
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   722
  demos-jdk: java.base-libs exploded-image
45096
6e9ec4d965f2 8179867: JDK9 b167: demos exist in JDK bundles
erikj
parents: 44733
diff changeset
   723
  test-image-demos-jdk: demos-jdk
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   724
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   725
  # Declare dependency from <module>-java to <module>-gensrc
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   726
  $(foreach m, $(GENSRC_MODULES), $(eval $m-java: $m-gensrc))
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   727
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   728
  # Declare dependencies between java modules
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   729
  $(foreach m, $(JAVA_MODULES), \
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   730
      $(eval $m-java: $(addsuffix -java, $(filter $(JAVA_MODULES), \
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   731
      $(call FindDepsForModule,$m)))))
58269
7a8de392f9e1 8150741: make <module> not equivalent to make <module-dependencies> <module>
erikj
parents: 57544
diff changeset
   732
  # Declare dependencies between the module meta targets
7a8de392f9e1 8150741: make <module> not equivalent to make <module-dependencies> <module>
erikj
parents: 57544
diff changeset
   733
  $(foreach m, $(ALL_MODULES), $(eval $m: $(call FindDepsForModule,$m)))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   734
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   735
  # Declare dependencies between <module>-rmic to <module>-java
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   736
  $(foreach m, $(RMIC_MODULES), $(eval $m-rmic: $m-java))
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   737
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   738
  # Declare dependencies from <module>-lib to <module>-java
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   739
  # Skip modules that do not have java source.
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   740
  $(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs: $m-java))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   741
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   742
  # Declare dependencies from all other <module>-lib to java.base-lib
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   743
  $(foreach t, $(filter-out java.base-libs, $(LIBS_TARGETS)), \
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   744
      $(eval $t: java.base-libs))
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   745
29851
81a61a04e2fe 8076182: Open Source Java Access Bridge - Create Patch for JEP C127 8055831
ptbrunet
parents: 29305
diff changeset
   746
  # jdk.accessibility depends on java.desktop
81a61a04e2fe 8076182: Open Source Java Access Bridge - Create Patch for JEP C127 8055831
ptbrunet
parents: 29305
diff changeset
   747
  jdk.accessibility-libs: java.desktop-libs
81a61a04e2fe 8076182: Open Source Java Access Bridge - Create Patch for JEP C127 8055831
ptbrunet
parents: 29305
diff changeset
   748
27595
cff167b3bfa2 8065914: Various improvements and cleanup of build system
ihse
parents: 27329
diff changeset
   749
  # This dependency needs to be explicitly declared. jdk.jdi-gensrc generates a
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   750
  # header file used by jdk.jdwp.agent-libs. The jdk.jdwp.agent-gensrc is a
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   751
  # virtual target.
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   752
  jdk.jdwp.agent-libs: jdk.jdwp.agent-gensrc
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   753
26672
528d9d6614e5 8047933: Race between jdk/make/scripts/genExceptions.sh and com.sun.tools.javadoc.Main
erikj
parents: 26398
diff changeset
   754
  # The swing beans need to have java base properly generated to avoid errors
48355
4944950606ef 8191913: Bump classfile version number to 55
psandoz
parents: 47984
diff changeset
   755
  # in javadoc. The X11 wrappers need the java.base include files to have been
4944950606ef 8191913: Bump classfile version number to 55
psandoz
parents: 47984
diff changeset
   756
  # copied and processed.
4944950606ef 8191913: Bump classfile version number to 55
psandoz
parents: 47984
diff changeset
   757
  java.desktop-gensrc-src: java.base-gensrc java.base-copy
26672
528d9d6614e5 8047933: Race between jdk/make/scripts/genExceptions.sh and com.sun.tools.javadoc.Main
erikj
parents: 26398
diff changeset
   758
52464
c139884bd80e 8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor
dlong
parents: 52446
diff changeset
   759
  # The annotation processing for jdk.internal.vm.compiler
c139884bd80e 8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor
dlong
parents: 52446
diff changeset
   760
  # and jdk.internal.vm.compiler.management needs classes from the current JDK.
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   761
  jdk.internal.vm.compiler-gensrc-src: $(addsuffix -java, \
43925
3c0049f39b20 8174879: Rename jdk.vm.ci to jdk.internal.vm.ci
kvn
parents: 43655
diff changeset
   762
      $(call FindTransitiveDepsForModule, jdk.internal.vm.compiler))
52464
c139884bd80e 8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor
dlong
parents: 52446
diff changeset
   763
  jdk.internal.vm.compiler.management-gensrc-src: $(addsuffix -java, \
c139884bd80e 8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor
dlong
parents: 52446
diff changeset
   764
      $(call FindTransitiveDepsForModule, jdk.internal.vm.compiler.management))
42531
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42529
diff changeset
   765
52464
c139884bd80e 8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor
dlong
parents: 52446
diff changeset
   766
  # For these modules, the gensrc step is generating a module-info.java.extra
42531
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42529
diff changeset
   767
  # file to be processed by the gensrc-moduleinfo target.
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
   768
  jdk.internal.vm.compiler-gensrc-moduleinfo: jdk.internal.vm.compiler-gensrc-src
52464
c139884bd80e 8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor
dlong
parents: 52446
diff changeset
   769
  jdk.internal.vm.compiler.management-gensrc-moduleinfo: jdk.internal.vm.compiler.management-gensrc-src
42531
37ee95196b17 8166417: Integrate Graal-core into JDK for AOT compiler
kvn
parents: 42529
diff changeset
   770
30742
679fecf08dd2 8074432: Move jdeps and javap to jdk.jdeps module
mchung
parents: 29854
diff changeset
   771
  jdk.jdeps-gendata: java rmic
26132
11df1233e1e8 8055856: checkdeps build target doesn't work for cross-compilation builds
mchung
parents: 26128
diff changeset
   772
45873
94940d8e375b 8181298: Assertion failure in com.sun.tools.javac.comp.Modules
jlahoda
parents: 45555
diff changeset
   773
  # The ct.sym generation uses all the moduleinfos as input
94940d8e375b 8181298: Assertion failure in com.sun.tools.javac.comp.Modules
jlahoda
parents: 45555
diff changeset
   774
  jdk.compiler-gendata: $(GENSRC_MODULEINFO_TARGETS)
94940d8e375b 8181298: Assertion failure in com.sun.tools.javac.comp.Modules
jlahoda
parents: 45555
diff changeset
   775
42285
864475e2cf63 8169816: Move src.zip and jrt-fs.jar under the lib directory
mchung
parents: 42282
diff changeset
   776
  # Declare dependencies between jmod targets.
864475e2cf63 8169816: Move src.zip and jrt-fs.jar under the lib directory
mchung
parents: 42282
diff changeset
   777
  # java.base jmod needs jrt-fs.jar and access to the other jmods to be built.
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   778
  # When creating the BUILDJDK, we don't need to add hashes to java.base, thus
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   779
  # we don't need to depend on all other jmods
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   780
  ifneq ($(CREATING_BUILDJDK), true)
43655
5aab808cefb5 8174172: Race when building java.base.jmod
erikj
parents: 43170
diff changeset
   781
    java.base-jmod: jrtfs-jar $(filter-out java.base-jmod, $(JMOD_TARGETS))
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   782
  endif
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   783
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   784
  # If not already set, set the JVM target so that the JVM will be built.
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   785
  JVM_MAIN_TARGETS ?= hotspot
49133
a5b237cfccef 8198844: Clean up GensrcX11Wrappers
ihse
parents: 48918
diff changeset
   786
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   787
  # Building java.base-jmod requires all of VM (ie hotspot) to be built.
49133
a5b237cfccef 8198844: Clean up GensrcX11Wrappers
ihse
parents: 48918
diff changeset
   788
  java.base-jmod: $(JVM_MAIN_TARGETS)
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   789
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   790
  # Declare dependencies from <module>-jmod to all other module targets
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   791
  $(foreach m, $(JAVA_MODULES), $(eval $m_JMOD_DEPS += $m-java))
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   792
  $(foreach m, $(GENDATA_MODULES), $(eval $m_JMOD_DEPS += $m-gendata))
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   793
  $(foreach m, $(RMIC_MODULES), $(eval $m_JMOD_DEPS += $m-rmic))
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   794
  $(foreach m, $(LIBS_MODULES), $(eval $m_JMOD_DEPS += $m-libs))
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   795
  $(foreach m, $(LAUNCHER_MODULES), $(eval $m_JMOD_DEPS += $m-launchers))
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   796
  $(foreach m, $(COPY_MODULES), $(eval $m_JMOD_DEPS += $m-copy))
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   797
  $(foreach m, $(ALL_MODULES), $(eval $m-jmod: $($(m)_JMOD_DEPS)))
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   798
  $(foreach m, $(INTERIM_IMAGE_MODULES), $(eval $m-interim-jmod: $($(m)_JMOD_DEPS)))
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   799
52022
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   800
  # Setup the minimal set of generated native source dependencies for hotspot
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   801
  $(foreach v, $(JVM_VARIANTS), \
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   802
    $(eval hotspot-$v-libs-compile-commands: hotspot-$v-gensrc) \
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   803
    $(foreach m, $(filter java.desktop jdk.hotspot.agent, $(GENSRC_MODULES)), \
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   804
      $(eval hotspot-$v-libs-compile-commands: $m-gensrc)) \
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   805
  )
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   806
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   807
  # For the full JDK compile commands, create all possible generated sources
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   808
  $(foreach m, $(GENSRC_MODULES), $(eval $m-libs-compile-commands: $m-gensrc))
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   809
  $(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs-compile-commands: $m-java))
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   810
53736
81767abf7e6a 8218807: Compilation database (compile_commands.json) may contain obsolete items
rwestberg
parents: 53683
diff changeset
   811
  $(COMPILE_COMMANDS_TARGETS_HOTSPOT): clean-compile-commands
81767abf7e6a 8218807: Compilation database (compile_commands.json) may contain obsolete items
rwestberg
parents: 53683
diff changeset
   812
  $(COMPILE_COMMANDS_TARGETS_JDK): clean-compile-commands
52022
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   813
  compile-commands-hotspot: $(COMPILE_COMMANDS_TARGETS_HOTSPOT)
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   814
  compile-commands: $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK)
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
   815
55166
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   816
  vscode-project: compile-commands
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   817
  vscode-project-clangd: compile-commands
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   818
  vscode-project-rtags: compile-commands
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   819
  vscode-project-ccls: compile-commands
2ae056696b15 8223678: Add Visual Studio Code workspace generation support (for native code)
rwestberg
parents: 55112
diff changeset
   820
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   821
  # The -static-libs targets depend on -java as well as java.base-copy.
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   822
  $(foreach m, $(filter $(JAVA_MODULES), $(STATIC_LIBS_MODULES)), \
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   823
    $(eval $m-static-libs: $m-java java.base-copy))
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   824
41275
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   825
  # Jmods cannot be created until we have the jmod tool ready to run. During
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   826
  # a normal build we run it from the exploded image, but when cross compiling
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   827
  # it's run from the buildjdk, which is either created at build time or user
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   828
  # supplied.
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   829
  ifeq ($(CREATE_BUILDJDK), true)
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   830
    ifneq ($(CREATING_BUILDJDK), true)
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   831
      # When cross compiling and buildjdk is to be created, simply depend on
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   832
      # creating the buildjdk.
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   833
      $(JMOD_TARGETS): create-buildjdk
41171
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
   834
      buildtools-modules: create-buildjdk
41275
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   835
    else
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   836
      # While actually creating the buildjdk, we need to list the bare
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   837
      # minimum dependencies needed before running jmod, to avoid building
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   838
      # more than necessary. This includes:
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   839
      # * all java modules
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   840
      # * jdk.jlink-launchers
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   841
      # * copy jvm.cfg (done in java.base-copy)
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   842
      # * tzdb.dat (done in java.base-gendata)
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   843
      # Without all of these jimage, jlink and jmod won't start.
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   844
      $(JMOD_TARGETS) $(INTERIM_JMOD_TARGETS): java.base-libs java.base-copy \
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   845
          java.base-gendata jdk.jlink-launchers java
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   846
    endif
41275
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   847
  else
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   848
    # The normal non cross compilation case uses needs to wait for the full
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   849
    # exploded-image to avoid a race with the optimize target.
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   850
    $(JMOD_TARGETS) $(INTERIM_JMOD_TARGETS): exploded-image
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   851
  endif
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   852
42505
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42292
diff changeset
   853
  # All modules include the main license files from java.base.
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42292
diff changeset
   854
  $(JMOD_TARGETS): java.base-copy
11439b0c0792 8169925: Organize licenses by module in source, JMOD file, and run-time image
mchung
parents: 42292
diff changeset
   855
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   856
  zip-security: java.base-java java.security.jgss-java java.security.jgss-libs \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   857
      $(filter jdk.crypto%, $(JAVA_TARGETS))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   858
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   859
  zip-source: gensrc rmic
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   860
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   861
  jrtfs-jar: interim-langtools
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   862
52607
da785658408b 8214045: Missing explicit dependencies of build-microbenchmark cause intermittent build failure
redestad
parents: 52595
diff changeset
   863
  build-microbenchmark: interim-langtools exploded-image
52595
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
   864
38546
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   865
  ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   866
    ifeq ($(CREATE_BUILDJDK), true)
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   867
      # If creating a buildjdk, the interim image needs to be based on that.
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   868
      generate-link-opt-data: create-buildjdk
38546
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   869
    else ifeq ($(EXTERNAL_BUILDJDK), false)
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   870
      # If an external buildjdk has been provided, we skip generating an
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   871
      # interim-image and just use the external buildjdk for generating
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   872
      # classlist.
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   873
      generate-link-opt-data: interim-image
38546
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   874
    endif
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   875
    generate-link-opt-data: buildtools-jdk
38546
91a5c3430d4f 8157336: Generation of classlists at build time should be configurable
erikj
parents: 37980
diff changeset
   876
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   877
    # The generated classlist needs to go into java.base-jmod.
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   878
    java.base-jmod jdk.jlink-jmod jdk-image legacy-jre-image: generate-link-opt-data
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   879
  endif
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
   880
42292
11f0a32a38f0 8170528: Race condition with release file creation
erikj
parents: 42285
diff changeset
   881
  release-file: create-source-revision-tracker
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   882
44724
8efb5c82a573 8173801: Modify makefiles to not build demos and samples bundles.
shurailine
parents: 44397
diff changeset
   883
  jdk-image: jmods zip-source demos release-file
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   884
  legacy-jre-image: jmods release-file
42506
54b0b4fffab5 8170878: JDK 9 fails to build when enabling Hotspot code coverage
erikj
parents: 42505
diff changeset
   885
  symbols-image: $(LIBS_TARGETS) $(LAUNCHER_TARGETS)
42292
11f0a32a38f0 8170528: Race condition with release file creation
erikj
parents: 42285
diff changeset
   886
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   887
  static-libs-image: $(STATIC_LIBS_TARGETS)
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   888
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   889
  mac-jdk-bundle: jdk-image
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
   890
  mac-legacy-jre-bundle: legacy-jre-image
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   891
52774
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   892
  ifeq ($(JCOV_INPUT_JDK), )
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   893
    jcov-image: jdk-image
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   894
  endif
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   895
41275
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   896
  # The optimize target can run as soon as the modules dir has been completely
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   897
  # populated (java, copy and gendata targets) and the basic libs and launchers
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   898
  # have been built.
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   899
  exploded-image-optimize: java copy gendata java.base-libs java.base-launchers \
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
   900
      buildtools-modules
41171
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
   901
41260
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
   902
  bootcycle-images: jdk-image
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   903
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   904
  docs-jdk-api-javadoc: $(GENSRC_TARGETS) rmic
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   905
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   906
  docs-javase-api-javadoc: $(GENSRC_TARGETS) rmic
44397
f932d6b9f7fe 8173303: Add module-subgraph images to main platform documentation
mchung
parents: 44078
diff changeset
   907
47432
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   908
  docs-reference-api-javadoc: $(GENSRC_TARGETS) rmic
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   909
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   910
  docs-jdk-api-modulegraph: exploded-image buildtools-modules
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   911
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
   912
  docs-javase-api-modulegraph: exploded-image buildtools-modules
44725
8747b14eb49c 8172312: Update docs target and image for new combined docs
ihse
parents: 44724
diff changeset
   913
47432
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   914
  docs-reference-api-modulegraph: exploded-image buildtools-modules
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
   915
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   916
  # If not already set, then set the JVM specific docs targets
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   917
  JVM_DOCS_TARGETS ?= hotspot-$(JVM_VARIANT_MAIN)-gensrc
49133
a5b237cfccef 8198844: Clean up GensrcX11Wrappers
ihse
parents: 48918
diff changeset
   918
44733
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44726
diff changeset
   919
  # The gensrc steps for hotspot and jdk.jdi create html spec files.
55112
ad4285992012 8224257: fix issues in files generated by pandoc
jjg
parents: 54426
diff changeset
   920
  docs-jdk-specs: buildtools-jdk $(JVM_DOCS_TARGETS) jdk.jdi-gensrc \
45229
88a3fab6006f 8180426: Use standard css file for new docs bundle index.html page
ihse
parents: 45105
diff changeset
   921
      docs-jdk-index
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   922
44733
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44726
diff changeset
   923
  docs-zip: docs-jdk
37649
3809534d4531 8154841: Let different Jib profiles have different default make targets
erikj
parents: 37407
diff changeset
   924
55447
95794e32352e 8226325: Support building of filtered spec bundles
dlsmith
parents: 55292
diff changeset
   925
  docs-specs-zip: docs-jdk-specs
95794e32352e 8226325: Support building of filtered spec bundles
dlsmith
parents: 55292
diff changeset
   926
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   927
  # Tests
41260
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
   928
  test: jdk-image test-image
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   929
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   930
  exploded-test: exploded-image test-image
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   931
53295
520f8e2041bb 8215729: Enhance makefiles to allow collecting code coverage with JCov
shurailine
parents: 52986
diff changeset
   932
  jcov-test: jcov-image test-image
520f8e2041bb 8215729: Enhance makefiles to allow collecting code coverage with JCov
shurailine
parents: 52986
diff changeset
   933
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   934
  test-make: clean-test-make compile-commands
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   935
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   936
  test-make-compile-commands: compile-commands
44027
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   937
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   938
  # Declare dependency for all generated test targets
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
   939
  $(foreach t, $(filter-out test-make%, $(ALL_TEST_TARGETS)), $(eval $t: jdk-image test-image))
52446
187d16766a63 8213338: Reduce the number of generated make targets
ihse
parents: 52342
diff changeset
   940
  $(foreach t, $(ALL_EXPLODED_TEST_TARGETS), $(eval $t: exploded-image test-image))
44027
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
   941
41874
07c3c4f1eb63 8168108: lib/classlist should be packaged in java.base.jmod
erikj
parents: 41660
diff changeset
   942
  interim-image: $(INTERIM_JMOD_TARGETS)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   943
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   944
  build-test-lib: exploded-image
33436
c6d79360ecff 8141051: Build test libs -source/-target 9
erikj
parents: 33045
diff changeset
   945
37031
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   946
  build-test-failure-handler: interim-langtools
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   947
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   948
  test-image-failure-handler: build-test-failure-handler
e90042bf422d 8149777: Enable enhanced failure handler for "make test"
erikj
parents: 36789
diff changeset
   949
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   950
  build-test-hotspot-jtreg-native: buildtools-jdk \
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   951
      hotspot-$(JVM_VARIANT_MAIN)-libs
29159
7fed45c53518 8074072: Race condition in build since JDK-8072842 can cause failed builds on Solaris
erikj
parents: 29156
diff changeset
   952
45555
9b00774291d5 8181147: JNU_GetStringPlatformChars should have a fast path for UTF-8
redestad
parents: 45271
diff changeset
   953
  build-test-jdk-jtreg-native: buildtools-jdk java.base-libs
29159
7fed45c53518 8074072: Race condition in build since JDK-8072842 can cause failed builds on Solaris
erikj
parents: 29156
diff changeset
   954
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
   955
  build-test-hotspot-jtreg-graal: exploded-image
50908
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   956
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   957
  test-image-hotspot-jtreg-native: build-test-hotspot-jtreg-native
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   958
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   959
  test-image-jdk-jtreg-native: build-test-jdk-jtreg-native
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
   960
50908
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   961
  test-image-hotspot-jtreg-graal: build-test-hotspot-jtreg-graal
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
   962
37967
8dd54c3bf02a 8148244: Finalize and integrate GTest implementation
iignatyev
parents: 37965
diff changeset
   963
  test-image-hotspot-gtest: hotspot
8dd54c3bf02a 8148244: Finalize and integrate GTest implementation
iignatyev
parents: 37965
diff changeset
   964
33722
f82c74b7f2db 8143036: Make install target does not depend on images
erikj
parents: 33571
diff changeset
   965
  install: product-images
f82c74b7f2db 8143036: Make install target does not depend on images
erikj
parents: 33571
diff changeset
   966
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   967
  product-bundles: product-images
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   968
54348
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
   969
  legacy-bundles: legacy-images
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
   970
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   971
  test-bundles: test-image
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   973
  docs-bundles: docs-image
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
   974
52774
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   975
  jcov-bundles: jcov-image
56ca125c973b 8214309: Enhance makefiles to allow generating JCov instrumented build
shurailine
parents: 52607
diff changeset
   976
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   977
  static-libs-bundles: static-libs-image
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
   978
41171
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
   979
  generate-summary: jmods buildtools-modules
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
   980
49133
a5b237cfccef 8198844: Clean up GensrcX11Wrappers
ihse
parents: 48918
diff changeset
   981
  update-x11wrappers: java.base-copy buildtools-jdk
a5b237cfccef 8198844: Clean up GensrcX11Wrappers
ihse
parents: 48918
diff changeset
   982
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   983
endif
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   984
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   985
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   986
# Virtual targets without recipes
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
   987
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   988
# If not already set, set the JVM specific tools targets
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   989
JVM_TOOLS_TARGETS ?= buildtools-hotspot
32806
e0a88439f971 8137088: Drop building of interim_java.corba
erikj
parents: 32562
diff changeset
   990
buildtools: buildtools-langtools interim-langtools interim-rmic \
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
   991
    buildtools-jdk $(JVM_TOOLS_TARGETS)
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
   992
54422
f562f8318ebd 8217728: Speed up incremental rerun of "make hotspot"
erikj
parents: 54348
diff changeset
   993
# Declare dependencies from hotspot-<variant> targets
f562f8318ebd 8217728: Speed up incremental rerun of "make hotspot"
erikj
parents: 54348
diff changeset
   994
$(foreach v, $(JVM_VARIANTS), \
f562f8318ebd 8217728: Speed up incremental rerun of "make hotspot"
erikj
parents: 54348
diff changeset
   995
  $(eval hotspot-$v: hotspot-$v-gensrc hotspot-$v-libs) \
f562f8318ebd 8217728: Speed up incremental rerun of "make hotspot"
erikj
parents: 54348
diff changeset
   996
)
49423
fd608d605e2f 8200229: Simplify building of libjsig
ihse
parents: 49133
diff changeset
   997
hotspot: $(HOTSPOT_VARIANT_TARGETS)
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   998
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
   999
# Create targets hotspot-libs and hotspot-gensrc.
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
  1000
$(foreach v, $(JVM_VARIANTS), \
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
  1001
  $(eval hotspot-libs: hotspot-$v-libs) \
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
  1002
  $(eval hotspot-gensrc: hotspot-$v-gensrc) \
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
  1003
)
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
  1004
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1005
gensrc: $(GENSRC_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1006
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1007
gendata: $(GENDATA_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1008
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
  1009
copy: $(ALL_COPY_TARGETS)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1010
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1011
java: $(JAVA_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1012
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1013
rmic: $(RMIC_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1014
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1015
libs: $(LIBS_TARGETS)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1016
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
  1017
static-libs: $(STATIC_LIBS_TARGETS)
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
  1018
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1019
launchers: $(LAUNCHER_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1020
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
  1021
jmods: $(JMOD_TARGETS)
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
  1022
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1023
# Explicitly declare dependency for virtual target jdk.jdwp.agent-gensrc which
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1024
# is actually handled by jdk.jdi-gensrc
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1025
jdk.jdwp.agent-gensrc: jdk.jdi-gensrc
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1026
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1027
# Declare dependencies from <module> to all the individual targets specific
34102
c0a98357f847 8143141: Bring in minor build changes from the jigsaw/jake forest
erikj
parents: 33722
diff changeset
  1028
# to that module <module>-*, that are needed for the exploded image.
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1029
$(foreach m, $(GENSRC_MODULES), $(eval $m: $m-gensrc))
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1030
$(foreach m, $(JAVA_MODULES), $(eval $m: $m-java))
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1031
$(foreach m, $(GENDATA_MODULES), $(eval $m: $m-gendata))
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1032
$(foreach m, $(RMIC_MODULES), $(eval $m: $m-rmic))
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1033
$(foreach m, $(LIBS_MODULES), $(eval $m: $m-libs))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1034
$(foreach m, $(LAUNCHER_MODULES), $(eval $m: $m-launchers))
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
  1035
$(foreach m, $(ALL_COPY_MODULES), $(eval $m: $m-copy))
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
  1036
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
  1037
# Building java.base includes building all of hotspot.
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1038
java.base: $(JVM_MAIN_TARGETS)
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
  1039
31310
481585782338 8081814: Modularize the deploy build
erikj
parents: 30742
diff changeset
  1040
demos: demos-jdk
481585782338 8081814: Modularize the deploy build
erikj
parents: 30742
diff changeset
  1041
47253
92fd0e04e0e1 8187544: Replace BUILD_OUTPUT and OUTPUT_ROOT with OUTPUTDIR
ihse
parents: 47217
diff changeset
  1042
# The "exploded image" is a locally runnable JDK in $(OUTPUTDIR)/jdk.
41171
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
  1043
exploded-image-base: $(ALL_MODULES)
42292
11f0a32a38f0 8170528: Race condition with release file creation
erikj
parents: 42285
diff changeset
  1044
exploded-image: exploded-image-base release-file
41275
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
  1045
# When cross compiling, no need to optimize the exploded image since it won't
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
  1046
# be runnable on the host platform anyway.
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
  1047
ifneq ($(COMPILE_TYPE), cross)
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
  1048
  exploded-image: exploded-image-optimize
0ffcfee0d9a9 8167195: VM fails to initialize intermittently when running jmod to create some images
erikj
parents: 41260
diff changeset
  1049
endif
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1050
55292
f4b2d5b83ebf 8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
erikj
parents: 55166
diff changeset
  1051
create-buildjdk: create-buildjdk-interim-image
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
  1052
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1053
docs-jdk-api: docs-jdk-api-javadoc
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1054
docs-javase-api: docs-javase-api-javadoc
47432
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
  1055
docs-reference-api: docs-reference-api-javadoc
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1056
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1057
# If we're building full docs, we must also generate the module graphs to
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1058
# get non-broken api documentation.
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1059
ifeq ($(ENABLE_FULL_DOCS), true)
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1060
  docs-jdk-api: docs-jdk-api-modulegraph
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1061
  docs-javase-api: docs-javase-api-modulegraph
47432
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
  1062
  docs-reference-api: docs-reference-api-modulegraph
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1063
endif
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1064
45105
bf3dae998ca2 8180208: Provide a new docs bundle page
mchung
parents: 45103
diff changeset
  1065
docs-jdk: docs-jdk-api docs-jdk-specs docs-jdk-index
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1066
docs-javase: docs-javase-api
47432
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
  1067
docs-reference: docs-reference-api
44726
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1068
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1069
# alias for backwards compatibility
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1070
docs-javadoc: docs-jdk-api
04aa2c065f5c 8176785: Add build support to generate PNG file from .dot file
ihse
parents: 44725
diff changeset
  1071
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
  1072
mac-bundles: mac-jdk-bundle
31310
481585782338 8081814: Modularize the deploy build
erikj
parents: 30742
diff changeset
  1073
47253
92fd0e04e0e1 8187544: Replace BUILD_OUTPUT and OUTPUT_ROOT with OUTPUTDIR
ihse
parents: 47217
diff changeset
  1074
# The $(OUTPUTDIR)/images directory contain the resulting deliverables,
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1075
# and in line with this, our targets for creating these are named *-image[s].
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1076
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
  1077
# This target builds the product images, e.g. the JDK image
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1078
# (and possibly other, more specific versions)
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
  1079
product-images: jdk-image symbols-image exploded-image
41260
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
  1080
54348
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
  1081
# This target builds the legacy images, e.g. the legacy JRE image
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
  1082
legacy-images: legacy-jre-image
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
  1083
41260
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
  1084
# zip-security is actually a bundle, but for now it needs to be considered
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
  1085
# an image until this can be cleaned up properly.
4f71f07b30d1 8150736: Excessive disk space used by build system
erikj
parents: 41171
diff changeset
  1086
product-images: zip-security
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
  1087
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
  1088
# The module summary cannot be run when:
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
  1089
# * Cross compiling and building a partial BUILDJDK for the build host
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
  1090
# * An external buildjdk has been supplied since it may not match the
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
  1091
#   module selection of the target jdk
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
  1092
ifneq ($(CREATE_BUILDJDK), true)
37770
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
  1093
  ifeq ($(EXTERNAL_BUILDJDK), false)
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
  1094
    product-images: generate-summary
9f040cf69078 8150044: Generate classlists at build-time
redestad
parents: 37765
diff changeset
  1095
  endif
36506
17612cee3530 8142968: Module System implementation
alanb
parents: 36284
diff changeset
  1096
endif
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1097
53683
48ff68e2fe5c 8218431: Improved platform checking in makefiles
ihse
parents: 53465
diff changeset
  1098
ifeq ($(call isTargetOs, macosx), true)
50490
cbae0e359538 8200132: Remove jre images and bundles
erikj
parents: 50313
diff changeset
  1099
  product-images: mac-jdk-bundle
54348
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
  1100
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
  1101
  legacy-images: mac-legacy-jre-bundle
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1102
endif
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1103
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1104
# This target builds the documentation image
44733
6505f00be6f2 8178038: Copy jdwp-protocol.html to proper location
ihse
parents: 44726
diff changeset
  1105
docs-image: docs-jdk
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1106
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1107
# If not already set, set the JVM specific targets to build the test image
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1108
JVM_TEST_IMAGE_TARGETS ?= test-image-hotspot-jtreg-native test-image-hotspot-gtest
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1109
50908
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
  1110
ifeq ($(INCLUDE_GRAAL), true)
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
  1111
  JVM_TEST_IMAGE_TARGETS += test-image-hotspot-jtreg-graal
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
  1112
endif
7c51db95ccb6 8205207: Port Graal unit tests under jtreg
epavlova
parents: 50490
diff changeset
  1113
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1114
# This target builds the test image
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1115
test-image: prepare-test-image \
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1116
    test-image-jdk-jtreg-native test-image-failure-handler \
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1117
    test-image-demos-jdk $(JVM_TEST_IMAGE_TARGETS)
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1118
52595
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
  1119
ifneq ($(JMH_CORE_JAR), )
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
  1120
  test-image: build-microbenchmark
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
  1121
endif
16609197022c 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
redestad
parents: 52464
diff changeset
  1122
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1123
################################################################################
28285
3b8c4ccbb332 8067759: Create initial test bundle framework
ihse
parents: 28011
diff changeset
  1124
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
  1125
# all-images builds all our deliverables as images.
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1126
all-images: product-images test-image docs-image
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1127
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
  1128
# all-bundles packages all our deliverables as tar.gz bundles.
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
  1129
all-bundles: product-bundles test-bundles docs-bundles static-libs-bundles
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
  1130
42510
406dfb60de57 8170284: Move fine granular hotspot make targets to top level
erikj
parents: 41874
diff changeset
  1131
ALL_TARGETS += buildtools hotspot hotspot-libs hotspot-gensrc gensrc gendata \
58846
f9ac726ab347 8232748: Build static versions of certain JDK libraries
erikj
parents: 58269
diff changeset
  1132
    copy java rmic libs static-libs launchers jmods \
44724
8efb5c82a573 8173801: Modify makefiles to not build demos and samples bundles.
shurailine
parents: 44397
diff changeset
  1133
    jdk.jdwp.agent-gensrc $(ALL_MODULES) demos \
41171
407480ec6872 8166948: Exploded image too slow to be usable
erikj
parents: 39938
diff changeset
  1134
    exploded-image-base exploded-image \
47432
28d6070f5f2f 8189056: javadoc target for stable specdiff comparisons
ihse
parents: 47364
diff changeset
  1135
    create-buildjdk docs-jdk-api docs-javase-api docs-reference-api docs-jdk \
54348
f062188117ad 8221610: Resurrect (legacy) JRE bundle target
clanger
parents: 53995
diff changeset
  1136
    docs-javase docs-reference docs-javadoc mac-bundles product-images legacy-images \
43043
bf14e07c9075 8172241: Cleanup mistakes in jib publish support change
erikj
parents: 42981
diff changeset
  1137
    docs-image test-image all-images \
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
  1138
    all-bundles
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1139
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1140
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1141
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1142
# Traditional targets typically run by users.
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1143
# These can be considered aliases for the targets now named by a more
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1144
# "modern" naming scheme.
34491
307c28cb36c2 8136782: Introduce a build/configure wrapper
erikj
parents: 34117
diff changeset
  1145
default: $(DEFAULT_MAKE_TARGET)
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1146
jdk: exploded-image
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1147
images: product-images
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1148
docs: docs-image
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
  1149
bundles: all-bundles
28811
65cf1b4087cf 8071767: Improve names and dependencies for image targets
ihse
parents: 28809
diff changeset
  1150
all: all-images
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1151
37972
e1fa5c2e62a0 8136777: Introduce bundle targets
erikj
parents: 37969
diff changeset
  1152
ALL_TARGETS += default jdk images docs bundles all
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1153
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1154
# Aliases used for running tests.
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1155
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1156
# Let "run-test" be an alias for "test"
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1157
$(foreach t, $(ALL_NAMED_TESTS), $(eval run-test-$t: test-$t))
52446
187d16766a63 8213338: Reduce the number of generated make targets
ihse
parents: 52342
diff changeset
  1158
RUN_TEST_TARGETS := $(addprefix run-test-, $(ALL_NAMED_TESTS))
52342
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1159
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1160
run-test: test
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1161
exploded-run-test: exploded-test
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1162
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1163
# "make check" is a common idiom for running basic testing
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1164
check: test-tier1
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1165
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1166
# Keep some old names as aliases
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1167
test-hotspot-jtreg: test-hotspot_all
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1168
test-hotspot-jtreg-native: test-hotspot_native_sanity
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1169
test-hotspot-gtest: exploded-test-gtest
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1170
test-jdk-jtreg-native: test-jdk_native_sanity
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1171
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1172
ALL_TARGETS += $(RUN_TEST_TARGETS) run-test exploded-run-test check \
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1173
    test-hotspot-jtreg test-hotspot-jtreg-native test-hotspot-gtest \
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1174
    test-jdk-jtreg-native
9341b077bd55 8210958: Rename "make run-test" to "make test"
ihse
parents: 52022
diff changeset
  1175
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1176
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1177
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1178
#
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1179
# Clean targets
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1180
#
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1181
################################################################################
27595
cff167b3bfa2 8065914: Various improvements and cleanup of build system
ihse
parents: 27329
diff changeset
  1182
# Clean targets are automatically run serially by the Makefile calling this
26398
ca1f84f97e20 8057537: Serialize reconfigure and fix make clean-foo foo
erikj
parents: 26285
diff changeset
  1183
# file.
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1184
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1185
CLEAN_DIRS += hotspot jdk bootcycle-build test buildtools support \
53995
ecc2bcc3beb0 8219971: Introduce SetupExecute in build system
ihse
parents: 53736
diff changeset
  1186
    images make-support test-make bundles buildjdk test-results test-support \
ecc2bcc3beb0 8219971: Introduce SetupExecute in build system
ihse
parents: 53736
diff changeset
  1187
    support/images
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1188
CLEAN_DIR_TARGETS := $(addprefix clean-, $(CLEAN_DIRS))
33437
1cf150337073 8141261: Clean up building of demos
ihse
parents: 33436
diff changeset
  1189
CLEAN_SUPPORT_DIRS += demos
1cf150337073 8141261: Clean up building of demos
ihse
parents: 33436
diff changeset
  1190
CLEAN_SUPPORT_DIR_TARGETS := $(addprefix clean-, $(CLEAN_SUPPORT_DIRS))
32562
b4ed30cd962e 8136378: Build test libs using properly integrated makefile
ihse
parents: 31948
diff changeset
  1191
CLEAN_TESTS += hotspot-jtreg-native jdk-jtreg-native lib
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
  1192
CLEAN_TEST_TARGETS += $(addprefix clean-test-, $(CLEAN_TESTS))
41652
a0664e2b49a1 8168772: Convert javadoc generation to build-infra standards
ihse
parents: 41461
diff changeset
  1193
CLEAN_PHASES := gensrc java native include
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1194
CLEAN_PHASE_TARGETS := $(addprefix clean-, $(CLEAN_PHASES))
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1195
CLEAN_MODULE_TARGETS := $(addprefix clean-, $(ALL_MODULES))
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1196
# Construct targets of the form clean-$module-$phase
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1197
CLEAN_MODULE_PHASE_TARGETS := $(addprefix clean-, $(foreach m, $(ALL_MODULES), \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1198
    $(addprefix $m-, $(CLEAN_PHASES))))
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
  1199
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
  1200
# Remove everything, except the output from configure.
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1201
clean: $(CLEAN_DIR_TARGETS)
52022
804792ce736f 8210459: Add support for generating compile_commands.json
rwestberg
parents: 51994
diff changeset
  1202
	($(CD) $(OUTPUTDIR) && $(RM) -r build*.log* compile_commands.json)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1203
	$(ECHO) Cleaned all build artifacts.
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1204
41652
a0664e2b49a1 8168772: Convert javadoc generation to build-infra standards
ihse
parents: 41461
diff changeset
  1205
clean-docs:
a0664e2b49a1 8168772: Convert javadoc generation to build-infra standards
ihse
parents: 41461
diff changeset
  1206
	$(call CleanDocs)
a0664e2b49a1 8168772: Convert javadoc generation to build-infra standards
ihse
parents: 41461
diff changeset
  1207
53736
81767abf7e6a 8218807: Compilation database (compile_commands.json) may contain obsolete items
rwestberg
parents: 53683
diff changeset
  1208
clean-compile-commands:
81767abf7e6a 8218807: Compilation database (compile_commands.json) may contain obsolete items
rwestberg
parents: 53683
diff changeset
  1209
	$(call CleanMakeSupportDir,compile-commands)
81767abf7e6a 8218807: Compilation database (compile_commands.json) may contain obsolete items
rwestberg
parents: 53683
diff changeset
  1210
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1211
$(CLEAN_DIR_TARGETS):
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1212
	$(call CleanDir,$(patsubst clean-%, %, $@))
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1213
33437
1cf150337073 8141261: Clean up building of demos
ihse
parents: 33436
diff changeset
  1214
$(CLEAN_SUPPORT_DIR_TARGETS):
1cf150337073 8141261: Clean up building of demos
ihse
parents: 33436
diff changeset
  1215
	$(call CleanSupportDir,$(patsubst clean-%, %, $@))
1cf150337073 8141261: Clean up building of demos
ihse
parents: 33436
diff changeset
  1216
29156
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
  1217
$(CLEAN_TEST_TARGETS):
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
  1218
	$(call CleanTest,$(patsubst clean-test-%, %, $@))
bd932374081c 8072842: Add support for building native JTReg tests
ihse
parents: 28899
diff changeset
  1219
27560
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1220
$(CLEAN_PHASE_TARGETS):
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1221
	$(call Clean-$(patsubst clean-%,%, $@))
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1222
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1223
$(CLEAN_MODULE_TARGETS):
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1224
	$(call CleanModule,$(patsubst clean-%, %, $@))
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1225
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1226
$(CLEAN_MODULE_PHASE_TARGETS):
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1227
	$(call Clean-$(word 3, $(subst -,$(SPACE),$@)), \
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1228
	    $(word 2, $(subst -,$(SPACE),$@)))
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1229
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1230
# When removing the support dir, we must also remove jdk. Building classes has
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1231
# the side effect of generating native headers. The headers end up in support
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1232
# while classes and touch files end up in jdk.
adc258b13e2c 8049367: Modular Run-Time Images
chegar
parents: 27329
diff changeset
  1233
clean-support: clean-jdk
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1234
47940
5434db052a08 8191856: "make clean-test" does not work properly
ihse
parents: 47432
diff changeset
  1235
clean-test: clean-test-results clean-test-support
5434db052a08 8191856: "make clean-test" does not work properly
ihse
parents: 47432
diff changeset
  1236
53995
ecc2bcc3beb0 8219971: Introduce SetupExecute in build system
ihse
parents: 53736
diff changeset
  1237
# When cleaning images, also clean the support/images directory.
ecc2bcc3beb0 8219971: Introduce SetupExecute in build system
ihse
parents: 53736
diff changeset
  1238
clean-images: clean-support/images
ecc2bcc3beb0 8219971: Introduce SetupExecute in build system
ihse
parents: 53736
diff changeset
  1239
29790
79641c886929 8073634: Improve clean targets
erikj
parents: 29788
diff changeset
  1240
# Remove everything, including configure configuration. If the output
79641c886929 8073634: Improve clean targets
erikj
parents: 29788
diff changeset
  1241
# directory was created by configure and now becomes empty, remove it as well.
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
  1242
dist-clean: clean
47253
92fd0e04e0e1 8187544: Replace BUILD_OUTPUT and OUTPUT_ROOT with OUTPUTDIR
ihse
parents: 47217
diff changeset
  1243
	($(CD) $(OUTPUTDIR) && \
51678
2fdfe34f7262 8081858: make dist-clean does not delete all log files
ihse
parents: 50908
diff changeset
  1244
	    $(RM) -r *spec.gmk $(CONFIGURESUPPORT_OUTPUTDIR) Makefile compare.sh ide \
2fdfe34f7262 8081858: make dist-clean does not delete all log files
ihse
parents: 50908
diff changeset
  1245
	    configure.log* build.log*)
47253
92fd0e04e0e1 8187544: Replace BUILD_OUTPUT and OUTPUT_ROOT with OUTPUTDIR
ihse
parents: 47217
diff changeset
  1246
	$(if $(filter $(CONF_NAME),$(notdir $(OUTPUTDIR))), \
92fd0e04e0e1 8187544: Replace BUILD_OUTPUT and OUTPUT_ROOT with OUTPUTDIR
ihse
parents: 47217
diff changeset
  1247
	  if test "x`$(LS) $(OUTPUTDIR)`" != x; then \
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 20047
diff changeset
  1248
	    $(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ; \
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 20047
diff changeset
  1249
	  else \
47217
72e3ae9a25eb 8187444: Forest Consolidation: Make build work
erikj
parents: 45873
diff changeset
  1250
	    ($(CD) $(TOPDIR) && $(ECHO) "Removing configuration directory for '$(CONF_NAME)'" \
47253
92fd0e04e0e1 8187544: Replace BUILD_OUTPUT and OUTPUT_ROOT with OUTPUTDIR
ihse
parents: 47217
diff changeset
  1251
	        && $(RM) -r $(OUTPUTDIR)) \
20363
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 20047
diff changeset
  1252
	  fi \
fa7663fc5d50 8001931: The new build system whitespace cleanup
ihse
parents: 20047
diff changeset
  1253
	)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1254
	$(ECHO) Cleaned everything, you will have to re-run configure.
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1255
53736
81767abf7e6a 8218807: Compilation database (compile_commands.json) may contain obsolete items
rwestberg
parents: 53683
diff changeset
  1256
ALL_TARGETS += clean clean-docs clean-compile-commands dist-clean $(CLEAN_DIR_TARGETS) \
81767abf7e6a 8218807: Compilation database (compile_commands.json) may contain obsolete items
rwestberg
parents: 53683
diff changeset
  1257
    $(CLEAN_SUPPORT_DIR_TARGETS) $(CLEAN_TEST_TARGETS) $(CLEAN_PHASE_TARGETS) \
81767abf7e6a 8218807: Compilation database (compile_commands.json) may contain obsolete items
rwestberg
parents: 53683
diff changeset
  1258
    $(CLEAN_MODULE_TARGETS) $(CLEAN_MODULE_PHASE_TARGETS)
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1259
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1260
################################################################################
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1261
# Declare *-only targets for each normal target
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1262
$(foreach t, $(ALL_TARGETS), $(eval $(t)-only: $(t)))
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
  1263
29662
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1264
ALL_TARGETS += $(addsuffix -only, $(filter-out dist-clean clean%, $(ALL_TARGETS)))
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1265
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1266
################################################################################
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1267
29788
b581a3d9db41 8076465: New Init.gmk needs improvements
ihse
parents: 29663
diff changeset
  1268
# The following targets are intentionally not added to ALL_TARGETS since they
b581a3d9db41 8076465: New Init.gmk needs improvements
ihse
parents: 29663
diff changeset
  1269
# are internal only, to support Init.gmk.
b581a3d9db41 8076465: New Init.gmk needs improvements
ihse
parents: 29663
diff changeset
  1270
29662
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1271
print-targets:
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1272
	  @$(ECHO) $(sort $(ALL_TARGETS))
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1273
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1274
print-modules:
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1275
	  @$(ECHO) $(sort $(ALL_MODULES))
78c47f0002c3 8076060: Improve make bootstrap process
ihse
parents: 29305
diff changeset
  1276
44027
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
  1277
print-tests:
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
  1278
	  @$(ECHO) $(sort $(ALL_NAMED_TESTS))
3a3050924db2 8176084: Developer-friendly run-test facility
ihse
parents: 43927
diff changeset
  1279
29788
b581a3d9db41 8076465: New Init.gmk needs improvements
ihse
parents: 29663
diff changeset
  1280
create-main-targets-include:
35008
ef0cd710989f 8146403: Windows build can be faster
erikj
parents: 34491
diff changeset
  1281
	  $(call LogInfo, Generating main target list)
29788
b581a3d9db41 8076465: New Init.gmk needs improvements
ihse
parents: 29663
diff changeset
  1282
	  @$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \
b581a3d9db41 8076465: New Init.gmk needs improvements
ihse
parents: 29663
diff changeset
  1283
	      $(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1284
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1285
################################################################################
48918
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1286
# Hook to include the corresponding custom file, if present.
18debf414948 8198425: make/Main.gmk Add extra extension/override points to the make file
erikj
parents: 48841
diff changeset
  1287
$(eval $(call IncludeCustomExtension, Main-post.gmk))
25854
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1288
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1289
.PHONY: $(ALL_TARGETS)
98ce0879ab4c 8054834: Modular Source Code
chegar
parents: 22721
diff changeset
  1290
14111
2a82ecb35fc7 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
  1291
FRC: # Force target