MacBundles.gmk revision 2281:4353c659dfde
1107002Sschweikh# 2174422Sdougb# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. 3174425Sdougb# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4174425Sdougb# 5174425Sdougb# This code is free software; you can redistribute it and/or modify it 6174425Sdougb# under the terms of the GNU General Public License version 2 only, as 7174425Sdougb# published by the Free Software Foundation. Oracle designates this 8174425Sdougb# particular file as subject to the "Classpath" exception as provided 9174425Sdougb# by Oracle in the LICENSE file that accompanied this code. 10174425Sdougb# 11174425Sdougb# This code is distributed in the hope that it will be useful, but WITHOUT 12174425Sdougb# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13174425Sdougb# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14174425Sdougb# version 2 for more details (a copy is included in the LICENSE file that 15174425Sdougb# accompanied this code). 16174425Sdougb# 17174425Sdougb# You should have received a copy of the GNU General Public License version 18174425Sdougb# 2 along with this work; if not, write to the Free Software Foundation, 19174425Sdougb# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20174425Sdougb# 21174425Sdougb# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22174425Sdougb# or visit www.oracle.com if you need additional information or have any 23174425Sdougb# questions. 24174425Sdougb# 25174425Sdougb 26174425Sdougbinclude $(SPEC) 27174425Sdougbinclude MakeBase.gmk 28174425Sdougbinclude TextFileProcessing.gmk 29174425Sdougb 30174425Sdougbdefault: bundles 31174425Sdougb 32174425Sdougb# Only macosx has bundles defined. 33174425Sdougbifeq ($(OPENJDK_TARGET_OS), macosx) 34174425Sdougb 35174425Sdougb bundles: jre-bundle jdk-bundle 36174425Sdougb 37174425Sdougb # JDK_MACOSX_CONTENTS_DIR and JRE_MACOSX_CONTENTS_DIR are defined in SPEC. 38174425Sdougb 39174425Sdougb MACOSX_PLIST_SRC := $(JDK_TOPDIR)/make/data/bundle 40174425Sdougb 41174425Sdougb BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE).$(VERSION_SHORT) 42174425Sdougb BUNDLE_NAME := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_SHORT) 43174425Sdougb BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_STRING) 44174425Sdougb BUNDLE_PLATFORM_VERSION := $(VERSION_MAJOR).$(VERSION_MINOR) 45174425Sdougb BUNDLE_VERSION := $(VERSION_NUMBER) 46174425Sdougb ifeq ($(COMPANY_NAME), N/A) 47174425Sdougb BUNDLE_VENDOR := UNDEFINED 48174425Sdougb else 49174425Sdougb BUNDLE_VENDOR := $(COMPANY_NAME) 50174425Sdougb endif 51174425Sdougb 52174425Sdougb JDK_FILE_LIST := $(shell $(FIND) $(JDK_IMAGE_DIR)) 53174425Sdougb JRE_FILE_LIST := $(shell $(FIND) $(JRE_IMAGE_DIR)) 54174425Sdougb 55174425Sdougb JDK_TARGET_LIST := $(subst $(JDK_IMAGE_DIR)/,$(JDK_MACOSX_CONTENTS_DIR)/Home/,$(JDK_FILE_LIST)) 56174425Sdougb JRE_TARGET_LIST := $(subst $(JRE_IMAGE_DIR)/,$(JRE_MACOSX_CONTENTS_DIR)/Home/,$(JRE_FILE_LIST)) 57174425Sdougb 58174425Sdougb # Copy empty directories (jre/lib/applet). 59174425Sdougb $(JDK_MACOSX_CONTENTS_DIR)/Home/%: $(JDK_IMAGE_DIR)/% 60174425Sdougb $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 61174425Sdougb $(MKDIR) -p $(@D) 62174425Sdougb if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -P '$<' '$@'; fi 63174425Sdougb 64174425Sdougb $(JRE_MACOSX_CONTENTS_DIR)/Home/%: $(JRE_IMAGE_DIR)/% 65174425Sdougb $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 66174425Sdougb $(MKDIR) -p $(@D) 67174425Sdougb if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -P '$<' '$@'; fi 68174425Sdougb 69174425Sdougb $(JDK_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib: 70174425Sdougb $(call LogInfo, Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 71174425Sdougb $(MKDIR) -p $(@D) 72174425Sdougb $(RM) $@ 73174425Sdougb $(LN) -s ../Home/lib/jli/libjli.dylib $@ 74174425Sdougb 75174425Sdougb $(JRE_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib: 76174425Sdougb $(call LogInfo, Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 77174425Sdougb $(MKDIR) -p $(@D) 78174425Sdougb $(RM) $@ 79174425Sdougb $(LN) -s ../Home/lib/jli/libjli.dylib $@ 80174425Sdougb 81174425Sdougb $(eval $(call SetupTextFileProcessing, BUILD_JDK_PLIST, \ 82174425Sdougb SOURCE_FILES := $(MACOSX_PLIST_SRC)/JDK-Info.plist, \ 83174425Sdougb OUTPUT_FILE := $(JDK_MACOSX_CONTENTS_DIR)/Info.plist, \ 84174425Sdougb REPLACEMENTS := \ 85174425Sdougb @@ID@@ => $(BUNDLE_ID).jdk ; \ 86174425Sdougb @@NAME@@ => $(BUNDLE_NAME) ; \ 87174425Sdougb @@INFO@@ => $(BUNDLE_INFO) ; \ 88174425Sdougb @@PLATFORM_VERSION@@ => $(BUNDLE_PLATFORM_VERSION) ; \ 89174425Sdougb @@VERSION@@ => $(BUNDLE_VERSION) ; \ 90174425Sdougb @@VENDOR@@ => $(BUNDLE_VENDOR) , \ 91174425Sdougb )) 92174425Sdougb 93174425Sdougb $(eval $(call SetupTextFileProcessing, BUILD_JRE_PLIST, \ 94174425Sdougb SOURCE_FILES := $(MACOSX_PLIST_SRC)/JRE-Info.plist, \ 95174425Sdougb OUTPUT_FILE := $(JRE_MACOSX_CONTENTS_DIR)/Info.plist, \ 96174425Sdougb REPLACEMENTS := \ 97174425Sdougb @@ID@@ => $(BUNDLE_ID).jre ; \ 98174425Sdougb @@NAME@@ => $(BUNDLE_NAME) ; \ 99174425Sdougb @@INFO@@ => $(BUNDLE_INFO) ; \ 100174425Sdougb @@PLATFORM_VERSION@@ => $(BUNDLE_PLATFORM_VERSION) ; \ 101174425Sdougb @@VERSION@@ => $(BUNDLE_VERSION) ; \ 102174425Sdougb @@VENDOR@@ => $(BUNDLE_VENDOR) , \ 103174425Sdougb )) 104174425Sdougb 105174425Sdougb jdk-bundle: $(JDK_TARGET_LIST) $(JDK_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib \ 1062490Sjkh $(BUILD_JDK_PLIST) 1072490Sjkh $(SETFILE) -a B $(dir $(JDK_MACOSX_CONTENTS_DIR)) 1082490Sjkh 1092490Sjkh jre-bundle: $(JRE_TARGET_LIST) $(JRE_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib \ 1102490Sjkh $(BUILD_JRE_PLIST) 1112490Sjkh $(SETFILE) -a B $(dir $(JRE_MACOSX_CONTENTS_DIR)) 1122490Sjkh 1132490Sjkhelse # Not macosx 1142490Sjkh 1152490Sjkh bundles: 1162490Sjkh $(ECHO) "No bundles defined for $(OPENJDK_TARGET_OS)" 1172490Sjkh 1182490Sjkhendif # macosx 1192490Sjkh 1202490Sjkh.PHONY: jdk-bundle jre-bundle bundles 1212490Sjkh