# # 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) # # 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) # XXX if in FILES_MOTIF_c there are unrelated to motif stuff, create a separate list! FILES_c = $(FILES_NO_MOTIF_c) 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 $@ 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 ifeq ($(PLATFORM), linux) ifeq ($(ARCH_DATA_MODEL), 64) # XXX what about the rest of them? 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)) LIBXTST = $(firstword $(wildcard /usr/X11R6/lib/libXtst.a) \ $(wildcard /usr/lib/libXtst.a)) endif endif # Use -lXmu for EditRes support LIBXMU_DBG = -lXmu LIBXMU_OPT = LIBXMU = $(LIBXMU_$(VARIANT)) ifeq ($(PLATFORM), solaris) OTHER_LDLIBS = -lXt -lXext $(LIBXTST) $(LIBXMU) -lX11 -lXi endif ifeq ($(PLATFORM), linux) OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH # XXX what is this define below? Isn't it motif-related? OTHER_CFLAGS += -DXMSTRINGDEFINES=1 OTHER_LDLIBS = $(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$(OPENWIN_HOME)/include LDFLAGS += -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