make/ModuleWrapper.gmk
changeset 27560 adc258b13e2c
child 28356 3b985eeacb08
equal deleted inserted replaced
27559:23d1529db8c7 27560:adc258b13e2c
       
     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)