Fri, 18 Mar 2016 22:29:32 -0700
Added tag jdk8u77-b02 for changeset 7dd1be8bd46c
ohair@494 | 1 | # |
dholmes@1291 | 2 | # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. |
ohair@494 | 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
ohair@494 | 4 | # |
ohair@494 | 5 | # This code is free software; you can redistribute it and/or modify it |
ohair@494 | 6 | # under the terms of the GNU General Public License version 2 only, as |
ohair@494 | 7 | # published by the Free Software Foundation. Oracle designates this |
ohair@494 | 8 | # particular file as subject to the "Classpath" exception as provided |
ohair@494 | 9 | # by Oracle in the LICENSE file that accompanied this code. |
ohair@494 | 10 | # |
ohair@494 | 11 | # This code is distributed in the hope that it will be useful, but WITHOUT |
ohair@494 | 12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
ohair@494 | 13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
ohair@494 | 14 | # version 2 for more details (a copy is included in the LICENSE file that |
ohair@494 | 15 | # accompanied this code). |
ohair@494 | 16 | # |
ohair@494 | 17 | # You should have received a copy of the GNU General Public License version |
ohair@494 | 18 | # 2 along with this work; if not, write to the Free Software Foundation, |
ohair@494 | 19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
ohair@494 | 20 | # |
ohair@494 | 21 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
ohair@494 | 22 | # or visit www.oracle.com if you need additional information or have any |
ohair@494 | 23 | # questions. |
ohair@494 | 24 | # |
ohair@494 | 25 | |
ohair@494 | 26 | ### This is the main part of the Makefile, for the normal case with SPEC specifying a single existing spec.gmk file. |
ohair@494 | 27 | |
ohair@494 | 28 | # Now load the spec |
ohair@494 | 29 | include $(SPEC) |
ohair@494 | 30 | |
ihse@839 | 31 | # Load the vital tools for all the makefiles. |
ihse@912 | 32 | include $(SRC_ROOT)/make/common/MakeBase.gmk |
ohair@494 | 33 | |
ohair@494 | 34 | # Include the corresponding custom file, if present. |
ohair@494 | 35 | -include $(CUSTOM_MAKE_DIR)/Main.gmk |
ohair@494 | 36 | |
ohair@494 | 37 | ### Clean up from previous run |
ohair@494 | 38 | |
ohair@494 | 39 | # Remove any build.log from a previous run, if they exist |
ohair@494 | 40 | ifneq (,$(BUILD_LOG)) |
ihse@839 | 41 | ifneq (,$(BUILD_LOG_PREVIOUS)) |
ihse@839 | 42 | # Rotate old log |
ihse@839 | 43 | $(shell $(RM) $(BUILD_LOG_PREVIOUS) 2> /dev/null) |
ihse@839 | 44 | $(shell $(MV) $(BUILD_LOG) $(BUILD_LOG_PREVIOUS) 2> /dev/null) |
ihse@839 | 45 | else |
ihse@839 | 46 | $(shell $(RM) $(BUILD_LOG) 2> /dev/null) |
ihse@839 | 47 | endif |
ihse@839 | 48 | $(shell $(RM) $(OUTPUT_ROOT)/build-trace-time.log 2> /dev/null) |
ohair@494 | 49 | endif |
ohair@494 | 50 | # Remove any javac server logs and port files. This |
ohair@494 | 51 | # prevents a new make run to reuse the previous servers. |
ohair@494 | 52 | ifneq (,$(SJAVAC_SERVER_DIR)) |
ihse@839 | 53 | $(shell $(MKDIR) -p $(SJAVAC_SERVER_DIR) && $(RM) -rf $(SJAVAC_SERVER_DIR)/*) |
ohair@494 | 54 | endif |
ohair@494 | 55 | |
ohair@494 | 56 | # Reset the build timers. |
ohair@494 | 57 | $(eval $(call ResetAllTimers)) |
ohair@494 | 58 | |
ohair@494 | 59 | # Setup number of jobs to use. -jN is unfortunately not available for us to parse from the command line, |
ohair@494 | 60 | # hence this workaround. |
ohair@494 | 61 | MAKE_ARGS:=$(MAKE_ARGS) -j$(JOBS) |
ohair@494 | 62 | |
ohair@494 | 63 | ### Main targets |
ohair@494 | 64 | |
erikj@559 | 65 | default: jdk |
erikj@559 | 66 | @$(call CheckIfMakeAtEnd) |
erikj@559 | 67 | |
erikj@559 | 68 | all: images docs |
erikj@559 | 69 | @$(call CheckIfMakeAtEnd) |
ohair@494 | 70 | |
erikj@609 | 71 | # Setup a rule for SPEC file that fails if executed. This check makes sure the configuration |
erikj@609 | 72 | # is up to date after changes to configure |
erikj@609 | 73 | $(SPEC): $(wildcard $(SRC_ROOT)/common/autoconf/*) |
erikj@609 | 74 | @$(ECHO) ERROR: $(SPEC) is not up to date |
erikj@609 | 75 | @$(ECHO) Please rerun configure! |
erikj@609 | 76 | @if test "x$(IGNORE_OLD_CONFIG)" != "xtrue"; then exit 1; fi |
erikj@609 | 77 | |
erikj@609 | 78 | start-make: $(SPEC) |
ohair@494 | 79 | @$(call AtMakeStart) |
ohair@494 | 80 | |
ohair@494 | 81 | langtools: langtools-only |
ohair@494 | 82 | langtools-only: start-make |
ohair@494 | 83 | @$(call TargetEnter) |
ihse@912 | 84 | @($(CD) $(LANGTOOLS_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildLangtools.gmk) |
ohair@494 | 85 | @$(call TargetExit) |
ohair@494 | 86 | |
ohair@494 | 87 | corba: langtools corba-only |
ohair@494 | 88 | corba-only: start-make |
ohair@494 | 89 | @$(call TargetEnter) |
ihse@912 | 90 | @($(CD) $(CORBA_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildCorba.gmk) |
ohair@494 | 91 | @$(call TargetExit) |
ohair@494 | 92 | |
ohair@494 | 93 | jaxp: langtools jaxp-only |
ohair@494 | 94 | jaxp-only: start-make |
ohair@494 | 95 | @$(call TargetEnter) |
ihse@912 | 96 | @($(CD) $(JAXP_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJaxp.gmk) |
ohair@494 | 97 | @$(call TargetExit) |
ohair@494 | 98 | |
ohair@494 | 99 | jaxws: langtools jaxp jaxws-only |
ohair@494 | 100 | jaxws-only: start-make |
ohair@494 | 101 | @$(call TargetEnter) |
ihse@912 | 102 | @($(CD) $(JAXWS_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJaxws.gmk) |
ohair@494 | 103 | @$(call TargetExit) |
ohair@494 | 104 | |
tbell@506 | 105 | ifeq ($(BUILD_HOTSPOT),true) |
ihse@839 | 106 | hotspot: hotspot-only |
ihse@839 | 107 | hotspot-only: start-make |
ohair@494 | 108 | @$(call TargetEnter) |
ihse@912 | 109 | @($(CD) $(SRC_ROOT)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f HotspotWrapper.gmk) |
ohair@494 | 110 | @$(call TargetExit) |
tbell@506 | 111 | endif |
ohair@494 | 112 | |
ohair@494 | 113 | jdk: langtools hotspot corba jaxp jaxws jdk-only |
ohair@494 | 114 | jdk-only: start-make |
ohair@494 | 115 | @$(call TargetEnter) |
ihse@912 | 116 | @($(CD) $(JDK_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk $(JDK_TARGET)) |
ohair@494 | 117 | @$(call TargetExit) |
ohair@494 | 118 | |
jjg@645 | 119 | nashorn: jdk nashorn-only |
jjg@645 | 120 | nashorn-only: start-make |
jjg@645 | 121 | @$(call TargetEnter) |
ihse@912 | 122 | @($(CD) $(NASHORN_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildNashorn.gmk) |
jjg@645 | 123 | @$(call TargetExit) |
jjg@645 | 124 | |
ohair@494 | 125 | demos: jdk demos-only |
ohair@494 | 126 | demos-only: start-make |
ohair@494 | 127 | @$(call TargetEnter) |
ihse@912 | 128 | @($(CD) $(JDK_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk demos) |
ohair@494 | 129 | @$(call TargetExit) |
ohair@494 | 130 | |
dholmes@624 | 131 | # Note: This double-colon rule is intentional, to support |
dholmes@624 | 132 | # custom make file integration. |
jjg@645 | 133 | images:: source-tips demos nashorn images-only |
ohair@494 | 134 | images-only: start-make |
ohair@494 | 135 | @$(call TargetEnter) |
ihse@912 | 136 | @($(CD) $(JDK_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk images) |
ohair@494 | 137 | @$(call TargetExit) |
ohair@494 | 138 | |
ohair@494 | 139 | overlay-images: source-tips demos overlay-images-only |
ohair@494 | 140 | overlay-images-only: start-make |
ohair@494 | 141 | @$(call TargetEnter) |
ihse@912 | 142 | @($(CD) $(JDK_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk overlay-images) |
ohair@494 | 143 | @$(call TargetExit) |
ohair@494 | 144 | |
dholmes@1291 | 145 | profiles: source-tips jdk hotspot profiles-only |
dholmes@624 | 146 | profiles-only: start-make |
dholmes@624 | 147 | @$(call TargetEnter) |
ihse@912 | 148 | @($(CD) $(JDK_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk profiles) |
dholmes@624 | 149 | @$(call TargetExit) |
dholmes@624 | 150 | |
ohair@494 | 151 | install: images install-only |
ohair@494 | 152 | install-only: start-make |
ohair@494 | 153 | @$(call TargetEnter) |
ihse@912 | 154 | @($(CD) $(JDK_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk install) |
ohair@494 | 155 | @$(call TargetExit) |
ohair@494 | 156 | |
ohair@494 | 157 | docs: jdk docs-only |
ohair@494 | 158 | docs-only: start-make |
ohair@494 | 159 | @$(call TargetEnter) |
ihse@912 | 160 | @($(CD) $(SRC_ROOT)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs) |
ohair@494 | 161 | @$(call TargetExit) |
ohair@494 | 162 | |
erikj@563 | 163 | sign-jars: jdk sign-jars-only |
erikj@563 | 164 | sign-jars-only: start-make |
erikj@563 | 165 | @$(call TargetEnter) |
ihse@912 | 166 | @($(CD) $(JDK_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk sign-jars) |
erikj@563 | 167 | @$(call TargetExit) |
erikj@563 | 168 | |
erikj@668 | 169 | bootcycle-images: images bootcycle-images-only |
erikj@668 | 170 | bootcycle-images-only: start-make |
ohair@494 | 171 | @$(ECHO) Boot cycle build step 2: Building a new JDK image using previously built image |
ihse@912 | 172 | @($(CD) $(SRC_ROOT) && $(BUILD_LOG_WRAPPER) $(MAKE) SPEC=$(dir $(SPEC))bootcycle-spec.gmk images) |
ohair@494 | 173 | |
mduigou@652 | 174 | test: images test-only |
mduigou@652 | 175 | test-only: start-make |
ohair@494 | 176 | @$(call TargetEnter) |
mduigou@778 | 177 | @($(CD) $(SRC_ROOT)/test && $(BUILD_LOG_WRAPPER) $(MAKE) -j1 -k MAKEFLAGS= JT_HOME=$(JT_HOME) PRODUCT_HOME=$(JDK_IMAGE_DIR) ALT_OUTPUTDIR=$(OUTPUT_ROOT) CONCURRENCY=$(JOBS) $(TEST)) || true |
ohair@494 | 178 | @$(call TargetExit) |
ohair@494 | 179 | |
ohair@494 | 180 | # Stores the tips for each repository. This file is be used when constructing the jdk image and can be |
ohair@494 | 181 | # used to track the exact sources used to build that image. |
ohair@494 | 182 | source-tips: $(OUTPUT_ROOT)/source_tips |
ohair@494 | 183 | $(OUTPUT_ROOT)/source_tips: FRC |
ohair@494 | 184 | @$(MKDIR) -p $(@D) |
ohair@494 | 185 | @$(RM) $@ |
erikj@747 | 186 | @$(call GetSourceTips) |
ohair@494 | 187 | |
ohair@494 | 188 | |
ohair@494 | 189 | # Remove everything, except the output from configure. |
mduigou@677 | 190 | clean: clean-langtools clean-corba clean-jaxp clean-jaxws clean-hotspot clean-jdk clean-nashorn clean-images clean-overlay-images clean-bootcycle-build clean-docs clean-test |
ohair@494 | 191 | @($(CD) $(OUTPUT_ROOT) && $(RM) -r tmp source_tips build.log* build-trace*.log*) |
ohair@494 | 192 | @$(ECHO) Cleaned all build artifacts. |
ohair@494 | 193 | |
ohair@494 | 194 | # Remove everything, including configure configuration. |
ohair@494 | 195 | # If the output directory was created by configure and now becomes empty, remove it as well. |
ohair@494 | 196 | # FIXME: tmp should not be here, fix ResetTimers instead. And remove spec.sh! |
ohair@494 | 197 | dist-clean: clean |
igerasim@767 | 198 | @($(CD) $(OUTPUT_ROOT) && $(RM) -r *spec.gmk config.* configure-arguments Makefile compare.sh spec.sh tmp javacservers) |
ohair@494 | 199 | @$(if $(filter $(CONF_NAME),$(notdir $(OUTPUT_ROOT))), \ |
ihse@839 | 200 | if test "x`$(LS) $(OUTPUT_ROOT)`" != x; then \ |
ihse@839 | 201 | $(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ; \ |
ihse@839 | 202 | else \ |
ihse@839 | 203 | ($(CD) $(SRC_ROOT) && $(ECHO) "Removing configuration directory for '$(CONF_NAME)'" && $(RM) -r $(OUTPUT_ROOT)) \ |
ihse@839 | 204 | fi \ |
ihse@839 | 205 | ) |
ohair@494 | 206 | @$(ECHO) Cleaned everything, you will have to re-run configure. |
ohair@494 | 207 | |
ohair@494 | 208 | clean-langtools: |
ohair@494 | 209 | $(call CleanComponent,langtools) |
ohair@494 | 210 | clean-corba: |
ohair@494 | 211 | $(call CleanComponent,corba) |
ohair@494 | 212 | clean-jaxp: |
ohair@494 | 213 | $(call CleanComponent,jaxp) |
ohair@494 | 214 | clean-jaxws: |
ohair@494 | 215 | $(call CleanComponent,jaxws) |
ohair@494 | 216 | clean-hotspot: |
ohair@494 | 217 | $(call CleanComponent,hotspot) |
ohair@494 | 218 | clean-jdk: |
ohair@494 | 219 | $(call CleanComponent,jdk) |
jjg@645 | 220 | clean-nashorn: |
jjg@645 | 221 | $(call CleanComponent,nashorn) |
ohair@494 | 222 | clean-images: |
ohair@494 | 223 | $(call CleanComponent,images) |
ohair@494 | 224 | clean-overlay-images: |
ohair@494 | 225 | $(call CleanComponent,overlay-images) |
ohair@494 | 226 | clean-bootcycle-build: |
ohair@494 | 227 | $(call CleanComponent,bootcycle-build) |
erikj@518 | 228 | clean-docs: |
erikj@518 | 229 | $(call CleanComponent,docs) |
erikj@518 | 230 | $(call CleanComponent,docstemp) |
mduigou@677 | 231 | clean-test: |
mduigou@677 | 232 | $(call CleanComponent,testoutput) |
ohair@494 | 233 | |
mduigou@710 | 234 | .PHONY: langtools corba jaxp jaxws hotspot jdk nashorn images overlay-images install test docs |
mduigou@710 | 235 | .PHONY: langtools-only corba-only jaxp-only jaxws-only hotspot-only jdk-only nashorn-only images-only overlay-images-only install-only test-only docs-only |
ihse@785 | 236 | .PHONY: default all clean dist-clean bootcycle-images start-make |
mduigou@710 | 237 | .PHONY: clean-langtools clean-corba clean-jaxp clean-jaxws clean-hotspot clean-jdk clean-nashorn clean-images clean-docs clean-test clean-overlay-images clean-bootcycle-build |
dholmes@1291 | 238 | .PHONY: profiles profiles-only |
ohair@494 | 239 | |
mikael@1140 | 240 | include $(root_dir)/make/Jprt.gmk |
mikael@1140 | 241 | |
ohair@494 | 242 | FRC: # Force target |