1 # 2 # Copyright (c) 2015, 2019, 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 := $(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 40 COPY_CLASSES_TARGET := $(BUILDJDK_OUTPUTDIR)/jdk/modules/java.base/_the.buildjdk-copy-marker 41 42 $(COPY_CLASSES_TARGET): $(call FindFiles, $(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 52 TARGETS += $(COPY_CLASSES_TARGET) 53 54 ################################################################################ 55 56 $(eval $(call SetupCopyFiles, COPY_SUPPORT_HEADERS, \ 57 SRC := $(OUTPUTDIR), \ 58 DEST := $(BUILDJDK_OUTPUTDIR), \ 59 FILES := $(call FindFiles, $(wildcard \ 60 $(addprefix $(SUPPORT_OUTPUTDIR)/headers/, $(MODULES_TO_COPY)))), \ 61 )) 62 63 TARGETS += $(COPY_SUPPORT_HEADERS) 64 65 ################################################################################ 66 67 $(eval $(call SetupCopyFiles, COPY_JDK_LIB_FILES, \ 68 SRC := $(OUTPUTDIR), \ 69 DEST := $(BUILDJDK_OUTPUTDIR), \ 70 FILES := $(JDK_OUTPUTDIR)/lib/tzdb.dat, \ 71 )) 72 73 TARGETS += $(COPY_JDK_LIB_FILES) 74 75 ################################################################################ 76 77 all: $(TARGETS) 78 79 .PHONY: default all