| # | |
| # Copyright (c) 2011, 2025, 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 | |
| # particular file as subject to the "Classpath" exception as provided | |
| # by Oracle in the LICENSE file that accompanied this code. | |
| # | |
| # This code is distributed in the hope that it will be useful, but WITHOUT | |
| # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| # version 2 for more details (a copy is included in the LICENSE file that | |
| # accompanied this code). | |
| # | |
| # You should have received a copy of the GNU General Public License version | |
| # 2 along with this work; if not, write to the Free Software Foundation, | |
| # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
| # | |
| # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
| # or visit www.oracle.com if you need additional information or have any | |
| # questions. | |
| # | |
| include MakeFileStart.gmk | |
| ################################################################################ | |
| include CopyFiles.gmk | |
| include TextFileProcessing.gmk | |
| default: bundles | |
| # Only macosx has bundles defined. | |
| ifeq ($(call isTargetOs, macosx), true) | |
| bundles: jre-bundle jdk-bundle | |
| # JDK_MACOSX_CONTENTS_DIR and JRE_MACOSX_CONTENTS_DIR are defined in SPEC. | |
| MACOSX_PLIST_SRC := $(TOPDIR)/make/data/bundle | |
| BUNDLE_NAME := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_SHORT) | |
| BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_STRING) | |
| ifeq ($(COMPANY_NAME), N/A) | |
| BUNDLE_VENDOR := UNDEFINED | |
| else | |
| BUNDLE_VENDOR := $(COMPANY_NAME) | |
| endif | |
| $(eval $(call SetupCopyFiles, COPY_JDK_IMAGE, \ | |
| SRC := $(JDK_IMAGE_DIR), \ | |
| DEST := $(JDK_MACOSX_CONTENTS_DIR)/Home, \ | |
| FILES := $(call FindFiles, $(JDK_IMAGE_DIR)), \ | |
| )) | |
| $(eval $(call SetupCopyFiles, COPY_JRE_IMAGE, \ | |
| SRC := $(JRE_IMAGE_DIR), \ | |
| DEST := $(JRE_MACOSX_CONTENTS_DIR)/Home, \ | |
| FILES := $(call FindFiles, $(JRE_IMAGE_DIR)), \ | |
| )) | |
| $(eval $(call SetupCopyFiles, COPY_LIBJLI_JDK, \ | |
| FILES := $(JDK_IMAGE_DIR)/lib/libjli.dylib, \ | |
| DEST := $(JDK_MACOSX_CONTENTS_DIR)/MacOS, \ | |
| )) | |
| $(eval $(call SetupCopyFiles, COPY_LIBJLI_JRE, \ | |
| FILES := $(JRE_IMAGE_DIR)/lib/libjli.dylib, \ | |
| DEST := $(JRE_MACOSX_CONTENTS_DIR)/MacOS, \ | |
| )) | |
| $(eval $(call SetupTextFileProcessing, BUILD_JDK_PLIST, \ | |
| SOURCE_FILES := $(MACOSX_PLIST_SRC)/JDK-Info.plist.template, \ | |
| OUTPUT_FILE := $(JDK_MACOSX_CONTENTS_DIR)/Info.plist, \ | |
| REPLACEMENTS := \ | |
| @@ID@@ => $(MACOSX_BUNDLE_ID_BASE).jdk ; \ | |
| @@NAME@@ => $(BUNDLE_NAME) ; \ | |
| @@INFO@@ => $(BUNDLE_INFO) ; \ | |
| @@VERSION@@ => $(VERSION_NUMBER) ; \ | |
| @@BUILD_VERSION@@ => $(MACOSX_BUNDLE_BUILD_VERSION) ; \ | |
| @@VENDOR@@ => $(BUNDLE_VENDOR) ; \ | |
| @@MACOSX_VERSION_MIN@@ => $(MACOSX_VERSION_MIN) , \ | |
| )) | |
| $(eval $(call SetupTextFileProcessing, BUILD_JRE_PLIST, \ | |
| SOURCE_FILES := $(MACOSX_PLIST_SRC)/JRE-Info.plist.template, \ | |
| OUTPUT_FILE := $(JRE_MACOSX_CONTENTS_DIR)/Info.plist, \ | |
| REPLACEMENTS := \ | |
| @@ID@@ => $(MACOSX_BUNDLE_ID_BASE).jre ; \ | |
| @@NAME@@ => $(BUNDLE_NAME) ; \ | |
| @@INFO@@ => $(BUNDLE_INFO) ; \ | |
| @@VERSION@@ => $(VERSION_NUMBER) ; \ | |
| @@BUILD_VERSION@@ => $(BUNDLE_BUILD_VERSION) ; \ | |
| @@VENDOR@@ => $(BUNDLE_VENDOR) ; \ | |
| @@MACOSX_VERSION_MIN@@ => $(MACOSX_VERSION_MIN) , \ | |
| )) | |
| $(SUPPORT_OUTPUTDIR)/images/_jdk_bundle_attribute_set: $(COPY_JDK_IMAGE) | |
| $(SETFILE) -a B $(dir $(JDK_MACOSX_CONTENTS_DIR)) | |
| $(TOUCH) $@ | |
| $(SUPPORT_OUTPUTDIR)/images/_jre_bundle_attribute_set: $(COPY_JRE_IMAGE) | |
| $(SETFILE) -a B $(dir $(JRE_MACOSX_CONTENTS_DIR)) | |
| $(TOUCH) $@ | |
| jdk-bundle: $(COPY_JDK_IMAGE) $(COPY_LIBJLI_JDK) \ | |
| $(BUILD_JDK_PLIST) $(SUPPORT_OUTPUTDIR)/images/_jdk_bundle_attribute_set | |
| jre-bundle: $(COPY_JRE_IMAGE) $(COPY_LIBJLI_JRE) \ | |
| $(BUILD_JRE_PLIST) $(SUPPORT_OUTPUTDIR)/images/_jre_bundle_attribute_set | |
| else # Not macosx | |
| bundles: | |
| $(ECHO) "No bundles defined for $(OPENJDK_TARGET_OS)" | |
| endif # macosx | |
| .PHONY: jdk-bundle jre-bundle bundles | |
| ################################################################################ | |
| include MakeFileEnd.gmk |