Makefile revision 5622
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
ee359fe1384507fed6c2274e7bfe81d288de4542Stephen Gallagher# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
33396dc46ea52c18f47db1b5d590880806521005Sumit Bose#
ee359fe1384507fed6c2274e7bfe81d288de4542Stephen Gallagher# This code is free software; you can redistribute it and/or modify it
33396dc46ea52c18f47db1b5d590880806521005Sumit Bose# under the terms of the GNU General Public License version 2 only, as
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# published by the Free Software Foundation. Oracle designates this
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit Bose# particular file as subject to the "Classpath" exception as provided
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit Bose# by Oracle in the LICENSE file that accompanied this code.
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit Bose#
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit Bose# This code is distributed in the hope that it will be useful, but WITHOUT
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher# version 2 for more details (a copy is included in the LICENSE file that
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher# accompanied this code).
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher#
e65df5b966b27e13283c65f59f99ac44781e0333Simo Sorce# You should have received a copy of the GNU General Public License version
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# 2 along with this work; if not, write to the Free Software Foundation,
002f84aea86371aa079b867c0ec39396b97109d3Lukas Slebodnik# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# or visit www.oracle.com if you need additional information or have any
ccf340e56364851f2e5b75e52d3d63701b662954Lukas Slebodnik# questions.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherBUILDDIR = ../..
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen GallagherPACKAGE = sun.awt.X11
cc98edd9479d4622634a1275c98058916c14059aStephen GallagherLIBRARY = mawt
ee359fe1384507fed6c2274e7bfe81d288de4542Stephen GallagherLIBRARY_OUTPUT = xawt
cc98edd9479d4622634a1275c98058916c14059aStephen GallagherPRODUCT = sun
d3da1c165cdb4c1ec126a8f4b6b544ca415b9d20Pavel Březina
d3da1c165cdb4c1ec126a8f4b6b544ca415b9d20Pavel Březinaifeq ($(PLATFORM), macosx)
d3da1c165cdb4c1ec126a8f4b6b544ca415b9d20Pavel BřezinaLIB_LOCATION = $(LIBDIR)/xawt
c481179da5d5b53ce16d8784c0bd2857ffc2f061Lukas Slebodnikelse
1183d29d87c5c7439cf2364b7d7324d4a13b6e35Stephen GallagherLIB_LOCATION = $(LIBDIR)/$(LIBARCH)/xawt
002f84aea86371aa079b867c0ec39396b97109d3Lukas Slebodnikendif
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherinclude $(BUILDDIR)/common/Defs.gmk
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherGEN_DIR=$(GENSRCDIR)/sun/awt/X11
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherCLASSES_INIT += $(TEMPDIR)/.gen.wrappers $(TEMPDIR)/.gen_icons touch.wrappers
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher.PHONY: generated.clean
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# Files
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo Sorce#
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo Sorceinclude FILES_c_unix.gmk
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo Sorceinclude FILES_export_unix.gmk
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekAUTO_FILES_JAVA_DIRS = sun/awt/X11
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekAUTO_JAVA_PRUNE = WrapperGenerator.java
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo SorceLDFLAGS += -L$(OPENWIN_LIB)
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo Sorce
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek# For Xrender extension.
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozekifeq ($(PLATFORM), solaris)
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekLDFLAGS += -L/usr/openwin/sfw/lib$(ISA_DIR) -R/usr/openwin/sfw/lib$(ISA_DIR)
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozekendif
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozekifeq ($(PLATFORM), linux)
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekLDFLAGS += -lpthread
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozekdummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozekendif
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozekifeq ($(PLATFORM), macosx))
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub HrozekLDFLAGS += -pthread
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub Hrozekdummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub Hrozekendif
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub Hrozek
1658c567191c35beaddffafdb079abe33248037bLukas Slebodnik# Since this library will be living in a subdirectory below the other libraries
1658c567191c35beaddffafdb079abe33248037bLukas Slebodnik# we need to add an extra runpath so that libraries in the upper directory
1658c567191c35beaddffafdb079abe33248037bLukas Slebodnik# are found at runtime.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherLD_RUNPATH_EXTRAS = ..
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# Rules.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherinclude $(BUILDDIR)/common/Mapfile-vers.gmk
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherinclude $(BUILDDIR)/common/Library.gmk
d921c1eba437662437847279f251a0a5d8f70127Maxim
d921c1eba437662437847279f251a0a5d8f70127Maxim#
d921c1eba437662437847279f251a0a5d8f70127Maxim# Add to the ambient vpath to pick up files in subdirectories
d921c1eba437662437847279f251a0a5d8f70127Maxim#
d921c1eba437662437847279f251a0a5d8f70127Maximvpath %.c $(SHARE_SRC)/native/sunawt/alphacomposite
d921c1eba437662437847279f251a0a5d8f70127Maximvpath %.c $(PLATFORM_SRC)/native/sun/xawt
d921c1eba437662437847279f251a0a5d8f70127Maximvpath %.c $(PLATFORM_SRC)/native/sun/awt
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzervpath %.c $(SHARE_SRC)/native/sun/awt/debug
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzervpath %.c $(SHARE_SRC)/native/sun/awt/image
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzervpath %.c $(SHARE_SRC)/native/sun/awt/image/gif
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzervpath %.c $(SHARE_SRC)/native/sun/awt/image/cvutils
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzervpath %.c $(SHARE_SRC)/native/sun/awt/shell
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzervpath %.c $(SHARE_SRC)/native/sun/java2d
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzervpath %.c $(SHARE_SRC)/native/sun/java2d/loops
327127bb7fcc07f882209f029e14026de1b23c94Maximvpath %.c $(SHARE_SRC)/native/sun/java2d/pipe
327127bb7fcc07f882209f029e14026de1b23c94Maximvpath %.c $(SHARE_SRC)/native/sun/awt/medialib
327127bb7fcc07f882209f029e14026de1b23c94Maximvpath %.c $(SHARE_SRC)/native/sun/awt/utility
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallaghervpath %.cpp $(SHARE_SRC)/native/sun/image
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallaghervpath %.c $(SHARE_SRC)/native/sun/font
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallaghervpath %.c $(PLATFORM_SRC)/native/sun/awt/robot_child
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallaghervpath %.c $(SHARE_SRC)/native/sun/java2d/opengl
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallaghervpath %.c $(PLATFORM_SRC)/native/sun/java2d/opengl
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallaghervpath %.c $(PLATFORM_SRC)/native/sun/java2d/x11
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
eb2e21b764d03544d8161e9956d7f70b07b75f77Simo SorceOTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) \
bc9235cfb80bd64a3bfa959e8d26d5ad1be0bdf4Jakub Hrozek $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi
bc9235cfb80bd64a3bfa959e8d26d5ad1be0bdf4Jakub Hrozek
07d82f79d2970a08628ebf71343441ec55faa6faPavel Březinaifeq ($(PLATFORM), solaris)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherCPPFLAGS += -DFUNCPROTO=15
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherdummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherendif
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherCPPFLAGS += -I$(CUPS_HEADERS_PATH)
4b6a0d0b3d42e5fdb457f47d9adfa5e66b160256Stephen Gallagher
90fd1bbd6035cdab46faa3a695a2fb2be6508b17Sumit BoseCPPFLAGS += -DXAWT -DXAWT_HACK \
03713859dffacc7142393e53c73d8d4cf7dee8d5Pavel Březina -I$(TEMPDIR)/../../sun.awt/awt/CClassHeaders \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(PLATFORM_SRC)/native/sun/awt \
af4ffe1001adcc0a96897e426d26444f07af9aa1Benjamin Franzke -I$(PLATFORM_SRC)/native/sun/xawt \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(PLATFORM_SRC)/native/sun/jdga \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(SHARE_SRC)/native/sun/awt/debug \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
32381402a4a9afc003782c9e2301fc59c9bda2a9Yassir Elley -I$(SHARE_SRC)/native/sun/java2d \
068dbee9ca7bf5b37330eff91c94ae10f288d09fJakub Hrozek -I$(SHARE_SRC)/native/sun/java2d/loops \
98ce3c3e85a4bb2e1822bf8ab2a1c2ab9e3dd61dJakub Hrozek -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
be65f065fef1d387281096ef095a2acef39ecc12Jakub Hrozek -I$(SHARE_SRC)/native/sun/awt/image \
e124844907ed6973915e4d56f5442ecd07535a12Jakub Hrozek -I$(SHARE_SRC)/native/sun/font \
f36078af138f052cd9a30360867b0ebd0805af5eJakub Hrozek -I$(PLATFORM_SRC)/native/sun/java2d \
34c78b745eb349eef2b0f13ef2b722632aebe619Jan Cholasta -I$(SHARE_SRC)/native/sun/java2d/pipe \
cb4d5b588e704114b7090678752d33512baa718eJakub Hrozek -I$(SHARE_SRC)/native/sun/java2d/opengl \
e07a94a66985b674c5df11ca466792902164c4e2George McCollister -I$(PLATFORM_SRC)/native/sun/java2d/opengl \
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub Hrozek -I$(PLATFORM_SRC)/native/sun/java2d/x11 \
a2e417f38c57ed87c956ddcecf4dafca93842b65Lukas Slebodnik -I$(SHARE_SRC)/native/sun/dc/path \
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzer -I$(SHARE_SRC)/native/sun/dc/doe \
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzer -I$(SHARE_SRC)/native/sun/awt/alphacomposite \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(SHARE_SRC)/native/sun/awt/medialib \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(PLATFORM_SRC)/native/sun/awt/medialib \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(PLATFORM_SRC)/native/sun/font \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(SHARE_SRC)/native/sun/awt \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(PLATFORM_SRC)/native/sun/awt
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherifeq ($(PLATFORM), linux)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher ifndef CROSS_COMPILE_ARCH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher # Allows for builds on Debian GNU Linux, X11 is in a different place
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher # This should really be handled at a higher-level so we don't have to
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher # work-around this when cross-compiling
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I/usr/include/X11/extensions \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(OPENWIN_HOME)/include
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher else
a5077712fc8c24e8cad08207b7b5a6603bde6a7cJakub Hrozek CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher -I$(OPENWIN_HOME)/include
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher endif
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherendif
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# We have some odd logic here because some Solaris 10 updates
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# have a render.h file that suggests gradients are supported, but
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# the Xrender.h doesn't have the corresponding type definitions.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# Earlier updates have neither. We'd like to know if there's a mismatch.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# Whilst in the C preprocessor we can tell if the render.h define's are set
2a5790216f57e9bdfb2930d52860bb5300366536Jakub Hrozek# we can't tell anything about C declarations.
b9e5bd09a5ff7009537a18914dbebcf10498f592Sumit Bose# A grep of Xrender.h is the only way to know this. If they are absent
af4ffe1001adcc0a96897e426d26444f07af9aa1Benjamin Franzke# we will set a flag indicating this mismatch and the JDK source file
6b0a7c72bb841d6885a620c68bd51d55109b66c7Jakub Hrozek# will interpret it to resolve the problem.
9917c138d9a270deb5820915384fbde751190c2aLukas Slebodnikifeq ($(PLATFORM), solaris)
0e1dcef53d9d8465ce97d31ad11be4445a6e7eb8Lukas Slebodnik CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions
c3889e5a101a075defe533d81f5296d5e680f639Lukas Slebodnik OS_VERSION := $(shell uname -r)
3fc158e59eebbc2f538fe0076a03928d0d4eab9fPavel Březina XRENDER_H := $(OPENWIN_HOME)/share/include/X11/extensions/Xrender.h
b9c8ce2bdd4045782c243605a1b999098bedcffcNoam Meltzer ifeq ($(OS_VERSION),5.10)
3fc158e59eebbc2f538fe0076a03928d0d4eab9fPavel Březina LINEARGRADIENT_CNT := $(shell $(EGREP) -c XLinearGradient $(XRENDER_H))
3fc158e59eebbc2f538fe0076a03928d0d4eab9fPavel Březina ifeq ($(LINEARGRADIENT_CNT),0)
3fc158e59eebbc2f538fe0076a03928d0d4eab9fPavel Březina CFLAGS+= -DSOLARIS10_NO_XRENDER_STRUCTS
3fc158e59eebbc2f538fe0076a03928d0d4eab9fPavel Březina endif
b32159300fea63222d8dd9200ed634087704ea74Stephen Gallagher endif
b32159300fea63222d8dd9200ed634087704ea74Stephen Gallagherendif
b32159300fea63222d8dd9200ed634087704ea74Stephen Gallagher
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnikifeq ($(PLATFORM), macosx)
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnik CPPFLAGS += -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnikendif
b32159300fea63222d8dd9200ed634087704ea74Stephen Gallagher
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnikifeq ($(MILESTONE), internal)
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnik CPPFLAGS += -DINTERNAL_BUILD
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnikendif
b32159300fea63222d8dd9200ed634087704ea74Stephen Gallagher
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnik#
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# Generation of wrappers
539b1be3507abdf8ac235b06eeed5011b0b5cde2Ondrej Kos#
539b1be3507abdf8ac235b06eeed5011b0b5cde2Ondrej KosSIZER_DIR=$(GEN_DIR)/generator
574a1c20f114851071ae74112b34488c3d1aeeb3Ondrej KosSIZER = $(SIZER_DIR)/sizer
574a1c20f114851071ae74112b34488c3d1aeeb3Ondrej KosSIZER_32_C = $(SIZER).32.c
574a1c20f114851071ae74112b34488c3d1aeeb3Ondrej KosSIZER_64_C = $(SIZER).64.c
574a1c20f114851071ae74112b34488c3d1aeeb3Ondrej KosCFLAGS_32=$(CFLAGS)
2a5790216f57e9bdfb2930d52860bb5300366536Jakub HrozekCFLAGS_64=$(CFLAGS)
e6e26182d58c05d896f72f2925426658a6dc70b5Jakub Hrozek
e6e26182d58c05d896f72f2925426658a6dc70b5Jakub Hrozekifeq ($(PLATFORM), solaris)
9542512d7be40f2000298c86d3d2b728f4f0f65aStephen Gallagher
e6e26182d58c05d896f72f2925426658a6dc70b5Jakub Hrozekisalist:=$(shell $(ISAINFO))
2a5790216f57e9bdfb2930d52860bb5300366536Jakub Hrozek
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherifneq (,$(findstring sparcv9, $(isalist)))
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# On sparcv9 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# On sparcv9 CFLAGS already contain $(XARCH_OPTION/64), so to generate 32-bit sizer we need to change this option.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherCFLAGS_32=$(subst $(XARCH_OPTION/64),$(XARCH_OPTION/32),$(CFLAGS))
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherSIZERS = $(SIZER).32 $(SIZER).64
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherSIZERS_C = $(SIZER_32_C) $(SIZER_64_C)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32 $(WRAPPER_GENERATOR_DIR)/sizes.64
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherCFLAGS_64=$(CFLAGS) $(XARCH_OPTION/64)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherelse
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherifneq (,$(findstring amd64, $(isalist)))
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# On amd64 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# On amd64 CFLAGS already contain $(XARCH_OPTION/64), so to generate 32-bit sizer we need to change this option.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherCFLAGS_32=$(subst $(XARCH_OPTION/64),$(XARCH_OPTION/32),$(CFLAGS))
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherSIZERS = $(SIZER).32 $(SIZER).64
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherSIZERS_C = $(SIZER_32_C) $(SIZER_64_C)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32 $(WRAPPER_GENERATOR_DIR)/sizes.64
b50dffea929ee5cd0c59ba3c4822337cc162ff92Kamil DudkaCFLAGS_64=$(CFLAGS) $(XARCH_OPTION/64)
b50dffea929ee5cd0c59ba3c4822337cc162ff92Kamil Dudkaelse # !sparcv9 : includes (32-bit) sparc, i586
b50dffea929ee5cd0c59ba3c4822337cc162ff92Kamil DudkaSIZERS = $(SIZER).32
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherSIZERS_C = $(SIZER_32_C)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekendif # amd64
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekendif # sparcv9
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekelse # !solaris
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekifeq ($(PLATFORM), macosx)
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekCFLAGS_32=-arch i386
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekSIZERS = $(SIZER).32 $(SIZER).64
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekSIZERS_C = $(SIZER_32_C) $(SIZER_64_C)
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32 $(WRAPPER_GENERATOR_DIR)/sizes.64
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekCFLAGS_64=-arch x86_64
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekelse # !macosx
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekifeq ($(ARCH_DATA_MODEL), 32)
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekSIZERS = $(SIZER).32
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekSIZERS_C = $(SIZER_32_C)
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekifdef CROSS_COMPILE_ARCH
6f51c802311fd81a409a26763ed45b28a3234d0dJakub HrozekCFLAGS_32 = -m32
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekendif
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherelse # !32
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekSIZERS = $(SIZER).64
8b1f525acd20f36c836e827de3c251088961c5d9Stephen GallagherSIZERS_C = $(SIZER_64_C)
f5b6f977d4144c28e9c66f3f1c9d634d595d1117Marko MyllynenSIZES = $(WRAPPER_GENERATOR_DIR)/sizes.64
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherifdef CROSS_COMPILE_ARCH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherCFLAGS_64 = -m64
b80e8b76ad377c24865bb2eb5931893279f1f042Lukas Slebodnikendif
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherendif # 32
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherendif # !macosx
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherendif # solaris
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
72e60fd4eabcfbcdbfe01e8c38b94052bc6c2067Jakub Hrozek# XXX Hack for 6185483 - use hard-coded sizes.
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# Add the 64-bit platforms that need to be included into 32-bit build
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# and have sizes.64-$(PLATFORM)-$(LIBARCH) hardcoded in the workspace
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherifeq ($(PLATFORM)-$(LIBARCH), solaris-i386)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# If you define DOHACK=true for some combination of $(PLATFORM)-$(LIBARCH),
3d038d2e0dc7af04ec2f7c85ae325accb39f6237Jakub Hrozek# make sure you have sizes.64-$(PLATFORM)-$(LIBARCH) pre-generated in
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# $(PLATFORM_SRC)/classes/sun/awt/X11/generator/
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherDOHACK=true
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherendif # Hack
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherifeq ($(DOHACK), true)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherPREDEFINED_SIZES_TMPL=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/sizes.64-$(PLATFORM)-$(LIBARCH)
2a5790216f57e9bdfb2930d52860bb5300366536Jakub HrozekPREDEFINED_SIZES=$(WRAPPER_GENERATOR_DIR)/sizes.64
2a5790216f57e9bdfb2930d52860bb5300366536Jakub HrozekSIZES += $(WRAPPER_GENERATOR_DIR)/sizes.64
2a5790216f57e9bdfb2930d52860bb5300366536Jakub Hrozekendif
2a5790216f57e9bdfb2930d52860bb5300366536Jakub Hrozek
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub Hrozekifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub HrozekDOCOMPARE=true
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub Hrozekendif
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub Hrozek# 64 bit sizers are generated on platform-libarch (left) for use
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub Hrozek# on platform-libarch (right) and stored under the latter name.
e07a94a66985b674c5df11ca466792902164c4e2George McCollister# Do compare manually stored and automatically generated pair(s)
e07a94a66985b674c5df11ca466792902164c4e2George McCollister# if DOCOMPARE=true, just after the generation.
e07a94a66985b674c5df11ca466792902164c4e2George McCollisterSTORED_SIZES_TMPL_solaris_amd64=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/sizes.64-solaris-i386
e07a94a66985b674c5df11ca466792902164c4e2George McCollister
e07a94a66985b674c5df11ca466792902164c4e2George McCollisterWRAPPER_GENERATOR_JAVA=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/WrapperGenerator.java
e07a94a66985b674c5df11ca466792902164c4e2George McCollisterWRAPPER_GENERATOR_DIR=$(GENSRCDIR)/sun/awt/X11/generator
172c07013d1ea99447a780fd36f49d5c3a76981bJakub HrozekWRAPPER_GENERATOR_TEMPDIR=$(TEMPDIR)/sun/awt/X11/generator
9917c138d9a270deb5820915384fbde751190c2aLukas SlebodnikWRAPPER_GENERATOR_CLASS=$(WRAPPER_GENERATOR_TEMPDIR)/WrapperGenerator.class
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherXLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce
336879aabae137f9a81304f147fb0d43001654b0Simo Sorceifndef CROSS_COMPILE_ARCH
336879aabae137f9a81304f147fb0d43001654b0Simo SorceSIZERS_CC = $(CC)
336879aabae137f9a81304f147fb0d43001654b0Simo Sorceelse
336879aabae137f9a81304f147fb0d43001654b0Simo SorceSIZERS_CC = $(HOST_CC)
336879aabae137f9a81304f147fb0d43001654b0Simo Sorceendif
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce$(SIZERS): $(SIZERS_C)
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce $(prep-target)
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce $(SIZERS_CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce$(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA)
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(prep-target)
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(BOOT_JAVAC_CMD) -d $(WRAPPER_GENERATOR_TEMPDIR) $(WRAPPER_GENERATOR_JAVA)
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik$(SIZERS_C): $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(prep-target)
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(MKDIR) -p $(WRAPPER_GENERATOR_TEMPDIR)
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik$(SIZES): $(SIZERS)
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(CHMOD) +w $@;\
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik else \
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(ECHO) GENERATING $@; \
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik fi
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher fi
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher$(TEMPDIR)/.gen.wrappers: $(SIZES) $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher $(GEN_DIR) $(XLIBTYPES) "gen" $(WRAPPER_GENERATOR_DIR)/sizes
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallaghertouch.wrappers: $(TEMPDIR)/.gen.wrappers
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher $(MKDIR) -p $(TEMPDIR)
1c7f25390572025baa6783ede14523e22fc73043Lukas Slebodnik $(TOUCH) $(TEMPDIR)/.gen.wrappers
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
8c294c1cd4d721818a59684cf7f2b36123f79163Stephen Gallaghergenerated.clean:
8c294c1cd4d721818a59684cf7f2b36123f79163Stephen Gallagher $(RM) -r $(WRAPPER_GENERATOR_TEMPDIR)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher $(RM) -r $(WRAPPER_GENERATOR_DIR)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher $(RM) -r $(GEN_DIR)/*.java
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher $(RM) -r $(TEMPDIR)/.gen_icons
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher
96c73559adfbdac96720008fc022cb1d540b53c3Jakub Hrozekifdef OPENJDK
9542512d7be40f2000298c86d3d2b728f4f0f65aStephen Gallagher ICONS_PATH_PREFIX=$(PLATFORM_SRC)
e0ade8d1e00d577686f893e0059def5866dcb9f6Stephen Gallagherelse
70e59ed31c5a9c9ed02d9065ddf92be87c887efbJakub Hrozek ICONS_PATH_PREFIX=$(CLOSED_SRC)/solaris
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Boseendif
f1ce53a3b5656361557f80f61dfd42a371230c65Stephen Gallagher
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseICONS = \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon16.png \
885386b7e3f1c3e74b354576b98a092b0835d64eSumit Bose $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon24.png \
a7e27c11866a48742bb70564b88e15bf15e9367dPavel Březina $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon32.png \
a7e27c11866a48742bb70564b88e15bf15e9367dPavel Březina $(ICONS_PATH_PREFIX)/classes/sun/awt/X11/java-icon48.png
f1ce53a3b5656361557f80f61dfd42a371230c65Stephen Gallagher
1a59af8245f183f22d87d067a90197d8e2ea958dJakub Hrozek
f1ce53a3b5656361557f80f61dfd42a371230c65Stephen GallagherICONPATH=$(PLATFORM_SRC)/classes/sun/awt/X11
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher
ICONS += \
$(ICONPATH)/security-icon-bw16.png \
$(ICONPATH)/security-icon-interim16.png \
$(ICONPATH)/security-icon-yellow16.png \
$(ICONPATH)/security-icon-bw24.png \
$(ICONPATH)/security-icon-interim24.png \
$(ICONPATH)/security-icon-yellow24.png \
$(ICONPATH)/security-icon-bw32.png \
$(ICONPATH)/security-icon-interim32.png \
$(ICONPATH)/security-icon-yellow32.png \
$(ICONPATH)/security-icon-bw48.png \
$(ICONPATH)/security-icon-interim48.png \
$(ICONPATH)/security-icon-yellow48.png
TEMPDIR_CLASSES = $(TEMPDIR)/classes
$(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class: ToBin.java
@$(prep-target)
$(BOOT_JAVAC_CMD) -d $(TEMPDIR_CLASSES) $<
$(TEMPDIR)/.gen_icons: $(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class $(ICONS)
$(prep-target)
for i in $(ICONS); do \
filename=`basename $$i`; \
name=`$(ECHO) $$filename | $(TR) '\-.' '__'`; \
classname=$(GEN_DIR)/XAWTIcon32_$$name.java; \
$(RM) $$classname; \
$(ECHO) "package sun.awt.X11;" >> $$classname ; \
$(ECHO) "public class XAWTIcon32_$$name {" >> $$classname; \
$(ECHO) "public static int[] $$name = { " >> $$classname; \
$(CAT) $$i | \
$(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES) \
-Djava.awt.headless=true \
sun.awt.X11.ToBin >> $$classname; \
$(ECHO) "}; }" >> $$classname; \
classname=$(GEN_DIR)/XAWTIcon64_$$name.java; \
$(RM) $$classname; \
$(ECHO) "package sun.awt.X11;" >> $$classname ; \
$(ECHO) "public class XAWTIcon64_$$name {" >> $$classname; \
$(ECHO) "public static long[] $$name = { " >> $$classname; \
$(CAT) $$i | \
$(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES) \
-Djava.awt.headless=true \
sun.awt.X11.ToBin >> $$classname; \
$(ECHO) "}; }" >> $$classname; \
done
$(TOUCH) $@
clean clobber:: generated.clean
.PHONY: generated.clean robot_child