CreateBuildJdkCopy.gmk revision 2281:4353c659dfde
1# 2# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. 3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4# 5# This code is free software; you can redistribute it and/or modify it 6# under the terms of the GNU General Public License version 2 only, as 7# published by the Free Software Foundation. Oracle designates this 8# particular file as subject to the "Classpath" exception as provided 9# by Oracle in the LICENSE file that accompanied this code. 10# 11# This code is distributed in the hope that it will be useful, but WITHOUT 12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14# version 2 for more details (a copy is included in the LICENSE file that 15# accompanied this code). 16# 17# You should have received a copy of the GNU General Public License version 18# 2 along with this work; if not, write to the Free Software Foundation, 19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20# 21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22# or visit www.oracle.com if you need additional information or have any 23# questions. 24# 25 26default: all 27 28include $(SPEC) 29include MakeBase.gmk 30include Modules.gmk 31 32MODULES_TO_COPY := $(sort \ 33 $(foreach m, jdk.jlink $(INTERIM_IMAGE_MODULES), \ 34 $(call FindTransitiveDepsForModule, $m) $m)) 35 36################################################################################ 37# Copy the modules needed to run jlink and jmod. Use bulk copy instead of 38# SetupCopyFiles since there are so many files. 39 40COPY_CLASSES_TARGET := $(BUILDJDK_OUTPUTDIR)/jdk/modules/java.base/_the.buildjdk-copy-marker 41 42$(COPY_CLASSES_TARGET): $(call CacheFind, $(wildcard \ 43 $(addprefix $(JDK_OUTPUTDIR)/modules/, $(MODULES_TO_COPY)))) 44 $(ECHO) $(LOG_INFO) "Copying java modules to buildjdk: $(MODULES_TO_COPY)" 45 $(RM) -r $(BUILDJDK_OUTPUTDIR)/jdk/modules 46 $(MKDIR) -p $(BUILDJDK_OUTPUTDIR)/jdk/modules 47 $(foreach m, $(MODULES_TO_COPY), \ 48 $(CP) -R $(JDK_OUTPUTDIR)/modules/$m \ 49 $(BUILDJDK_OUTPUTDIR)/jdk/modules/ $(NEWLINE)) 50 $(TOUCH) $@ 51 52TARGETS += $(COPY_CLASSES_TARGET) 53 54################################################################################ 55 56$(eval $(call SetupCopyFiles, COPY_SUPPORT_HEADERS, \ 57 SRC := $(BUILD_OUTPUT), \ 58 DEST := $(BUILDJDK_OUTPUTDIR), \ 59 FILES := $(call CacheFind, $(wildcard \ 60 $(addprefix $(SUPPORT_OUTPUTDIR)/headers/, $(MODULES_TO_COPY)))), \ 61)) 62 63TARGETS += $(COPY_SUPPORT_HEADERS) 64 65################################################################################ 66 67$(eval $(call SetupCopyFiles, COPY_JDK_LIB_FILES, \ 68 SRC := $(BUILD_OUTPUT), \ 69 DEST := $(BUILDJDK_OUTPUTDIR), \ 70 FILES := $(JDK_OUTPUTDIR)/lib/tzdb.dat, \ 71)) 72 73TARGETS += $(COPY_JDK_LIB_FILES) 74 75################################################################################ 76 77all: $(TARGETS) 78 79.PHONY: default all 80