CreateBuildJdkCopy.gmk revision 1961:f900d5afd9c8
1# 2# Copyright (c) 2015, 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 := $(call FindTransitiveDepsForModule, jdk.jlink) jdk.jlink 33 34################################################################################ 35# Copy the modules needed to run jlink and jmod. Use bulk copy instead of 36# SetupCopyFiles since there are so many files. 37 38COPY_CLASSES_TARGET := $(BUILDJDK_OUTPUTDIR)/jdk/modules/_buildjdk-copy-maker 39 40$(COPY_CLASSES_TARGET): $(call CacheFind, $(wildcard \ 41 $(addprefix $(JDK_OUTPUTDIR)/modules/, $(MODULES_TO_COPY)))) 42 $(ECHO) $(LOG_INFO) "Copying java modules to buildjdk: $(MODULES_TO_COPY)" 43 $(RM) -r $(BUILDJDK_OUTPUTDIR)/jdk/modules 44 $(MKDIR) -p $(BUILDJDK_OUTPUTDIR)/jdk/modules 45 $(foreach m, $(MODULES_TO_COPY), \ 46 $(CP) -R $(JDK_OUTPUTDIR)/modules/$m \ 47 $(BUILDJDK_OUTPUTDIR)/jdk/modules/ $(NEWLINE)) 48 $(TOUCH) $@ 49 50TARGETS += $(COPY_CLASSES_TARGET) 51 52#$(eval $(call SetupCopyFiles, COPY_JDK_MODULES, \ 53 SRC := $(BUILD_OUTPUT), \ 54 DEST := $(BUILDJDK_OUTPUTDIR), \ 55 FILES := $(call DoubleDollar, $(call DoubleDollar, $(call CacheFind, $(wildcard \ 56 $(addprefix $(JDK_OUTPUTDIR)/modules/, $(MODULES_TO_COPY)))))), \ 57)) 58 59#TARGETS += $(COPY_JDK_MODULES) 60 61################################################################################ 62 63$(eval $(call SetupCopyFiles, COPY_SUPPORT_HEADERS, \ 64 SRC := $(BUILD_OUTPUT), \ 65 DEST := $(BUILDJDK_OUTPUTDIR), \ 66 FILES := $(call CacheFind, $(wildcard \ 67 $(addprefix $(SUPPORT_OUTPUTDIR)/headers/, $(MODULES_TO_COPY)))), \ 68)) 69 70TARGETS += $(COPY_SUPPORT_HEADERS) 71 72################################################################################ 73 74$(eval $(call SetupCopyFiles, COPY_JDK_LIB_FILES, \ 75 SRC := $(BUILD_OUTPUT), \ 76 DEST := $(BUILDJDK_OUTPUTDIR), \ 77 FILES := $(JDK_OUTPUTDIR)/lib/tzdb.dat, \ 78)) 79 80TARGETS += $(COPY_JDK_LIB_FILES) 81 82################################################################################ 83 84all: $(TARGETS) 85 86.PHONY: default all 87