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