1 # 2 # Copyright (c) 2014, 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 ################################################################################ 27 # This makefile is called from Main.gmk, through a macro in MakeHelpers.gmk 28 # and wraps calls to makefiles for specific modules and build phases. Having 29 # this wrapper reduces the need for boilerplate code. It also provides 30 # opportunity for automatic copying of files to an interim exploded runnable 31 # image. 32 33 default: all 34 35 include $(SPEC) 36 include MakeBase.gmk 37 38 # All makefiles should add the targets to be built to this variable. 39 TARGETS := 40 41 # Include the file being wrapped. 42 include $(MAKEFILE_PREFIX)-$(MODULE).gmk 43 44 # Setup copy rules from the modules directories to the jdk image directory. 45 ifeq ($(OPENJDK_TARGET_OS), windows) 46 TO_BIN_FILTER := %$(SHARED_LIBRARY_SUFFIX) %.diz %.pdb %.map 47 48 $(eval $(call SetupCopyFiles,COPY_LIBS_TO_BIN, \ 49 SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \ 50 DEST := $(JDK_OUTPUTDIR)/bin, \ 51 FILES := $(filter $(TO_BIN_FILTER), \ 52 $(filter $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)/%, \ 53 $(TARGETS))))) 54 55 $(eval $(call SetupCopyFiles,COPY_LIBS_TO_LIB, \ 56 SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \ 57 DEST := $(JDK_OUTPUTDIR)/lib, \ 58 FILES := $(filter-out $(TO_BIN_FILTER), \ 59 $(filter $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)/%, \ 60 $(TARGETS))))) 61 62 else 63 $(eval $(call SetupCopyFiles,COPY_LIBS_TO_LIB, \ 64 SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \ 65 DEST := $(JDK_OUTPUTDIR)/lib, \ 66 FILES := $(filter $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)/%, \ 67 $(TARGETS)))) 68 endif 69 70 $(eval $(call SetupCopyFiles,COPY_INCLUDE, \ 71 SRC := $(SUPPORT_OUTPUTDIR)/modules_include/$(MODULE), \ 72 DEST := $(JDK_OUTPUTDIR)/include, \ 73 FILES := $(filter $(SUPPORT_OUTPUTDIR)/modules_include/$(MODULE)/%, \ 74 $(TARGETS)))) 75 76 $(eval $(call SetupCopyFiles,COPY_CMDS, \ 77 SRC := $(SUPPORT_OUTPUTDIR)/modules_cmds/$(MODULE), \ 78 DEST := $(JDK_OUTPUTDIR)/bin, \ 79 FILES := $(filter $(SUPPORT_OUTPUTDIR)/modules_cmds/$(MODULE)/%, $(TARGETS)))) 80 81 $(eval $(call SetupCopyFiles,COPY_CONF, \ 82 SRC := $(SUPPORT_OUTPUTDIR)/modules_conf/$(MODULE), \ 83 DEST := $(JDK_OUTPUTDIR)/conf, \ 84 FILES := $(filter $(SUPPORT_OUTPUTDIR)/modules_conf/$(MODULE)/%, \ 85 $(TARGETS)))) 86 87 all: $(TARGETS) $(COPY_LIBS_TO_BIN) $(COPY_LIBS_TO_LIB) \ 88 $(COPY_INCLUDE) $(COPY_CMDS) $(COPY_CONF)