< prev index next >

make/CreateJmods.gmk

Print this page

        

*** 1,6 **** ! # Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. Oracle designates this --- 1,6 ---- ! # Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. Oracle designates this
*** 24,34 **** default: all include $(SPEC) include MakeBase.gmk - include Execute.gmk include Modules.gmk ifeq ($(MODULE), ) $(error MODULE must be set when calling CreateJmods.gmk) endif --- 24,33 ----
*** 36,47 **** $(eval $(call IncludeCustomExtension, CreateJmods.gmk)) ################################################################################ JMODS_DIR := $(IMAGES_OUTPUTDIR)/jmods ! JMODS_SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jmods ! JMOD_FILE := $(MODULE).jmod LIBS_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \ $(SUPPORT_OUTPUTDIR)/modules_libs $(IMPORT_MODULES_LIBS)))) CMDS_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \ $(SUPPORT_OUTPUTDIR)/modules_cmds $(IMPORT_MODULES_CMDS)))) --- 35,45 ---- $(eval $(call IncludeCustomExtension, CreateJmods.gmk)) ################################################################################ JMODS_DIR := $(IMAGES_OUTPUTDIR)/jmods ! JMODS_TEMPDIR := $(SUPPORT_OUTPUTDIR)/jmods LIBS_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \ $(SUPPORT_OUTPUTDIR)/modules_libs $(IMPORT_MODULES_LIBS)))) CMDS_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \ $(SUPPORT_OUTPUTDIR)/modules_cmds $(IMPORT_MODULES_CMDS))))
*** 51,87 **** INCLUDE_HEADERS_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \ $(SUPPORT_OUTPUTDIR)/modules_include $(IMPORT_MODULES_INCLUDE_HEADERS)))) MAN_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \ $(SUPPORT_OUTPUTDIR)/modules_man $(IMPORT_MODULES_MAN)))) ! $(call FillFindCache, \ $(LIBS_DIR) $(CMDS_DIR) $(CONF_DIR) $(CLASSES_DIR) \ ! ) ifneq ($(LIBS_DIR), ) JMOD_FLAGS += --libs $(LIBS_DIR) ! DEPS += $(call FindFiles, $(LIBS_DIR)) endif ifneq ($(CMDS_DIR), ) JMOD_FLAGS += --cmds $(CMDS_DIR) ! DEPS += $(call FindFiles, $(CMDS_DIR)) endif ifneq ($(CONF_DIR), ) JMOD_FLAGS += --config $(CONF_DIR) ! DEPS += $(call FindFiles, $(CONF_DIR)) endif ifneq ($(CLASSES_DIR), ) JMOD_FLAGS += --class-path $(CLASSES_DIR) ! DEPS += $(call FindFiles, $(CLASSES_DIR)) endif ifneq ($(INCLUDE_HEADERS_DIR), ) JMOD_FLAGS += --header-files $(INCLUDE_HEADERS_DIR) ! DEPS += $(call FindFiles, $(INCLUDE_HEADERS_DIR)) endif ifneq ($(MAN_DIR), ) JMOD_FLAGS += --man-pages $(MAN_DIR) ! DEPS += $(call FindFiles, $(MAN_DIR)) endif # If a specific modules_legal dir exists for this module, only pick up files # from there. These files were explicitly filtered or modified in <module>-copy # targets. For the rest, just pick up everything from the source legal dirs. --- 49,85 ---- INCLUDE_HEADERS_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \ $(SUPPORT_OUTPUTDIR)/modules_include $(IMPORT_MODULES_INCLUDE_HEADERS)))) MAN_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \ $(SUPPORT_OUTPUTDIR)/modules_man $(IMPORT_MODULES_MAN)))) ! $(eval $(call FillCacheFind, \ $(LIBS_DIR) $(CMDS_DIR) $(CONF_DIR) $(CLASSES_DIR) \ ! )) ifneq ($(LIBS_DIR), ) JMOD_FLAGS += --libs $(LIBS_DIR) ! DEPS += $(call CacheFind, $(LIBS_DIR)) endif ifneq ($(CMDS_DIR), ) JMOD_FLAGS += --cmds $(CMDS_DIR) ! DEPS += $(call CacheFind, $(CMDS_DIR)) endif ifneq ($(CONF_DIR), ) JMOD_FLAGS += --config $(CONF_DIR) ! DEPS += $(call CacheFind, $(CONF_DIR)) endif ifneq ($(CLASSES_DIR), ) JMOD_FLAGS += --class-path $(CLASSES_DIR) ! DEPS += $(call CacheFind, $(CLASSES_DIR)) endif ifneq ($(INCLUDE_HEADERS_DIR), ) JMOD_FLAGS += --header-files $(INCLUDE_HEADERS_DIR) ! DEPS += $(call CacheFind, $(INCLUDE_HEADERS_DIR)) endif ifneq ($(MAN_DIR), ) JMOD_FLAGS += --man-pages $(MAN_DIR) ! DEPS += $(call CacheFind, $(MAN_DIR)) endif # If a specific modules_legal dir exists for this module, only pick up files # from there. These files were explicitly filtered or modified in <module>-copy # targets. For the rest, just pick up everything from the source legal dirs.
*** 91,101 **** $(wildcard $(SUPPORT_OUTPUTDIR)/modules_legal/$(MODULE)), \ $(call FindModuleLegalSrcDirs, $(MODULE)) \ ) LEGAL_NOTICES_PATH := $(call PathList, $(LEGAL_NOTICES)) ! DEPS += $(call FindFiles, $(LEGAL_NOTICES)) JMOD_FLAGS += --legal-notices $(LEGAL_NOTICES_PATH) ifeq ($(filter-out jdk.incubator.%, $(MODULE)), ) JMOD_FLAGS += --do-not-resolve-by-default --- 89,99 ---- $(wildcard $(SUPPORT_OUTPUTDIR)/modules_legal/$(MODULE)), \ $(call FindModuleLegalSrcDirs, $(MODULE)) \ ) LEGAL_NOTICES_PATH := $(call PathList, $(LEGAL_NOTICES)) ! DEPS += $(call CacheFind, $(LEGAL_NOTICES)) JMOD_FLAGS += --legal-notices $(LEGAL_NOTICES_PATH) ifeq ($(filter-out jdk.incubator.%, $(MODULE)), ) JMOD_FLAGS += --do-not-resolve-by-default
*** 118,128 **** JMOD_FLAGS += --module-path $(JMODS_DIR) \ --hash-modules '^(?!$(EXCLUDE_PATTERN)$$)' endif endif else # not java.base ! ifeq ($(call isTargetOs, windows), true) # Only java.base needs to include the MSVC*_DLLs. Make sure no other module # tries to include them (typically imported ones). ifneq ($(MSVCR_DLL), ) ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(MSVCR_DLL))), ) JMOD_FLAGS += --exclude '$(notdir $(MSVCR_DLL))' --- 116,126 ---- JMOD_FLAGS += --module-path $(JMODS_DIR) \ --hash-modules '^(?!$(EXCLUDE_PATTERN)$$)' endif endif else # not java.base ! ifeq ($(OPENJDK_TARGET_OS), windows) # Only java.base needs to include the MSVC*_DLLs. Make sure no other module # tries to include them (typically imported ones). ifneq ($(MSVCR_DLL), ) ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(MSVCR_DLL))), ) JMOD_FLAGS += --exclude '$(notdir $(MSVCR_DLL))'
*** 145,182 **** # Changes to the jmod tool itself should also trigger a rebuild of all jmods. # The variable JMOD_CMD could contain an environment variable assignment before # the actual command. Filter that out using wildcard before adding to DEPS. DEPS += $(wildcard $(JMOD_CMD)) ifeq ($(EXTERNAL_BUILDJDK), false) ! DEPS += $(call FindFiles, $(JDK_OUTPUTDIR)/modules/jdk.jlink/jdk/tools/jmod) endif # If creating interim versions of jmods, certain files need to be filtered out # to avoid false incremental rebuilds. ifeq ($(INTERIM_JMOD), true) DEPS := $(filter-out $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/classlist, $(DEPS)) - INTERIM_MSG := interim$(SPACE) endif JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}' ! # Create jmods in the support dir and then move them into place to keep the # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times. ! $(eval $(call SetupExecute, create_$(JMOD_FILE), \ ! WARN := Creating $(INTERIM_MSG)$(JMOD_FILE), \ ! DEPS := $(DEPS), \ ! OUTPUT_FILE := $(JMODS_DIR)/$(JMOD_FILE), \ ! SUPPORT_DIR := $(JMODS_SUPPORT_DIR), \ ! PRE_COMMAND := $(RM) $(JMODS_DIR)/$(JMOD_FILE) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \ ! COMMAND := $(JMOD) create --module-version $(VERSION_SHORT) \ ! --target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \ ! --module-path $(JMODS_DIR) $(JMOD_FLAGS) \ ! $(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \ ! POST_COMMAND := $(MV) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE) $(JMODS_DIR)/$(JMOD_FILE), \ ! )) ! TARGETS += $(create_$(JMOD_FILE)) ################################################################################ all: $(TARGETS) --- 143,179 ---- # Changes to the jmod tool itself should also trigger a rebuild of all jmods. # The variable JMOD_CMD could contain an environment variable assignment before # the actual command. Filter that out using wildcard before adding to DEPS. DEPS += $(wildcard $(JMOD_CMD)) ifeq ($(EXTERNAL_BUILDJDK), false) ! DEPS += $(call CacheFind, $(JDK_OUTPUTDIR)/modules/jdk.jlink/jdk/tools/jmod) endif # If creating interim versions of jmods, certain files need to be filtered out # to avoid false incremental rebuilds. ifeq ($(INTERIM_JMOD), true) DEPS := $(filter-out $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/classlist, $(DEPS)) endif JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}' ! # Create jmods in a temp dir and then move them into place to keep the # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times. ! $(JMODS_DIR)/$(MODULE).jmod: $(DEPS) ! $(call LogWarn, Creating $(patsubst $(OUTPUTDIR)/%, %, $@)) ! $(call MakeDir, $(JMODS_DIR) $(JMODS_TEMPDIR)) ! $(RM) $@ $(JMODS_TEMPDIR)/$(notdir $@) ! $(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/jmods/$(MODULE).jmod, \ ! $(JMOD) create \ ! --module-version $(VERSION_SHORT) \ ! --target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \ ! --module-path $(JMODS_DIR) \ ! $(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@) \ ! ) ! $(MV) $(JMODS_TEMPDIR)/$(notdir $@) $@ ! TARGETS += $(JMODS_DIR)/$(MODULE).jmod ################################################################################ all: $(TARGETS)
< prev index next >