ModuleWrapper.gmk revision 1223:67395f7ca2db
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 33default: all 34 35include $(SPEC) 36include MakeBase.gmk 37 38# All makefiles should add the targets to be built to this variable. 39TARGETS := 40 41# Include the file being wrapped. 42include $(MAKEFILE_PREFIX)-$(MODULE).gmk 43 44# Setup copy rules from the modules directories to the jdk image directory. 45ifeq ($(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 62else 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)))) 68endif 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 87all: $(TARGETS) $(COPY_LIBS_TO_BIN) $(COPY_LIBS_TO_LIB) \ 88 $(COPY_INCLUDE) $(COPY_CMDS) $(COPY_CONF) 89