jdk/make/sun/awt/mawt.gmk
changeset 2 90ce3da70b43
child 1175 026b52c440fe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/sun/awt/mawt.gmk	Sat Dec 01 00:00:00 2007 +0000
@@ -0,0 +1,246 @@
+#
+# Copyright 2000-2007 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+#
+# to create directory:
+#
+INIT += $(LIB_LOCATION) 
+
+ifndef HEADLESS
+ifeq ($(PLATFORM), linux)
+ifeq ($(STATIC_MOTIF),false)
+INIT += $(LIB_LOCATION)/libXm.so
+endif
+endif
+endif
+
+#
+# Files
+#
+# mawt.gmk is just used in building X/Motif native code, so
+# this list of java files is no longer included.
+#include FILES_java_unix.gmk
+include $(BUILDDIR)/sun/awt/FILES_c_unix.gmk
+
+include $(BUILDDIR)/sun/awt/FILES_export_unix.gmk
+
+# Check which C files should be built.  Headless uses only
+# non-motif files.  Also, a version-specific motif file is
+# compiled based on the motif version.
+ifdef HEADLESS
+  FILES_c = $(FILES_NO_MOTIF_c)
+else
+  FILES_c = $(FILES_MOTIF_c) $(FILES_NO_MOTIF_c)
+
+  ifeq ($(MOTIF_VERSION), 2)
+    FILES_c += awt_motif21.c
+    FILES_c += awt_Choice21.c
+  endif
+
+endif
+
+ifeq ($(PLATFORM), solaris)
+  ifneq ($(ARCH), amd64)
+    FILES_reorder += reorder-$(ARCH)
+  endif
+endif
+
+#
+# Rules
+#
+
+# Class files should be built & clobbered in make/sun/awt
+# If removing this line, also reinclude sun_awt.jmk
+DONT_CLOBBER_CLASSES = true
+
+
+ifndef HEADLESS
+ifeq ($(VARIANT), OPT)
+FILES_m = ../awt/mapfile-mawt-vers
+endif
+endif
+
+# Since this library will be living in a subdirectory below the other libraries
+#   we need to add an extra runpath so that libraries in the upper directory
+#   are found at runtime.
+LD_RUNPATH_EXTRAS = ..
+
+include $(BUILDDIR)/common/Mapfile-vers.gmk
+include $(BUILDDIR)/common/Library.gmk
+
+$(LIB_LOCATION):
+	$(MKDIR) -p $@
+
+ifeq ($(PLATFORM), linux)
+ifeq ($(STATIC_MOTIF),false)
+$(LIB_LOCATION)/libXm.so:
+	$(CP) $(MOTIF_LIB)/libXm.so $(LIB_LOCATION)/libXm.so
+# Automounter problem makes the link fail on Redhat 6.1.
+#	$(LN) -s $(MOTIF_LIB)/libXm.so $(LIB_LOCATION)/libXm.so
+endif
+endif
+
+clean:: 
+
+#
+# Add to the ambient vpath to pick up files in subdirectories
+#
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/alphacomposite
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image/gif
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image/cvutils
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/shell
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/medialib
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
+vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
+vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/debug
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../font
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops
+vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe
+vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/image
+vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/robot_child
+
+#
+# Libraries to link in.
+#
+
+
+#CFLAGS += -g
+ifeq ($(HEADLESS),true)
+CFLAGS += -DHEADLESS=$(HEADLESS)
+CPPFLAGS += -DHEADLESS=$(HEADLESS)
+OTHER_LDLIBS =
+else
+CFLAGS += -DMOTIF_VERSION=$(MOTIF_VERSION)
+
+ifeq ($(STATIC_MOTIF),true)
+    LIBXM = $(MOTIF_LIB)/libXm.a -lXp -lXmu
+    ifeq ($(PLATFORM), linux)
+	ifeq ($(ARCH_DATA_MODEL), 64)
+            LIBXT = -lXt
+        else
+        # Allows for builds on Debian GNU Linux, X11 is in a different place 
+	    LIBXT = $(firstword $(wildcard /usr/X11R6/lib/libXt.a) \
+                            $(wildcard /usr/lib/libXt.a))
+	    LIBSM = $(firstword $(wildcard /usr/X11R6/lib/libSM.a) \
+                            $(wildcard /usr/lib/libSM.a))
+	    LIBICE = $(firstword $(wildcard /usr/X11R6/lib/libICE.a) \
+                             $(wildcard /usr/lib/libICE.a))
+	endif
+    endif
+else
+    LIBXM = -L$(MOTIF_LIB) -lXm -lXp
+    ifeq ($(PLATFORM), linux)
+	LIBXT = -lXt
+	LIBSM = 
+	LIBICE = 
+    endif
+endif
+
+LIBXTST = -lXtst
+
+# Use -lXmu for EditRes support
+LIBXMU_DBG	= -lXmu
+LIBXMU_OPT	=
+LIBXMU		= $(LIBXMU_$(VARIANT))
+
+ifeq ($(PLATFORM), solaris)
+OTHER_LDLIBS = $(LIBXM) -lXt -lXext $(LIBXTST) $(LIBXMU) -lX11 -lXi
+endif
+
+ifeq ($(PLATFORM), linux)
+OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
+OTHER_CFLAGS += -DMOTIF_VERSION=2
+OTHER_CFLAGS += -DXMSTRINGDEFINES=1
+OTHER_LDLIBS = $(LIBXM) $(LIBXMU) $(LIBXTST) -lXext $(LIBXT) $(LIBSM) $(LIBICE) -lX11 -lXi
+endif
+
+endif
+# !HEADLESS
+
+OTHER_LDLIBS += $(JVMLIB) $(LIBCXX) \
+                -lawt $(LIBM) -ldl
+
+#
+# Sun CC with -Xa misdefines __STDC__ to 0 (zero).
+# The following will force checking of X11 prototypes.
+# 
+ifneq ($(CC_VERSION),gcc)
+CPPFLAGS += -DFUNCPROTO=15
+endif
+
+#
+# Other extra flags needed for compiling.
+#
+CPPFLAGS += -I$(CUPS_HEADERS_PATH)
+
+ifndef HEADLESS
+CPPFLAGS += -I$(MOTIF_DIR)/include \
+            -I$(OPENWIN_HOME)/include 
+LDFLAGS  += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
+
+endif # !HEADLESS
+
+CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
+            -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
+            -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
+            -I$(SHARE_SRC)/native/$(PKGDIR)/image \
+	    -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \
+	    -I$(SHARE_SRC)/native/$(PKGDIR)/shell \
+	    -I$(SHARE_SRC)/native/$(PKGDIR)/alphacomposite \
+            -I$(SHARE_SRC)/native/$(PKGDIR)/medialib \
+            -I$(PLATFORM_SRC)/native/$(PKGDIR)/medialib \
+	    -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d \
+	    -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d \
+	    -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops \
+	    -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe \
+            -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl \
+            -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl \
+            -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 \
+        -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/doe \
+        -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/path \
+            -I$(PLATFORM_SRC)/native/$(PKGDIR)/../jdga \
+        -I$(PLATFORM_SRC)/native/$(PKGDIR) \
+        $(EVENT_MODEL)
+
+ifeq ($(PLATFORM), linux)
+# Checking for the X11/extensions headers at the additional location
+  CPPFLAGS += -I/X11R6/include/X11/extensions \
+              -I/usr/include/X11/extensions
+endif
+
+ifeq ($(PLATFORM), solaris)
+  CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions
+endif
+
+
+LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
+	   $(AWT_RUNPATH)
+
+CLASSES.export += java.io.InputStream \
+		  java.lang.ThreadGroup
+