1 #
   2 # Copyright (c) 1995, 2011, 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 
  39 OTHER_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES
  40 
  41 #
  42 # Files
  43 #
  44 
  45 #
  46 # Include all Java source files in sun/awt and sun/java2d, except for:
  47 # sun/awt/resources       handled by java/awt/Makefile
  48 # sun/java2d/pisces       handled by sun/pisces/Makefile
  49 #
  50 AUTO_FILES_JAVA_DIRS = sun/awt sun/java2d com/sun/awt
  51 AUTO_JAVA_PRUNE = resources pisces
  52 
  53 ifeq ($(PLATFORM), windows)
  54 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
  55 
  56 #
  57 # Files
  58 #
  59 include FILES_c_windows.gmk
  60 include FILES_export_windows.gmk
  61 
  62 #
  63 # Prune files that are currently unused on Windows (but still used on
  64 # Solaris/Linux).
  65 #
  66 AUTO_JAVA_PRUNE += RemoteOffScreenImage.java
  67 
  68 OTHER_CFLAGS += $(GX_OPTION) -DMLIB_NO_LIBSUNMATH -DUNICODE -D_UNICODE
  69 OTHER_CXXFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
  70 
  71 ifeq ($(ARCH_DATA_MODEL), 64)
  72   OTHER_CFLAGS += -DMLIB_OS64BIT
  73 endif
  74 
  75 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
  76 endif # PLATFORM
  77 
  78 ifneq ($(PLATFORM), windows)
  79 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
  80 
  81 #
  82 # Files
  83 #
  84 include FILES_c_unix.gmk
  85 include FILES_export_unix.gmk
  86 #
  87 # Prune the sun/awt/X11 subdirectory, which is handled by sun/xawt/Makefile.
  88 # Also prune files that are currently unused on Solaris/Linux (but still
  89 # used on Windows).
  90 #
  91 AUTO_JAVA_PRUNE += X11 AWTCharset.java
  92 
  93 ifeq  ($(PLATFORM), solaris)
  94 FILES_c = $(FILES_2D_c)
  95 FILES_c += awt_LoadLibrary.c
  96 OTHER_LDLIBS = $(JVMLIB) $(LIBM) -ldl
  97 ifeq ($(CC_VER), 5.8)
  98   ifndef REMOVE_ALL_WORKAROUNDS
  99     ifeq ($(ARCH_FAMILY), i586)
 100       # If on Solaris 11 (or dlfcn.h has unknown_control_flow pragmas in it)
 101       #   we trigger a SS11 bug that causes the compiler to crash (bug 6343678)
 102       #   Here we check to see if we need this workaround and change the opt 
 103       #   settings for this one file.
 104       USE_WORKAROUND:=$(shell $(GREP) unknown_control_flow /usr/include/dlfcn.h)
 105       ifneq ($(USE_WORKAROUND),)
 106         ifeq ($(FASTDEBUG), true)
 107           CFLAGS_DBG/awt_Mlib.o = -xO0 \
 108             $(warning  "WARNING: Using workaround for SS11 bug 6343678, on $@")
 109         endif
 110         # Compiler bug 6343678 need to prevent a SEGV in the compiler
 111         CFLAGS_OPT/awt_Mlib.o = -g \
 112           $(warning  "WARNING: Using workaround for SS11 bug 6343678, on $@")
 113       endif
 114     endif
 115   endif
 116 endif
 117 endif
 118 
 119 ifeq  ($(PLATFORM), linux)
 120 FILES_c = $(FILES_2D_c)
 121 FILES_c += awt_LoadLibrary.c
 122 OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
 123 OTHER_LDLIBS = $(JVMLIB) $(LIBM) -ldl
 124 endif
 125 
 126 FILES_c += initIDs.c
 127 
 128 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
 129 endif # PLATFORM 
 130 
 131 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS-SPARC
 132 # solaris-sparc and solaris-sparcv9 both build 'vis'
 133 ifeq ("$(PLATFORM)-$(ARCH_FAMILY)", "solaris-sparc")
 134   FILES_c += $(FILES_2D_vis)
 135   ASFLAGS += -P
 136   FILES_s += mlib_v_ImageCopy_blk.s
 137   INLINE_VIS = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
 138   CFLAGS_sparcv9 = -DMLIB_OS64BIT
 139   
 140   CFLAGS += $(CFLAGS_$(ARCH)) -DMLIB_ADD_SUFF $(INLINE_VIS) \
 141             -I$(SHARE_SRC)/native/sun/awt/medialib \
 142             -I$(PLATFORM_SRC)/native/sun/awt/medialib \
 143             -I$(PLATFORM_SRC)/native/sun/java2d/loops
 144 
 145 vpath %.c  $(PLATFORM_SRC)/native/sun/java2d/loops
 146 vpath %.c  $(SHARE_SRC)/native/sun/awt/medialib
 147 vpath %.c  $(PLATFORM_SRC)/native/sun/awt/medialib
 148 vpath %.s  $(PLATFORM_SRC)/native/sun/awt/medialib
 149 
 150 else
 151   FILES_c += MapAccelFunc.c
 152 endif
 153 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS-SPARC
 154 
 155 #
 156 # Resources
 157 #
 158 LOCALE_SET_DEFINITION = jre
 159 ifeq ($(PLATFORM), windows)
 160   RESOURCE_BUNDLES_COMPILED_PROPERTIES += \
 161         sun/awt/windows/awtLocalization.properties
 162 endif
 163 
 164 #
 165 # Rules
 166 #
 167 ifeq ($(PLATFORM), linux)
 168   FILES_m = mapfile-vers-linux
 169   # libawt.so on Linux is statically linked with Motif and contains all the
 170   # Xm symbols. Mapfile is disabled so the symbols will remain public.
 171   LDNOMAP=true
 172 endif
 173 
 174 include $(BUILDDIR)/common/Mapfile-vers.gmk
 175 include $(BUILDDIR)/common/Library.gmk
 176 
 177 COMPILEFONTCONFIG_FLAGS =
 178 ifdef ALT_COMPILEFONTCONFIG_FLAGS
 179   COMPILEFONTCONFIG_FLAGS += $(ALT_COMPILEFONTCONFIG_FLAGS)
 180 endif
 181 build: fontconfigs
 182 
 183 
 184 ifeq ($(PLATFORM), windows)
 185 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
 186 #
 187 # Additional dependencies.
 188 #
 189 # If make.depend is not working correctly, then it can be omitted
 190 # if you always build from a clean workspace. 
 191 
 192 include make.depend
 193 
 194 # required additional rules:
 195 
 196 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
 197 endif # PLATFORM
 198 
 199 ifneq ($(PLATFORM), windows)
 200 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
 201 
 202 ifndef OPENJDK
 203 build: dgalibs
 204 endif
 205 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
 206 endif # PLATFORM
 207 
 208 clobber clean:: java2d.clean fontconfigs.clean
 209 
 210 ifndef OPENJDK
 211 clobber clean:: dgalib.clean 
 212 endif
 213 
 214 java2d.clean:
 215         $(RM) -r $(CLASSBINDIR)/sun/java2d .classes.*
 216 
 217 #
 218 # Add to the ambient vpath to pick up files in subdirectories
 219 #
 220 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image
 221 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image/gif
 222 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image/cvutils
 223 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/shell
 224 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/medialib
 225 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/debug
 226 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/utility
 227 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d
 228 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops
 229 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe
 230 vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/image
 231 ifeq ($(PLATFORM), windows)
 232 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
 233 vpath %.cpp   $(PLATFORM_SRC)/native/sun/windows
 234 vpath %.cpp   $(PLATFORM_SRC)/native/$(PKGDIR)
 235 vpath %.cpp   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/windows
 236 vpath %.cpp   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/d3d
 237 vpath %.c     $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
 238 vpath %.c     $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
 239 vpath %.c     $(SHARE_SRC)/native/$(PKGDIR)/../font
 240 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
 241 endif # PLATFORM
 242 
 243 ifeq ($(PLATFORM), linux)
 244 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
 245 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
 246 vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
 247 vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11
 248 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../font
 249 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
 250 endif # PLATFORM
 251 
 252 ifeq ($(PLATFORM), windows)
 253 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
 254 OTHER_LDLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib \
 255                imm32.lib ole32.lib uuid.lib shell32.lib \
 256                comdlg32.lib winmm.lib comctl32.lib \
 257                shlwapi.lib delayimp.lib \
 258                $(JVMLIB) \
 259                /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
 260                /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
 261                /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
 262                /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
 263                /DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll
 264 
 265 clean:: awt.clean
 266 
 267 awt.clean: 
 268         $(RM) $(TEMPDIR)/awt.ico 
 269         $(RM) $(TEMPDIR)/awt.res 
 270         $(RM) $(TEMPDIR)/hand.cur 
 271         $(RM) $(TEMPDIR)/check.bmp
 272 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
 273 endif # PLATFORM
 274 
 275 ifneq ($(PLATFORM), windows)
 276 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
 277 
 278 LIBXTST = -lXtst
 279 
 280 # Use -lXmu for EditRes support
 281 LIBXMU_DBG      = -lXmu
 282 LIBXMU_OPT      =
 283 LIBXMU          = $(LIBXMU_$(VARIANT))
 284 
 285 #
 286 # Extra C flags.
 287 #
 288 
 289 
 290 ifndef OPENJDK
 291 
 292 #
 293 # Solaris X11 Direct Graphics Access library
 294 #
 295 
 296 _DGALIBS_sparc = \
 297         libxinerama.so \
 298         libjdgaSUNWcg6.so \
 299         libjdgaSUNWffb.so \
 300         libjdgaSUNWm64.so \
 301         libjdgaSUNWafb.so
 302 
 303 _DGALIBS_sparcv9 = \
 304         libxinerama.so \
 305         libjdgaSUNWcg6.so \
 306         libjdgaSUNWffb.so \
 307         libjdgaSUNWm64.so \
 308         libjdgaSUNWafb.so
 309 
 310 _DGALIBS_i586 =         # no i586 library yet
 311 
 312 _DGALIBS_amd64 =        # no amd64 library yet
 313 
 314 DGALIBS = $(_DGALIBS_$(ARCH):%=$(LIBDIR)/$(LIBARCH)/%)
 315 
 316 dgalibs: $(DGALIBS)
 317 
 318 $(LIBDIR)/$(LIBARCH)/libxinerama.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libxinerama.so
 319         $(install-file)
 320         $(call chmod-file, a+x)
 321 
 322 $(LIBDIR)/$(LIBARCH)/libjdgaSUNW%.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libjdgaSUNW%.so
 323         $(install-file)
 324         $(call chmod-file, a+x)
 325 
 326 $(LIBDIR)/$(LIBARCH)/libjdgaSUNWafb.so: $(LIBDIR)/$(LIBARCH)/libjdgaSUNWffb.so
 327         $(prep-target)
 328         $(call install-sym-link, libjdgaSUNWffb.so)
 329 
 330 clean:: dgalib.clean
 331 
 332 dgalib.clean:
 333         $(RM) $(LIBDIR)/$(LIBARCH)/libjdgaSUNW* $(LIBDIR)/$(LIBARCH)/libxinerama.so
 334 endif
 335 
 336 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
 337 endif # PLATFORM
 338 
 339 #
 340 # Font configs
 341 #
 342 
 343 ifeq ($(PLATFORM), windows)
 344 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
 345 
 346 FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/windows
 347 _FONTCONFIGS = \
 348         fontconfig.properties
 349 
 350 FONTCONFIGS_SRC_PREFIX =
 351 
 352 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
 353 endif # PLATFORM
 354 
 355 ifeq ($(PLATFORM), linux)
 356 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
 357 ifdef OPENJDK
 358 
 359 FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
 360 _FONTCONFIGS    = \
 361         fontconfig.properties                           \
 362         fontconfig.SuSE.properties                      \
 363         fontconfig.Ubuntu.properties                    \
 364         fontconfig.Fedora.properties
 365 else
 366 
 367 FONTCONFIGS_SRC = $(CLOSED_SRC)/solaris/classes/sun/awt/fontconfigs
 368 _FONTCONFIGS    = \
 369         fontconfig.properties                           \
 370         fontconfig.RedHat.5.5.properties                \
 371         fontconfig.Turbo.properties                     \
 372         fontconfig.SuSE.10.properties                   \
 373         fontconfig.SuSE.11.properties
 374 endif
 375 
 376 FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
 377 
 378 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
 379 endif # PLATFORM
 380 
 381 ifeq ($(PLATFORM), solaris)
 382 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS
 383 
 384 FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
 385 _FONTCONFIGS    = \
 386         fontconfig.properties
 387 
 388 FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
 389 
 390 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS
 391 endif # PLATFORM
 392 
 393 FONTCONFIGS     = $(_FONTCONFIGS:%=$(LIBDIR)/%.src)
 394 BINARYFONTCONFIGS = $(_FONTCONFIGS:%.properties=$(LIBDIR)/%.bfc)
 395 
 396 fontconfigs: $(FONTCONFIGS) $(BINARYFONTCONFIGS)
 397 
 398 $(LIBDIR)/%.src: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%
 399         $(install-file)
 400 
 401 COMPILEFONTCONFIG_JARFILE = $(BUILDTOOLJARDIR)/compilefontconfig.jar
 402 
 403 $(LIBDIR)/%.bfc: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%.properties \
 404     $(COMPILEFONTCONFIG_JARFILE)
 405         $(prep-target)
 406         $(BOOT_JAVA_CMD) -jar $(COMPILEFONTCONFIG_JARFILE) $(COMPILEFONTCONFIG_FLAGS) $< $@
 407         $(call chmod-file, 444)
 408         @$(java-vm-cleanup)
 409 
 410 fontconfigs.clean :
 411         $(RM) $(FONTCONFIGS)
 412         $(RM) $(BINARYFONTCONFIGS)
 413 
 414 ifeq ($(PLATFORM), windows)
 415 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
 416 OTHER_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
 417 
 418 ifeq ($(MILESTONE), internal)
 419   CPPFLAGS += -DINTERNAL_BUILD
 420 endif
 421 
 422 #
 423 # Useful variables that name parts of the src tree.
 424 #
 425 WINAWT_native        = $(PLATFORM_SRC)/native/sun/windows
 426 WINAWT_COMMON_native = $(PLATFORM_SRC)/native/sun/awt_common
 427 
 428 # FIXME: awt shouldn't have to see the VM's private headers.
 429 # FIXME: if you re-order this list, the build breaks, possibly because 
 430 #        of filename collision. Such a collision, if present, is pure
 431 #        evil. Need to investigate this.
 432 
 433 OTHER_INCLUDES += -I$(CLASSHDRDIR)/../../java/jvm \
 434         -I$(OBJDIR) \
 435         -I$(SHARE_SRC)/native/common \
 436         -I$(WINAWT_native) \
 437         -I$(DXSDK_INCLUDE_PATH) \
 438         -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
 439         -I$(SHARE_SRC)/native/sun/awt/image \
 440         -I$(SHARE_SRC)/native/sun/java2d/loops \
 441         -I$(SHARE_SRC)/native/sun/java2d \
 442         -I$(PLATFORM_SRC)/native/sun/java2d \
 443         -I$(SHARE_SRC)/native/sun/java2d/opengl \
 444         -I$(PLATFORM_SRC)/native/sun/java2d/d3d \
 445         -I$(PLATFORM_SRC)/native/sun/java2d/opengl \
 446         -I$(PLATFORM_SRC)/native/sun/java2d/windows \
 447         -I$(SHARE_SRC)/native/sun/font \
 448         -I$(SHARE_SRC)/native/sun/java2d/pipe \
 449         -I$(SHARE_SRC)/native/sun/dc/path \
 450         -I$(SHARE_SRC)/native/sun/dc/doe \
 451         -I$(SHARE_SRC)/native/sun/awt/debug \
 452         -I$(PLATFORM_SRC)/native/sun/awt
 453 #       -I$(WINAWT_COMMON_native)
 454 
 455 # this is only required for compiling )/native/sun/awt/medialib/*.c files
 456 #
 457 OTHER_INCLUDES += -I$(SHARE_SRC)/native/sun/awt/medialib
 458 
 459 #
 460 # .res file construction.
 461 #
 462 
 463 ifdef OPENJDK
 464     RC_FLAGS += -i "$(PLATFORM_SRC)/resource/icons"
 465 else
 466     RC_FLAGS += -i "$(CLOSED_SRC)/windows/native/sun/windows"
 467 endif
 468 VERSIONINFO_RESOURCE = $(WINAWT_native)/awt.rc
 469 
 470 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
 471 endif # PLATFORM
 472 
 473 ifneq ($(PLATFORM), windows)
 474 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
 475 
 476 #
 477 # Other extra flags needed for compiling.
 478 #
 479 
 480 ifeq ($(PLATFORM), linux)
 481 CPPFLAGS += -I$(OPENWIN_HOME)/include \
 482             -I$(OPENWIN_HOME)/include/X11/extensions \
 483             -I$(PLATFORM_SRC)/native/$(PKGDIR)/font 
 484 endif
 485 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
 486             -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
 487             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
 488             -I$(SHARE_SRC)/native/$(PKGDIR)/image \
 489             -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \
 490             -I$(SHARE_SRC)/native/$(PKGDIR)/shell \
 491             -I$(SHARE_SRC)/native/$(PKGDIR)/medialib \
 492             -I$(PLATFORM_SRC)/native/$(PKGDIR)/medialib \
 493             -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d \
 494             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d \
 495             -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops \
 496             -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe \
 497             -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl \
 498             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl \
 499             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 \
 500             -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/doe \
 501             -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/path \
 502             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../jdga \
 503             -I$(PLATFORM_SRC)/native/$(PKGDIR) \
 504             $(EVENT_MODEL)
 505 
 506 ifeq ($(PLATFORM), linux)
 507 LDFLAGS += -L$(OPENWIN_LIB)
 508 endif
 509 
 510 LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
 511            $(AWT_RUNPATH)
 512 
 513 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
 514 endif # PLATFORM
 515 
 516 CLASSES.export += java.io.InputStream \
 517                   java.lang.Integer \
 518                   java.lang.ThreadGroup
 519 
 520 .PHONY: dgalibs dgalib.clean fontconfigs fontconfigs.clean
 521