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