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