jdk/makefiles/sun/awt/Makefile
changeset 12317 9670c1610c53
equal deleted inserted replaced
12316:ba6b7a51e226 12317:9670c1610c53
       
     1 #
       
     2 # Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
       
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4 #
       
     5 # This code is free software; you can redistribute it and/or modify it
       
     6 # under the terms of the GNU General Public License version 2 only, as
       
     7 # published by the Free Software Foundation.  Oracle designates this
       
     8 # particular file as subject to the "Classpath" exception as provided
       
     9 # by Oracle in the LICENSE file that accompanied this code.
       
    10 #
       
    11 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    14 # version 2 for more details (a copy is included in the LICENSE file that
       
    15 # accompanied this code).
       
    16 #
       
    17 # You should have received a copy of the GNU General Public License version
       
    18 # 2 along with this work; if not, write to the Free Software Foundation,
       
    19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    20 #
       
    21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    22 # or visit www.oracle.com if you need additional information or have any
       
    23 # questions.
       
    24 #
       
    25 
       
    26 BUILDDIR = ../..
       
    27 PACKAGE = sun.awt
       
    28 LIBRARY = awt
       
    29 PRODUCT = sun
       
    30 
       
    31 # Tell Defs.gmk that VIS is needed
       
    32 VIS_NEEDED=true
       
    33 
       
    34 # Use highest optimization level
       
    35 OPTMIZATION_LEVEL = HIGHEST
       
    36 
       
    37 include $(BUILDDIR)/common/Defs.gmk
       
    38 include $(BUILDDIR)/Tools.gmk
       
    39 
       
    40 OTHER_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES
       
    41 
       
    42 #
       
    43 # Files
       
    44 #
       
    45 
       
    46 #
       
    47 # Include all Java source files in sun/awt and sun/java2d, except for:
       
    48 # sun/awt/resources       handled by java/awt/Makefile
       
    49 # sun/java2d/pisces       handled by sun/pisces/Makefile
       
    50 #
       
    51 AUTO_FILES_JAVA_DIRS = sun/awt sun/java2d com/sun/awt
       
    52 AUTO_JAVA_PRUNE = resources pisces
       
    53 
       
    54 ifeq ($(PLATFORM), windows)
       
    55 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
       
    56 
       
    57 #
       
    58 # Files
       
    59 #
       
    60 include FILES_c_windows.gmk
       
    61 include FILES_export_windows.gmk
       
    62 
       
    63 #
       
    64 # Prune files that are currently unused on Windows (but still used on
       
    65 # Solaris/Linux).
       
    66 #
       
    67 AUTO_JAVA_PRUNE += RemoteOffScreenImage.java
       
    68 
       
    69 OTHER_CFLAGS += $(GX_OPTION) -DMLIB_NO_LIBSUNMATH -DUNICODE -D_UNICODE
       
    70 OTHER_CXXFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
       
    71 
       
    72 ifeq ($(ARCH_DATA_MODEL), 64)
       
    73   OTHER_CFLAGS += -DMLIB_OS64BIT
       
    74 endif
       
    75 
       
    76 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
       
    77 endif # PLATFORM
       
    78 
       
    79 ifneq ($(PLATFORM), windows)
       
    80 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
       
    81 
       
    82 #
       
    83 # Files
       
    84 #
       
    85 include FILES_c_unix.gmk
       
    86 include FILES_export_unix.gmk
       
    87 #
       
    88 # Prune the sun/awt/X11 subdirectory, which is handled by sun/xawt/Makefile.
       
    89 # Also prune files that are currently unused on Solaris/Linux (but still
       
    90 # used on Windows).
       
    91 #
       
    92 AUTO_JAVA_PRUNE += X11 AWTCharset.java
       
    93 
       
    94 ifeq  ($(PLATFORM), solaris)
       
    95 FILES_c = $(FILES_2D_c)
       
    96 FILES_c += awt_LoadLibrary.c
       
    97 OTHER_LDLIBS = $(JVMLIB) $(LIBM) $(LIBDL)
       
    98 ifeq ($(CC_VER), 5.8)
       
    99   ifndef REMOVE_ALL_WORKAROUNDS
       
   100     ifeq ($(ARCH_FAMILY), i586)
       
   101       # If on Solaris 11 (or dlfcn.h has unknown_control_flow pragmas in it)
       
   102       #   we trigger a SS11 bug that causes the compiler to crash (bug 6343678)
       
   103       #   Here we check to see if we need this workaround and change the opt 
       
   104       #   settings for this one file.
       
   105       USE_WORKAROUND:=$(shell $(GREP) unknown_control_flow /usr/include/dlfcn.h)
       
   106       ifneq ($(USE_WORKAROUND),)
       
   107 	ifeq ($(FASTDEBUG), true)
       
   108           CFLAGS_DBG/awt_Mlib.o = -xO0 \
       
   109 	    $(warning  "WARNING: Using workaround for SS11 bug 6343678, on $@")
       
   110 	endif
       
   111         # Compiler bug 6343678 need to prevent a SEGV in the compiler
       
   112         CFLAGS_OPT/awt_Mlib.o = -g \
       
   113 	  $(warning  "WARNING: Using workaround for SS11 bug 6343678, on $@")
       
   114       endif
       
   115     endif
       
   116   endif
       
   117 endif
       
   118 endif
       
   119 
       
   120 ifeq  ($(PLATFORM), linux)
       
   121 FILES_c = $(FILES_2D_c)
       
   122 FILES_c += awt_LoadLibrary.c
       
   123 OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
       
   124 OTHER_LDLIBS = $(JVMLIB) $(LIBM) $(LIBDL)
       
   125 endif
       
   126 
       
   127 FILES_c += initIDs.c
       
   128 
       
   129 ifeq ($(PLATFORM), macosx)
       
   130 FILES_c = $(FILES_2D_c)
       
   131 FILES_c += awt_LoadLibrary.c
       
   132 OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
       
   133 OTHER_LDLIBS = $(JVMLIB) $(LIBM)
       
   134 endif
       
   135 
       
   136 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
       
   137 endif # PLATFORM 
       
   138 
       
   139 ifeq ($(PLATFORM), macosx)
       
   140 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv MAC OS X
       
   141 
       
   142 #
       
   143 # Files
       
   144 #
       
   145 include FILES_c_macosx.gmk
       
   146 include FILES_export_macosx.gmk
       
   147 
       
   148 FILES_objc = $(FILES_AWT_objc)
       
   149 OTHER_LDLIBS = -lmlib_image $(JVMLIB) $(LIBM) \
       
   150     -framework Cocoa \
       
   151     -framework OpenGL \
       
   152     -framework JavaNativeFoundation \
       
   153     -framework JavaRuntimeSupport \
       
   154     -framework ApplicationServices \
       
   155     -framework AudioToolbox
       
   156 
       
   157 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ MAC OS X
       
   158 endif # PLATFORM 
       
   159 
       
   160 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS-SPARC
       
   161 # solaris-sparc and solaris-sparcv9 both build 'vis'
       
   162 ifeq ("$(PLATFORM)-$(ARCH_FAMILY)", "solaris-sparc")
       
   163   FILES_c += $(FILES_2D_vis)
       
   164   ASFLAGS += -P
       
   165   FILES_s += mlib_v_ImageCopy_blk.s
       
   166   INLINE_VIS = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
       
   167   CFLAGS_sparcv9 = -DMLIB_OS64BIT
       
   168   
       
   169   CFLAGS += $(CFLAGS_$(ARCH)) -DMLIB_ADD_SUFF $(INLINE_VIS) \
       
   170 	    -I$(SHARE_SRC)/native/sun/awt/medialib \
       
   171 	    -I$(PLATFORM_SRC)/native/sun/awt/medialib \
       
   172 	    -I$(PLATFORM_SRC)/native/sun/java2d/loops
       
   173 
       
   174 vpath %.c  $(PLATFORM_SRC)/native/sun/java2d/loops
       
   175 vpath %.c  $(SHARE_SRC)/native/sun/awt/medialib
       
   176 vpath %.c  $(PLATFORM_SRC)/native/sun/awt/medialib
       
   177 vpath %.s  $(PLATFORM_SRC)/native/sun/awt/medialib
       
   178 
       
   179 else
       
   180   FILES_c += MapAccelFunc.c
       
   181 endif
       
   182 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS-SPARC
       
   183 
       
   184 #
       
   185 # Resources
       
   186 #
       
   187 LOCALE_SET_DEFINITION = jre
       
   188 ifeq ($(PLATFORM), windows)
       
   189   RESOURCE_BUNDLES_COMPILED_PROPERTIES += \
       
   190 	sun/awt/windows/awtLocalization.properties
       
   191 endif
       
   192 
       
   193 #
       
   194 # Rules
       
   195 #
       
   196 ifeq ($(PLATFORM), linux)
       
   197   FILES_m = mapfile-vers-linux
       
   198   # libawt.so on Linux is statically linked with Motif and contains all the
       
   199   # Xm symbols. Mapfile is disabled so the symbols will remain public.
       
   200   LDNOMAP=true
       
   201 endif
       
   202 
       
   203 include $(BUILDDIR)/common/Mapfile-vers.gmk
       
   204 include $(BUILDDIR)/common/Library.gmk
       
   205 
       
   206 COMPILEFONTCONFIG_FLAGS =
       
   207 ifdef ALT_COMPILEFONTCONFIG_FLAGS
       
   208   COMPILEFONTCONFIG_FLAGS += $(ALT_COMPILEFONTCONFIG_FLAGS)
       
   209 endif
       
   210 build: fontconfigs
       
   211 
       
   212 
       
   213 ifeq ($(PLATFORM), windows)
       
   214 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
       
   215 #
       
   216 # Additional dependencies.
       
   217 #
       
   218 # If make.depend is not working correctly, then it can be omitted
       
   219 # if you always build from a clean workspace. 
       
   220 
       
   221 include make.depend
       
   222 
       
   223 # required additional rules:
       
   224 
       
   225 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
       
   226 endif # PLATFORM
       
   227 
       
   228 ifneq ($(PLATFORM), windows)
       
   229 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
       
   230 
       
   231 ifndef OPENJDK
       
   232 build: dgalibs
       
   233 endif
       
   234 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
       
   235 endif # PLATFORM
       
   236 
       
   237 clobber clean:: java2d.clean fontconfigs.clean
       
   238 
       
   239 ifndef OPENJDK
       
   240 clobber clean:: dgalib.clean 
       
   241 endif
       
   242 
       
   243 java2d.clean:
       
   244 	$(RM) -r $(CLASSBINDIR)/sun/java2d .classes.*
       
   245 
       
   246 #
       
   247 # Add to the ambient vpath to pick up files in subdirectories
       
   248 #
       
   249 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image
       
   250 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image/gif
       
   251 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image/cvutils
       
   252 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/shell
       
   253 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/medialib
       
   254 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/debug
       
   255 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/utility
       
   256 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d
       
   257 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops
       
   258 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe
       
   259 vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/image
       
   260 ifeq ($(PLATFORM), windows)
       
   261 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
       
   262 vpath %.cpp   $(PLATFORM_SRC)/native/sun/windows
       
   263 vpath %.cpp   $(PLATFORM_SRC)/native/$(PKGDIR)
       
   264 vpath %.cpp   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/windows
       
   265 vpath %.cpp   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/d3d
       
   266 vpath %.c     $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
       
   267 vpath %.c     $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
       
   268 vpath %.c     $(SHARE_SRC)/native/$(PKGDIR)/../font
       
   269 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
       
   270 endif # PLATFORM
       
   271 
       
   272 ifneq (,$(findstring $(PLATFORM), linux bsd))
       
   273 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
       
   274 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
       
   275 vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
       
   276 vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11
       
   277 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../font
       
   278 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
       
   279 endif # PLATFORM
       
   280 
       
   281 ifeq ($(PLATFORM), macosx)
       
   282 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv MAC OS X
       
   283 vpath %.m   $(call NativeSrcDirList,,native/com/apple/resources)
       
   284 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ MAC OS X
       
   285 endif # PLATFORM
       
   286 
       
   287 ifeq ($(PLATFORM), windows)
       
   288 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
       
   289 OTHER_LDLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib \
       
   290                imm32.lib ole32.lib uuid.lib shell32.lib \
       
   291                comdlg32.lib winmm.lib comctl32.lib \
       
   292                shlwapi.lib delayimp.lib \
       
   293                $(JVMLIB) \
       
   294                /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
       
   295                /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
       
   296                /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
       
   297                /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
       
   298                /DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll
       
   299 
       
   300 clean:: awt.clean
       
   301 
       
   302 awt.clean: 
       
   303 	$(RM) $(TEMPDIR)/awt.ico 
       
   304 	$(RM) $(TEMPDIR)/awt.res 
       
   305 	$(RM) $(TEMPDIR)/hand.cur 
       
   306 	$(RM) $(TEMPDIR)/check.bmp
       
   307 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
       
   308 endif # PLATFORM
       
   309 
       
   310 ifneq ($(PLATFORM), windows)
       
   311 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
       
   312 
       
   313 LIBXTST = -lXtst
       
   314 
       
   315 # Use -lXmu for EditRes support
       
   316 LIBXMU_DBG	= -lXmu
       
   317 LIBXMU_OPT	=
       
   318 LIBXMU	        = $(LIBXMU_$(VARIANT))
       
   319 
       
   320 #
       
   321 # Extra C flags.
       
   322 #
       
   323 
       
   324 
       
   325 ifndef OPENJDK
       
   326 
       
   327 #
       
   328 # Solaris X11 Direct Graphics Access library
       
   329 #
       
   330 
       
   331 _DGALIBS_sparc = \
       
   332 	libxinerama.so \
       
   333 	libjdgaSUNWcg6.so \
       
   334 	libjdgaSUNWffb.so \
       
   335 	libjdgaSUNWm64.so \
       
   336 	libjdgaSUNWafb.so
       
   337 
       
   338 _DGALIBS_sparcv9 = \
       
   339 	libxinerama.so \
       
   340 	libjdgaSUNWcg6.so \
       
   341 	libjdgaSUNWffb.so \
       
   342 	libjdgaSUNWm64.so \
       
   343 	libjdgaSUNWafb.so
       
   344 
       
   345 _DGALIBS_i586 = 	# no i586 library yet
       
   346 
       
   347 _DGALIBS_amd64 = 	# no amd64 library yet
       
   348 
       
   349 DGALIBS = $(_DGALIBS_$(ARCH):%=$(LIBDIR)/$(LIBARCH)/%)
       
   350 
       
   351 dgalibs: $(DGALIBS)
       
   352 
       
   353 $(LIBDIR)/$(LIBARCH)/libxinerama.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libxinerama.so
       
   354 	$(install-file)
       
   355 	$(call chmod-file, a+x)
       
   356 
       
   357 $(LIBDIR)/$(LIBARCH)/libjdgaSUNW%.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libjdgaSUNW%.so
       
   358 	$(install-file)
       
   359 	$(call chmod-file, a+x)
       
   360 
       
   361 $(LIBDIR)/$(LIBARCH)/libjdgaSUNWafb.so: $(LIBDIR)/$(LIBARCH)/libjdgaSUNWffb.so
       
   362 	$(prep-target)
       
   363 	$(call install-sym-link, libjdgaSUNWffb.so)
       
   364 
       
   365 clean:: dgalib.clean
       
   366 
       
   367 dgalib.clean:
       
   368 	$(RM) $(LIBDIR)/$(LIBARCH)/libjdgaSUNW* $(LIBDIR)/$(LIBARCH)/libxinerama.so
       
   369 endif
       
   370 
       
   371 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
       
   372 endif # PLATFORM
       
   373 
       
   374 #
       
   375 # Font configs
       
   376 #
       
   377 
       
   378 ifeq ($(PLATFORM), windows)
       
   379 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
       
   380 
       
   381 FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/windows
       
   382 _FONTCONFIGS = \
       
   383         fontconfig.properties
       
   384 
       
   385 FONTCONFIGS_SRC_PREFIX =
       
   386 
       
   387 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
       
   388 endif # PLATFORM
       
   389 
       
   390 ifeq ($(PLATFORM), linux)
       
   391 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
       
   392 ifdef OPENJDK
       
   393 
       
   394 FONTCONFIGS_SRC	= $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
       
   395 _FONTCONFIGS	= \
       
   396 	fontconfig.properties				\
       
   397 	fontconfig.SuSE.properties                      \
       
   398 	fontconfig.Ubuntu.properties                    \
       
   399 	fontconfig.Fedora.properties
       
   400 else
       
   401 
       
   402 FONTCONFIGS_SRC	= $(CLOSED_SRC)/solaris/classes/sun/awt/fontconfigs
       
   403 _FONTCONFIGS	= \
       
   404 	fontconfig.properties				\
       
   405 	fontconfig.RedHat.5.properties			\
       
   406 	fontconfig.RedHat.6.properties			\
       
   407 	fontconfig.Turbo.properties			\
       
   408 	fontconfig.SuSE.10.properties                   \
       
   409 	fontconfig.SuSE.11.properties
       
   410 endif
       
   411 
       
   412 FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
       
   413 
       
   414 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
       
   415 endif # PLATFORM
       
   416 
       
   417 ifeq ($(PLATFORM), solaris)
       
   418 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS
       
   419 
       
   420 FONTCONFIGS_SRC	= $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
       
   421 _FONTCONFIGS	= \
       
   422 	fontconfig.properties
       
   423 
       
   424 FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
       
   425 
       
   426 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS
       
   427 endif # PLATFORM
       
   428 
       
   429 
       
   430 ifeq ($(PLATFORM), macosx)
       
   431 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv MAC OS X
       
   432 
       
   433 FONTCONFIGS_SRC = $(JDK_TOPDIR)/src/macosx/classes/sun/awt/fontconfigs
       
   434 _FONTCONFIGS    = \
       
   435         fontconfig.properties
       
   436 
       
   437 FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
       
   438 
       
   439 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ MAC OS X
       
   440 endif # PLATFORM
       
   441 
       
   442 FONTCONFIGS     = $(_FONTCONFIGS:%=$(LIBDIR)/%.src)
       
   443 BINARYFONTCONFIGS = $(_FONTCONFIGS:%.properties=$(LIBDIR)/%.bfc)
       
   444 
       
   445 fontconfigs: $(FONTCONFIGS) $(BINARYFONTCONFIGS)
       
   446 
       
   447 $(LIBDIR)/%.src: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%
       
   448 	$(install-file)
       
   449 
       
   450 $(LIBDIR)/%.bfc: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%.properties \
       
   451     $(BUILD_TOOLS)
       
   452 	$(prep-target)
       
   453 	$(TOOL_COMPILEFONTCONFIG) $(COMPILEFONTCONFIG_FLAGS) $< $@
       
   454 	$(call chmod-file, 444)
       
   455 	@$(java-vm-cleanup)
       
   456 
       
   457 fontconfigs.clean :
       
   458 	$(RM) $(FONTCONFIGS)
       
   459 	$(RM) $(BINARYFONTCONFIGS)
       
   460 
       
   461 ifeq ($(PLATFORM), windows)
       
   462 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
       
   463 OTHER_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
       
   464 
       
   465 ifeq ($(MILESTONE), internal)
       
   466   CPPFLAGS += -DINTERNAL_BUILD
       
   467 endif
       
   468 
       
   469 #
       
   470 # Useful variables that name parts of the src tree.
       
   471 #
       
   472 WINAWT_native        = $(PLATFORM_SRC)/native/sun/windows
       
   473 WINAWT_COMMON_native = $(PLATFORM_SRC)/native/sun/awt_common
       
   474 
       
   475 # FIXME: awt shouldn't have to see the VM's private headers.
       
   476 # FIXME: if you re-order this list, the build breaks, possibly because 
       
   477 #        of filename collision. Such a collision, if present, is pure
       
   478 #        evil. Need to investigate this.
       
   479 
       
   480 OTHER_INCLUDES += -I$(CLASSHDRDIR)/../../java/jvm \
       
   481 	-I$(OBJDIR) \
       
   482 	-I$(SHARE_SRC)/native/common \
       
   483 	-I$(WINAWT_native) \
       
   484 	-I$(DXSDK_INCLUDE_PATH) \
       
   485 	-I$(SHARE_SRC)/native/sun/awt/image/cvutils \
       
   486 	-I$(SHARE_SRC)/native/sun/awt/image \
       
   487 	-I$(SHARE_SRC)/native/sun/java2d/loops \
       
   488 	-I$(SHARE_SRC)/native/sun/java2d \
       
   489 	-I$(PLATFORM_SRC)/native/sun/java2d \
       
   490 	-I$(SHARE_SRC)/native/sun/java2d/opengl \
       
   491 	-I$(PLATFORM_SRC)/native/sun/java2d/d3d \
       
   492 	-I$(PLATFORM_SRC)/native/sun/java2d/opengl \
       
   493 	-I$(PLATFORM_SRC)/native/sun/java2d/windows \
       
   494 	-I$(SHARE_SRC)/native/sun/font \
       
   495 	-I$(SHARE_SRC)/native/sun/java2d/pipe \
       
   496 	-I$(SHARE_SRC)/native/sun/dc/path \
       
   497 	-I$(SHARE_SRC)/native/sun/dc/doe \
       
   498 	-I$(SHARE_SRC)/native/sun/awt/debug \
       
   499 	-I$(PLATFORM_SRC)/native/sun/awt
       
   500 #	-I$(WINAWT_COMMON_native)
       
   501 
       
   502 # this is only required for compiling )/native/sun/awt/medialib/*.c files
       
   503 #
       
   504 OTHER_INCLUDES += -I$(SHARE_SRC)/native/sun/awt/medialib
       
   505 
       
   506 #
       
   507 # .res file construction.
       
   508 #
       
   509 
       
   510 ifdef OPENJDK
       
   511     RC_FLAGS += -i "$(PLATFORM_SRC)/resource/icons"
       
   512 else
       
   513     RC_FLAGS += -i "$(CLOSED_SRC)/windows/native/sun/windows"
       
   514 endif
       
   515 VERSIONINFO_RESOURCE = $(WINAWT_native)/awt.rc
       
   516 
       
   517 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
       
   518 endif # PLATFORM
       
   519 
       
   520 ifneq ($(PLATFORM), windows)
       
   521 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
       
   522 
       
   523 #
       
   524 # Other extra flags needed for compiling.
       
   525 #
       
   526 
       
   527 ifeq ($(PLATFORM), linux)
       
   528 CPPFLAGS += -I$(OPENWIN_HOME)/include \
       
   529             -I$(OPENWIN_HOME)/include/X11/extensions \
       
   530             -I$(PLATFORM_SRC)/native/$(PKGDIR)/font 
       
   531 endif
       
   532 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
       
   533             -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
       
   534             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
       
   535             -I$(SHARE_SRC)/native/$(PKGDIR)/image \
       
   536 	    -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \
       
   537 	    -I$(SHARE_SRC)/native/$(PKGDIR)/shell \
       
   538             -I$(SHARE_SRC)/native/$(PKGDIR)/medialib \
       
   539             -I$(PLATFORM_SRC)/native/$(PKGDIR)/medialib \
       
   540 	    -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d \
       
   541 	    -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d \
       
   542 	    -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops \
       
   543 	    -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe \
       
   544 	    -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl \
       
   545 	    -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl \
       
   546 	    -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 \
       
   547 	    -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/doe \
       
   548 	    -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/path \
       
   549             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../jdga \
       
   550             -I$(PLATFORM_SRC)/native/$(PKGDIR) \
       
   551 	    $(EVENT_MODEL)
       
   552 
       
   553 ifeq ($(PLATFORM), linux)
       
   554 LDFLAGS += -L$(OPENWIN_LIB)
       
   555 endif
       
   556 
       
   557 LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
       
   558 	   $(AWT_RUNPATH)
       
   559 
       
   560 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
       
   561 endif # PLATFORM
       
   562 
       
   563 CLASSES.export += java.io.InputStream \
       
   564 		  java.lang.Integer \
       
   565 		  java.lang.ThreadGroup
       
   566 
       
   567 .PHONY: dgalibs dgalib.clean fontconfigs fontconfigs.clean
       
   568