Makefile revision 3297
fdd80e9a55c70b36a3bf3e409b86897301c44ff8Automatic Updater# Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved.
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# This code is free software; you can redistribute it and/or modify it
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# under the terms of the GNU General Public License version 2 only, as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# published by the Free Software Foundation. Oracle designates this
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# particular file as subject to the "Classpath" exception as provided
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# by Oracle in the LICENSE file that accompanied this code.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# This code is distributed in the hope that it will be useful, but WITHOUT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# version 2 for more details (a copy is included in the LICENSE file that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# accompanied this code).
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater# You should have received a copy of the GNU General Public License version
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# 2 along with this work; if not, write to the Free Software Foundation,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews# or visit www.oracle.com if you need additional information or have any
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Tell Defs.gmk that VIS is needed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use highest optimization level
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOTHER_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Include all Java source files in sun/awt and sun/java2d, except for:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# sun/java2d/pisces handled by sun/pisces/Makefile
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinAUTO_FILES_JAVA_DIRS = sun/awt sun/java2d com/sun/awt
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater# Prune files that are currently unused on Windows (but still used on
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic UpdaterAUTO_JAVA_PRUNE += RemoteOffScreenImage.java
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic UpdaterOTHER_CFLAGS += $(GX_OPTION) -DMLIB_NO_LIBSUNMATH -DUNICODE -D_UNICODE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOTHER_CXXFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater# Prune the sun/awt/X11 subdirectory, which is handled by sun/xawt/Makefile.
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater# Also prune files that are currently unused on Solaris/Linux (but still
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater# used on Windows).
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater # If on Solaris 11 (or dlfcn.h has unknown_control_flow pragmas in it)
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater # we trigger a SS11 bug that causes the compiler to crash (bug 6343678)
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater # Here we check to see if we need this workaround and change the opt
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater # settings for this one file.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein USE_WORKAROUND:=$(shell $(GREP) unknown_control_flow /usr/include/dlfcn.h)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(warning "WARNING: Using workaround for SS11 bug 6343678, on $@")
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # Compiler bug 6343678 need to prevent a SEGV in the compiler
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(warning "WARNING: Using workaround for SS11 bug 6343678, on $@")
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS-SPARC
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# solaris-sparc and solaris-sparcv9 both build 'vis'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinifeq ("$(PLATFORM)-$(ARCH_FAMILY)", "solaris-sparc")
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein INLINE_VIS = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein CFLAGS += $(CFLAGS_$(ARCH)) -DMLIB_ADD_SUFF $(INLINE_VIS) \
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updatervpath %.c $(PLATFORM_SRC)/native/sun/java2d/loops
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updatervpath %.c $(SHARE_SRC)/native/sun/awt/medialib
852ccdd42a71550c974111b49415204ffeca6573Automatic Updatervpath %.c $(PLATFORM_SRC)/native/sun/awt/medialib
852ccdd42a71550c974111b49415204ffeca6573Automatic Updatervpath %.s $(PLATFORM_SRC)/native/sun/awt/medialib
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS-SPARC
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater sun/awt/windows/awtLocalization.properties
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater # libawt.so on Linux is statically linked with Motif and contains all the
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater # Xm symbols. Mapfile is disabled so the symbols will remain public.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein COMPILEFONTCONFIG_FLAGS += $(ALT_COMPILEFONTCONFIG_FLAGS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Additional dependencies.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If make.depend is not working correctly, then it can be omitted
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# if you always build from a clean workspace.
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater# required additional rules:
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Add to the ambient vpath to pick up files in subdirectories
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/gif
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/cvutils
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.cpp $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/windows
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.cpp $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/d3d
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrewsvpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinvpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOTHER_LDLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
a1b05dea35aa30b152a47115e18bbe679d3fcf19Mark Andrews# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use -lXmu for EditRes support
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews# Extra C flags.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Solaris X11 Direct Graphics Access library
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinDGALIBS = $(_DGALIBS_$(ARCH):%=$(LIBDIR)/$(LIBARCH)/%)
2cc6eb92f9443695bc32fa6eed372d983d261a35Automatic Updater$(LIBDIR)/$(LIBARCH)/libxinerama.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libxinerama.so
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(LIBDIR)/$(LIBARCH)/libjdgaSUNW%.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libjdgaSUNW%.so
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(LIBDIR)/$(LIBARCH)/libjdgaSUNWafb.so: $(LIBDIR)/$(LIBARCH)/libjdgaSUNWffb.so
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $(LIBDIR)/$(LIBARCH)/libjdgaSUNW* $(LIBDIR)/$(LIBARCH)/libxinerama.so
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Font configs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/windows
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFONTCONFIGS_SRC = $(CLOSED_SRC)/solaris/classes/sun/awt/fontconfigs
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBINARYFONTCONFIGS = $(_FONTCONFIGS:%.properties=$(LIBDIR)/%.bfc)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(LIBDIR)/%.src: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPILEFONTCONFIG_JARFILE = $(BUILDTOOLJARDIR)/compilefontconfig.jar
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce$(LIBDIR)/%.bfc: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%.properties \
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(BOOT_JAVA_CMD) -jar $(COMPILEFONTCONFIG_JARFILE) $(COMPILEFONTCONFIG_FLAGS) $< $@
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
ac93437301f55ed69bf85883a497a75598c628f9Automatic UpdaterOTHER_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# Useful variables that name parts of the src tree.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceWINAWT_COMMON_native = $(PLATFORM_SRC)/native/sun/awt_common
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# FIXME: awt shouldn't have to see the VM's private headers.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# FIXME: if you re-order this list, the build breaks, possibly because
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# of filename collision. Such a collision, if present, is pure
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# evil. Need to investigate this.
ac93437301f55ed69bf85883a497a75598c628f9Automatic UpdaterOTHER_INCLUDES += -I$(CLASSHDRDIR)/../../java/jvm \
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# -I$(WINAWT_COMMON_native)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# this is only required for compiling )/native/sun/awt/medialib/*.c files
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceOTHER_INCLUDES += -I$(SHARE_SRC)/native/sun/awt/medialib
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# .res file construction.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce RC_FLAGS += -i "$(CLOSED_SRC)/windows/native/sun/windows"
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# Other extra flags needed for compiling.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceCPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX