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 26 default: all 27 28 include $(SPEC) 29 include MakeBase.gmk 30 include Modules.gmk 31 32 MODULES_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 38 COPY_CLASSES_TARGET := $(BUILDJDK_OUTPUTDIR)/jdk/modules/java.base/_the.buildjdk-copy-marker 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 50 TARGETS += $(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 70 TARGETS += $(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 80 TARGETS += $(COPY_JDK_LIB_FILES) 81 82 ################################################################################ 83 84 all: $(TARGETS) 85 86 .PHONY: default all