Makefile revision 2370
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved.
a908d41cb4b0658c958383375c5a8f0bcaaf843dFrancis Dupont# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# This code is free software; you can redistribute it and/or modify it
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# under the terms of the GNU General Public License version 2 only, as
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# published by the Free Software Foundation. Sun designates this
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# particular file as subject to the "Classpath" exception as provided
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# by Sun in the LICENSE file that accompanied this code.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# This code is distributed in the hope that it will be useful, but WITHOUT
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# version 2 for more details (a copy is included in the LICENSE file that
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# accompanied this code).
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
dbb012765c735ee0d82dedb116cdc7cf18957814Evan Hunt# You should have received a copy of the GNU General Public License version
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# 2 along with this work; if not, write to the Free Software Foundation,
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# CA 95054 USA or visit www.sun.com if you need additional information or
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# have any questions.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsBUILDDIR = ../..
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsMODULE = awt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsPACKAGE = sun.awt.X11
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsLIBRARY = mawt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsLIBRARY_OUTPUT = xawt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsLIB_LOCATION = $(LIBDIR)/$(LIBARCH)/xawt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsPRODUCT = sun
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsinclude $(BUILDDIR)/common/Defs.gmk
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan HuntGEN_DIR=$(GENSRCDIR)/sun/awt/X11
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsCLASSES_INIT += $(TEMPDIR)/.gen.wrappers $(TEMPDIR)/.gen_icons touch.wrappers
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews.PHONY: generated.clean
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Files
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsinclude FILES_c_unix.gmk
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsinclude FILES_export_unix.gmk
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsAUTO_FILES_JAVA_DIRS = sun/awt/X11
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsAUTO_JAVA_PRUNE = WrapperGenerator.java
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsLDFLAGS += -L$(OPENWIN_LIB)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# For Xrender extension.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(PLATFORM), solaris)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsLDFLAGS += -L/usr/openwin/sfw/lib$(ISA_DIR) -R/usr/openwin/sfw/lib$(ISA_DIR)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(PLATFORM), linux)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsLDFLAGS += -lpthread
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsdummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Since this library will be living in a subdirectory below the other libraries
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# we need to add an extra runpath so that libraries in the upper directory
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# are found at runtime.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsLD_RUNPATH_EXTRAS = ..
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Rules.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsinclude $(BUILDDIR)/common/Mapfile-vers.gmk
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Huntinclude $(BUILDDIR)/common/Library.gmk
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Add to the ambient vpath to pick up files in subdirectories
9f5443280fcfd625a06f63a1b457ed2335840278Mark Andrews#
9f5443280fcfd625a06f63a1b457ed2335840278Mark Andrewsvpath %.c $(SHARE_SRC)/native/sunawt/alphacomposite
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(PLATFORM_SRC)/native/sun/xawt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(PLATFORM_SRC)/native/sun/awt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/awt/debug
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/awt/image
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/awt/image/gif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/awt/image/cvutils
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/awt/shell
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/java2d
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/java2d/loops
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/java2d/pipe
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/awt/medialib
1059bc2e42e8214f8b73d3b4cd181d8394a94a6aFrancis Dupontvpath %.c $(SHARE_SRC)/native/sun/awt/utility
1059bc2e42e8214f8b73d3b4cd181d8394a94a6aFrancis Dupontvpath %.cpp $(SHARE_SRC)/native/sun/image
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/font
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(PLATFORM_SRC)/native/sun/awt/robot_child
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(SHARE_SRC)/native/sun/java2d/opengl
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(PLATFORM_SRC)/native/sun/java2d/opengl
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsvpath %.c $(PLATFORM_SRC)/native/sun/java2d/x11
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsOTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -lXrender -ldl \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(PLATFORM), solaris)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsCPPFLAGS += -DFUNCPROTO=15
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsdummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsCPPFLAGS += -I$(CUPS_HEADERS_PATH)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsCPPFLAGS += -DXAWT -DXAWT_HACK \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(TEMPDIR)/../../sun.awt/awt/CClassHeaders \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(PLATFORM_SRC)/native/sun/awt \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(PLATFORM_SRC)/native/sun/xawt \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(PLATFORM_SRC)/native/sun/jdga \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/awt/debug \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/java2d \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/java2d/loops \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/awt/image \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/font \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(PLATFORM_SRC)/native/sun/java2d \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/java2d/pipe \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/java2d/opengl \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(PLATFORM_SRC)/native/sun/java2d/opengl \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(PLATFORM_SRC)/native/sun/java2d/x11 \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/dc/path \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/dc/doe \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/awt/alphacomposite \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/awt/medialib \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(PLATFORM_SRC)/native/sun/awt/medialib \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(PLATFORM_SRC)/native/sun/font \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(SHARE_SRC)/native/sun/awt \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(PLATFORM_SRC)/native/sun/awt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(PLATFORM), linux)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Allows for builds on Debian GNU Linux, X11 is in a different place
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I/usr/include/X11/extensions \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -I$(OPENWIN_HOME)/include
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(PLATFORM), solaris)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(MILESTONE), internal)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews CPPFLAGS += -DINTERNAL_BUILD
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Generation of wrappers
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZER_DIR=$(GEN_DIR)/generator
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZER = $(SIZER_DIR)/sizer
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZER_32_C = $(SIZER).32.c
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntSIZER_64_C = $(SIZER).64.c
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntCFLAGS_32=$(CFLAGS)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsCFLAGS_64=$(CFLAGS)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(PLATFORM), solaris)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsisalist:=$(shell $(ISAINFO))
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifneq (,$(findstring sparcv9, $(isalist)))
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# On sparcv9 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# On sparcv9 CFLAGS already contain $(XARCH_OPTION/64), so to generate 32-bit sizer we need to change this option.
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntCFLAGS_32=$(subst $(XARCH_OPTION/64),$(XARCH_OPTION/32),$(CFLAGS))
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntSIZERS = $(SIZER).32 $(SIZER).64
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntSIZERS_C = $(SIZER_32_C) $(SIZER_64_C)
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32 $(WRAPPER_GENERATOR_DIR)/sizes.64
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntCFLAGS_64=$(CFLAGS) $(XARCH_OPTION/64)
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Huntelse
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Huntifneq (,$(findstring amd64, $(isalist)))
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt# On amd64 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL.
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt# On amd64 CFLAGS already contain $(XARCH_OPTION/64), so to generate 32-bit sizer we need to change this option.
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntCFLAGS_32=$(subst $(XARCH_OPTION/64),$(XARCH_OPTION/32),$(CFLAGS))
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntSIZERS = $(SIZER).32 $(SIZER).64
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan HuntSIZERS_C = $(SIZER_32_C) $(SIZER_64_C)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32 $(WRAPPER_GENERATOR_DIR)/sizes.64
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsCFLAGS_64=$(CFLAGS) $(XARCH_OPTION/64)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewselse # !sparcv9 : includes (32-bit) sparc, i586
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZERS = $(SIZER).32
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZERS_C = $(SIZER_32_C)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif # amd64
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif # sparcv9
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewselse # !solaris
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(ARCH_DATA_MODEL), 32)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZERS = $(SIZER).32
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZERS_C = $(SIZER_32_C)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewselse # !32
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZERS = $(SIZER).64
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZERS_C = $(SIZER_64_C)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.64
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif # 32
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
2ae159b376dac23870d8005563c585acf85a4b5aEvan Huntendif # solaris
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# XXX Hack for 6185483 - use hard-coded sizes.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Add the 64-bit platforms that need to be included into 32-bit build
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# and have sizes.64-$(PLATFORM)-$(LIBARCH) hardcoded in the workspace
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(PLATFORM)-$(LIBARCH), solaris-i386)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# If you define DOHACK=true for some combination of $(PLATFORM)-$(LIBARCH),
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# make sure you have sizes.64-$(PLATFORM)-$(LIBARCH) pre-generated in
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# $(PLATFORM_SRC)/classes/sun/awt/X11/generator/
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsDOHACK=true
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif # Hack
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(DOHACK), true)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsPREDEFINED_SIZES_TMPL=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/sizes.64-$(PLATFORM)-$(LIBARCH)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsPREDEFINED_SIZES=$(WRAPPER_GENERATOR_DIR)/sizes.64
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSIZES += $(WRAPPER_GENERATOR_DIR)/sizes.64
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsDOCOMPARE=true
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# 64 bit sizers are generated on platform-libarch (left) for use
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# on platform-libarch (right) and stored under the latter name.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# Do compare manually stored and automatically generated pair(s)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews# if DOCOMPARE=true, just after the generation.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsSTORED_SIZES_TMPL_solaris_amd64=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/sizes.64-solaris-i386
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsWRAPPER_GENERATOR_JAVA=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/WrapperGenerator.java
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsWRAPPER_GENERATOR_DIR=$(GENSRCDIR)/sun/awt/X11/generator
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsWRAPPER_GENERATOR_TEMPDIR=$(TEMPDIR)/sun/awt/X11/generator
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsWRAPPER_GENERATOR_CLASS=$(WRAPPER_GENERATOR_TEMPDIR)/WrapperGenerator.class
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsXLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews$(SIZERS): $(SIZERS_C)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(prep-target)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews$(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA)
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt $(prep-target)
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt $(BOOT_JAVAC_CMD) -d $(WRAPPER_GENERATOR_TEMPDIR) $(WRAPPER_GENERATOR_JAVA)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews$(SIZERS_C): $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(prep-target)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(MKDIR) -p $(WRAPPER_GENERATOR_TEMPDIR)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews$(SIZES): $(SIZERS)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(CHMOD) +w $@;\
1059bc2e42e8214f8b73d3b4cd181d8394a94a6aFrancis Dupont else \
1059bc2e42e8214f8b73d3b4cd181d8394a94a6aFrancis Dupont $(ECHO) GENERATING $@; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews fi
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews fi
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews$(TEMPDIR)/.gen.wrappers: $(SIZES) $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(GEN_DIR) $(XLIBTYPES) "gen" $(WRAPPER_GENERATOR_DIR)/sizes
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewstouch.wrappers: $(TEMPDIR)/.gen.wrappers
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(MKDIR) -p $(TEMPDIR)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(TOUCH) $(TEMPDIR)/.gen.wrappers
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsgenerated.clean:
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(RM) -r $(WRAPPER_GENERATOR_TEMPDIR)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(RM) -r $(WRAPPER_GENERATOR_DIR)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(RM) -r $(GEN_DIR)/*.java
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(RM) -r $(TEMPDIR)/.gen_icons
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsifdef OPENJDK
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews ICONS_PATH_PREFIX=$(PLATFORM_SRC)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewselse
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews ICONS_PATH_PREFIX=$(CLOSED_SRC)/solaris
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsendif
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsICONS = \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon16.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon24.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon32.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon48.png
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsICONPATH=$(PLATFORM_SRC)/classes/sun/awt/X11
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsICONS += \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-bw16.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-interim16.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-yellow16.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-bw24.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-interim24.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-yellow24.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-bw32.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-interim32.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-yellow32.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-bw48.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-interim48.png \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ICONPATH)/security-icon-yellow48.png
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark AndrewsTEMPDIR_CLASSES = $(TEMPDIR)/classes
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews$(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class: ToBin.java
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews @$(prep-target)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(BOOT_JAVAC_CMD) -d $(TEMPDIR_CLASSES) $<
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews$(TEMPDIR)/.gen_icons: $(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class $(ICONS)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(prep-target)
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews for i in $(ICONS); do \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews filename=`basename $$i`; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews name=`$(ECHO) $$filename | $(TR) '\-.' '__'`; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews classname=$(GEN_DIR)/XAWTIcon32_$$name.java; \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(RM) $$classname; \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(ECHO) "package sun.awt.X11;" >> $$classname ; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ECHO) "public class XAWTIcon32_$$name {" >> $$classname; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ECHO) "public static int[] $$name = { " >> $$classname; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(CAT) $$i | \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES) \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews -Djava.awt.headless=true \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews sun.awt.X11.ToBin >> $$classname; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews $(ECHO) "}; }" >> $$classname; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews classname=$(GEN_DIR)/XAWTIcon64_$$name.java; \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(RM) $$classname; \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(ECHO) "package sun.awt.X11;" >> $$classname ; \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(ECHO) "public class XAWTIcon64_$$name {" >> $$classname; \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(ECHO) "public static long[] $$name = { " >> $$classname; \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(CAT) $$i | \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES) \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt -Djava.awt.headless=true \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt sun.awt.X11.ToBin >> $$classname; \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(ECHO) "}; }" >> $$classname; \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt done
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(TOUCH) $@
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrewsclean clobber:: generated.clean
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews.PHONY: generated.clean robot_child
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews