1 # 2 # Copyright (c) 2011, 2016, 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 $(eval $(call IncludeCustomExtension, , gensrc/GensrcIcons.gmk)) 27 28 GENSRC_AWT_ICONS := 29 GENSRC_AWT_ICONS_SRC := 30 GENSRC_AWT_ICONS_TMP := $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop 31 GENSRC_AWT_ICONS_DST := $(GENSRC_AWT_ICONS_TMP)/sun/awt/ 32 33 # Allow this to be overridden from a custom makefile 34 X11_ICONS_PATH_PREFIX ?= $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE) 35 36 GENSRC_AWT_ICONS_SRC += \ 37 $(X11_ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon16.png \ 38 $(X11_ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon24.png \ 39 $(X11_ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon32.png \ 40 $(X11_ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon48.png 41 42 43 AWT_ICONPATH := $(TOPDIR)/src/java.desktop/share/classes/sun/awt/resources 44 45 GENSRC_AWT_ICONS_SRC += \ 46 $(AWT_ICONPATH)/security-icon-bw16.png \ 47 $(AWT_ICONPATH)/security-icon-interim16.png \ 48 $(AWT_ICONPATH)/security-icon-yellow16.png \ 49 $(AWT_ICONPATH)/security-icon-bw24.png \ 50 $(AWT_ICONPATH)/security-icon-interim24.png \ 51 $(AWT_ICONPATH)/security-icon-yellow24.png \ 52 $(AWT_ICONPATH)/security-icon-bw32.png \ 53 $(AWT_ICONPATH)/security-icon-interim32.png \ 54 $(AWT_ICONPATH)/security-icon-yellow32.png \ 55 $(AWT_ICONPATH)/security-icon-bw48.png \ 56 $(AWT_ICONPATH)/security-icon-interim48.png \ 57 $(AWT_ICONPATH)/security-icon-yellow48.png 58 59 GENSRC_AWT_ICONS_FILES := $(notdir $(GENSRC_AWT_ICONS_SRC)) 60 61 GENSRC_AWT_ICONS_SHORT_NAME = $(subst .,_,$(subst -,_,$(1))) 62 GENSRC_AWT_ICONS_DST_NAME = AWTIcon$(2)_$(subst .,_,$(subst -,_,$(1))) 63 64 ################################################################################ 65 66 $(GENSRC_AWT_ICONS_TMP)/_the.icons.dir: 67 $(call LogInfo, Generating icon classes) 68 $(call MakeDir, $(GENSRC_AWT_ICONS_DST)) 69 $(TOUCH) $@ 70 71 ################################################################################ 72 73 define SetupGensrcAWTIcon 74 # param 1 is for src-file 75 # param 2 is for src-dir 76 $1_SHORTNAME := $(call GENSRC_AWT_ICONS_SHORT_NAME,$1) 77 $1_NAME32 := $(call GENSRC_AWT_ICONS_DST_NAME,$1,32) 78 $1_TARGET32 := $(GENSRC_AWT_ICONS_DST)/$$($1_NAME32).java 79 $1_NAME64 := $(call GENSRC_AWT_ICONS_DST_NAME,$1,64) 80 $1_TARGET64 := $(GENSRC_AWT_ICONS_DST)/$$($1_NAME64).java 81 82 $$($1_TARGET32): $2/$1 $(GENSRC_AWT_ICONS_TMP)/_the.icons.dir $(BUILD_TOOLS_JDK) 83 $(RM) $$@ $$@.tmp 84 $(ECHO) "package sun.awt;" > $$@.tmp 85 $(ECHO) "public class $$($1_NAME32) {" >> $$@.tmp 86 $(ECHO) "public static int[] $$($1_SHORTNAME) = { " >> $$@.tmp 87 $(CAT) $$< | $(TOOL_AWT_TOBIN) >> $$@.tmp 88 $(ECHO) "}; }" >> $$@.tmp 89 $(MV) $$@.tmp $$@ 90 91 GENSRC_AWT_ICONS += $$($1_TARGET32) 92 93 $$($1_TARGET64): $2/$1 $(GENSRC_AWT_ICONS_TMP)/_the.icons.dir $(BUILD_TOOLS_JDK) 94 $(RM) $$@ $$@.tmp 95 $(ECHO) "package sun.awt;" > $$@.tmp 96 $(ECHO) "public class $$($1_NAME64) {" >> $$@.tmp 97 $(ECHO) "public static long[] $$($1_SHORTNAME) = { " >> $$@.tmp 98 $(CAT) $$< | $(TOOL_AWT_TOBIN) >> $$@.tmp 99 $(ECHO) "}; }" >> $$@.tmp 100 $(MV) $$@.tmp $$@ 101 102 GENSRC_AWT_ICONS += $$($1_TARGET64) 103 endef 104 105 $(foreach I, $(GENSRC_AWT_ICONS_SRC), $(eval $(call SetupGensrcAWTIcon,$(notdir $(I)),$(dir $(I))))) 106 107 GENSRC_JAVA_DESKTOP += $(GENSRC_AWT_ICONS) 108 109 ################################################################################ 110 111 ifeq ($(OPENJDK_TARGET_OS), macosx) 112 113 GENSRC_OSX_ICONS_DST := $(SUPPORT_OUTPUTDIR)/headers/java.desktop 114 GENSRC_OSX_ICONS := $(GENSRC_OSX_ICONS_DST)/AWTIconData.h 115 116 GENSRC_OSX_ICONS_SRC ?= $(TOPDIR)/make/data/macosxicons/JavaApp.icns 117 118 119 $(GENSRC_OSX_ICONS): $(GENSRC_OSX_ICONS_SRC) $(BUILD_TOOLS_JDK) 120 $(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@)) 121 $(call MakeDir, $(@D)) 122 $(RM) $@ $@.tmp 123 $(ECHO) "static unsigned char sAWTIconData[] = { " >> $@.tmp 124 $(CAT) $< | $(TOOL_OSX_TOBIN) >> $@.tmp 125 $(ECHO) "};" >> $@.tmp 126 $(MV) $@.tmp $@ 127 128 GENSRC_JAVA_DESKTOP += $(GENSRC_OSX_ICONS) 129 endif