source: trunk/openjdk/jdk/make/sun/awt/Makefile

Last change on this file was 332, checked in by dmik, 14 years ago

jdk: Make sure DllMain in JAWTOS2.DLL is called.

This also fixes the duplicate symbol error.

File size: 20.4 KB
Line 
1#
2# Copyright (c) 1995, 2007, 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
26BUILDDIR = ../..
27PACKAGE = sun.awt
28LIBRARY = awt
29PRODUCT = sun
30
31ifeq ($(PLATFORM), os2)
32LIBRARY_SHORT = jawtos2
33endif
34
35#
36# Tell Defs.gmk that VIS is needed
37#
38VIS_NEEDED=true
39
40include $(BUILDDIR)/common/Defs.gmk
41
42#
43# Use highest optimization level
44#
45_OPT = $(CC_HIGHEST_OPT)
46
47OTHER_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES
48
49#
50# Files
51#
52
53#
54# Include all Java source files in sun/awt and sun/java2d, except for:
55# sun/awt/resources handled by java/awt/Makefile
56# sun/java2d/pisces handled by sun/pisces/Makefile
57#
58AUTO_FILES_JAVA_DIRS = sun/awt sun/java2d
59AUTO_JAVA_PRUNE = resources pisces
60
61ifeq ($(PLATFORM), windows)
62# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
63
64#
65# Files
66#
67include FILES_c_windows.gmk
68include FILES_export_windows.gmk
69
70#
71# Prune files that are currently unused on Windows (but still used on
72# Solaris/Linux).
73#
74AUTO_JAVA_PRUNE += RemoteOffScreenImage.java
75
76OTHER_CXXFLAGS += -DD3D_OVERLOADS
77OTHER_CFLAGS += $(GX_OPTION) -DMLIB_NO_LIBSUNMATH -DUNICODE -D_UNICODE
78OTHER_CXXFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
79
80ifeq ($(ARCH_DATA_MODEL), 64)
81 OTHER_CFLAGS += -DMLIB_OS64BIT
82endif
83
84# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
85endif # PLATFORM
86
87ifeq ($(PLATFORM), os2)
88# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv OS/2
89
90#
91# Files
92#
93include FILES_c_windows.gmk
94include FILES_export_windows.gmk
95
96FILES_cpp += jdk_DllMain.cpp
97CXXFLAGS_OPT/jdk_DllMain.obj += -DHAVE_DLLMAIN
98CXXFLAGS_DBG/jdk_DllMain.obj += -DHAVE_DLLMAIN
99
100#
101# Prune files that are currently unused on Windows (but still used on
102# Solaris/Linux).
103#
104AUTO_JAVA_PRUNE += RemoteOffScreenImage.java
105
106OTHER_CXXFLAGS += -DD3D_OVERLOADS
107OTHER_CFLAGS += -DUNICODE -D_UNICODE
108OTHER_CXXFLAGS += -DUNICODE -D_UNICODE
109
110# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OS/2
111endif # PLATFORM
112
113ifneq ($(filter-out windows os2, $(PLATFORM)),)
114# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
115
116#
117# Files
118#
119include FILES_c_unix.gmk
120include FILES_export_unix.gmk
121#
122# Prune the sun/awt/X11 subdirectory, which is handled by sun/xawt/Makefile.
123# Also prune files that are currently unused on Solaris/Linux (but still
124# used on Windows).
125#
126AUTO_JAVA_PRUNE += X11 AWTCharset.java
127
128ifeq ($(PLATFORM), solaris)
129FILES_c = $(FILES_2D_c)
130FILES_c += awt_LoadLibrary.c
131OTHER_LDLIBS = $(JVMLIB) $(LIBM) -ldl
132ifeq ($(CC_VER), 5.8)
133 ifndef REMOVE_ALL_WORKAROUNDS
134 ifeq ($(ARCH_FAMILY), i586)
135 # If on Solaris 11 (or dlfcn.h has unknown_control_flow pragmas in it)
136 # we trigger a SS11 bug that causes the compiler to crash (bug 6343678)
137 # Here we check to see if we need this workaround and change the opt
138 # settings for this one file.
139 USE_WORKAROUND:=$(shell $(GREP) unknown_control_flow /usr/include/dlfcn.h)
140 ifneq ($(USE_WORKAROUND),)
141 ifeq ($(FASTDEBUG), true)
142 CFLAGS_DBG/awt_Mlib.o = -xO0 \
143 $(warning "WARNING: Using workaround for SS11 bug 6343678, on $@")
144 endif
145 # Compiler bug 6343678 need to prevent a SEGV in the compiler
146 CFLAGS_OPT/awt_Mlib.o = -g \
147 $(warning "WARNING: Using workaround for SS11 bug 6343678, on $@")
148 endif
149 endif
150 endif
151endif
152endif
153
154ifeq ($(PLATFORM), linux)
155FILES_c = $(FILES_2D_c)
156FILES_c += awt_LoadLibrary.c
157OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
158OTHER_CFLAGS += -DMOTIF_VERSION=2
159OTHER_LDLIBS = $(JVMLIB) $(LIBM) -ldl
160endif
161
162FILES_c += initIDs.c
163
164# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
165endif # PLATFORM
166
167# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS-SPARC
168# solaris-sparc and solaris-sparcv9 both build 'vis'
169ifeq ("$(PLATFORM)-$(ARCH_FAMILY)", "solaris-sparc")
170 FILES_c += $(FILES_2D_vis)
171 ASFLAGS += -P
172 FILES_s += mlib_v_ImageCopy_blk.s
173 INLINE_VIS = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
174 CFLAGS_sparcv9 = -DMLIB_OS64BIT
175
176 CFLAGS += $(CFLAGS_$(ARCH)) -DMLIB_ADD_SUFF $(INLINE_VIS) \
177 -I$(SHARE_SRC)/native/sun/awt/medialib \
178 -I$(PLATFORM_SRC)/native/sun/awt/medialib \
179 -I$(PLATFORM_SRC)/native/sun/java2d/loops
180
181vpath %.c $(PLATFORM_SRC)/native/sun/java2d/loops
182vpath %.c $(SHARE_SRC)/native/sun/awt/medialib
183vpath %.c $(PLATFORM_SRC)/native/sun/awt/medialib
184vpath %.s $(PLATFORM_SRC)/native/sun/awt/medialib
185
186else
187 FILES_c += MapAccelFunc.c
188endif
189# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS-SPARC
190
191#
192# Resources
193#
194LOCALE_SET_DEFINITION = jre
195ifeq ($(filter-out windows os2, $(PLATFORM)),)
196 RESOURCE_BUNDLES_COMPILED_PROPERTIES += \
197 sun/awt/windows/awtLocalization.properties
198endif
199
200#
201# Rules
202#
203ifeq ($(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
208endif
209
210include $(BUILDDIR)/common/Mapfile-vers.gmk
211include $(BUILDDIR)/common/Library.gmk
212
213build: fontconfigs
214
215
216ifeq ($(PLATFORM), windows)
217# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
218#
219# Additional dependencies.
220#
221# If make.depend is not working correctly, then it can be omitted
222# if you always build from a clean workspace.
223
224include make.depend
225
226# required additional rules:
227
228# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
229endif # PLATFORM
230
231ifneq ($(filter-out windows os2, $(PLATFORM)),)
232# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
233
234ifndef OPENJDK
235build: dgalibs
236endif
237# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
238endif # PLATFORM
239
240clobber clean:: java2d.clean motif.clean fontconfigs.clean
241
242ifndef OPENJDK
243clobber clean:: dgalib.clean
244endif
245
246java2d.clean:
247 $(RM) -r $(CLASSBINDIR)/sun/java2d .classes.*
248
249#
250# Add to the ambient vpath to pick up files in subdirectories
251#
252vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image
253vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/gif
254vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/cvutils
255vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/shell
256vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/medialib
257vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/debug
258vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d
259vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops
260vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe
261vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/image
262ifeq ($(filter-out windows os2, $(PLATFORM)),)
263# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
264ifeq ($(PLATFORM), os2)
265vpath %.cpp $(PLATFORM_SRC_OS2)/native/sun/os2
266endif
267vpath %.cpp $(PLATFORM_SRC)/native/sun/windows
268vpath %.cpp $(PLATFORM_SRC)/native/$(PKGDIR)
269vpath %.cpp $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/windows
270vpath %.cpp $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/d3d
271vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
272vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
273vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../font
274# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
275endif # PLATFORM
276
277ifeq ($(PLATFORM), linux)
278# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
279vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
280vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
281vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11
282vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../font
283# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
284endif # PLATFORM
285
286ifeq ($(PLATFORM), windows)
287# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
288ifeq ($(ARCH_DATA_MODEL), 64)
289OTHER_LDLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib \
290 imm32.lib ole32.lib uuid.lib $(JVMLIB) \
291 shell32.lib
292else
293OTHER_LDLIBS = /nod:kernel32.lib /nod:advapi32.lib /nod:user32.lib \
294 /nod:gdi32.lib /nod:shell32.lib /nod:comdlg32.lib \
295 /nod:version.lib /nod:mpr.lib /nod:rasapi32.lib \
296 /nod:winmm.lib /nod:winspool.lib /nod:vfw32.lib \
297 /nod:secur32.lib /nod:oleacc.lib /nod:oledlg.lib \
298 /nod:sensapi.lib $(UNICOWS_LIB_PATH)/unicows.lib \
299 kernel32.lib user32.lib gdi32.lib winspool.lib \
300 imm32.lib ole32.lib uuid.lib $(JVMLIB) \
301 shell32.lib
302endif
303
304clean:: awt.clean
305
306awt.clean:
307 $(RM) $(TEMPDIR)/awt.ico
308 $(RM) $(TEMPDIR)/awt.res
309 $(RM) $(TEMPDIR)/hand.cur
310 $(RM) $(TEMPDIR)/check.bmp
311# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
312endif # PLATFORM
313
314ifeq ($(PLATFORM), os2)
315# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv OS/2
316OTHER_LDLIBS = -lkernel32.lib -ladvapi32.lib -luser32.lib \
317 -lgdi32.lib -lshell32.lib -lcomdlg32.lib \
318 -lversion.lib -lmpr.lib -lrasapi32.lib \
319 -lwinmm.lib -lwinspool.lib \
320 -lsecur32.lib -loleacc.lib -loledlg.lib \
321 -lkernel32.lib -luser32.lib -lgdi32.lib -lwinspool.lib \
322 -limm32os2.lib -lole32.lib -lguidlib.lib $(JVMLIB) \
323 -lddraw.lib -lshell32.lib
324
325clean:: awt.clean
326
327awt.clean:
328 $(RM) $(TEMPDIR)/awt.ico
329 $(RM) $(TEMPDIR)/awt.res
330 $(RM) $(TEMPDIR)/hand.cur
331 $(RM) $(TEMPDIR)/check.bmp
332# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OS/2
333endif # PLATFORM
334
335ifneq ($(filter-out windows os2, $(PLATFORM)),)
336# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
337
338ifeq ($(STATIC_MOTIF),true)
339 LIBXM = $(MOTIF_LIB)/libXm.a -lXp
340else # STATIC_MOTIF
341 LIBXM = -lXm
342endif # STATIC_MOTIF
343
344LIBXTST = -lXtst
345
346# Use -lXmu for EditRes support
347LIBXMU_DBG = -lXmu
348LIBXMU_OPT =
349LIBXMU = $(LIBXMU_$(VARIANT))
350
351#
352# Extra C flags.
353#
354INIT += motif
355
356motif: $(OBJDIR)/.library.dirs.$(ARCH) $(OBJDIR)/.library.motif.$(ARCH)
357
358$(OBJDIR)/.library.motif.$(ARCH): $(MOTIF_LIB)/libXm.so.3
359 $(CP) $(MOTIF_LIB)/libXm.so.3 $(LIBDIR)/$(LIBARCH)/$(TSOBJDIR)
360 $(CD) $(LIBDIR)/$(LIBARCH)/$(TSOBJDIR); $(RM) libXm.so; \
361 $(LN) -s libXm.so.3 libXm.so
362 @-$(TOUCH) $(OBJDIR)/.library.motif.$(ARCH)
363
364clean:: motif.clean
365
366motif.clean :
367 $(RM) $(LIBDIR)/$(LIBARCH)/$(TSOBJDIR)/libXm.*
368
369ifndef OPENJDK
370
371#
372# Solaris X11 Direct Graphics Access library
373#
374
375_DGALIBS_sparc = \
376 libxinerama.so \
377 libjdgaSUNWcg6.so \
378 libjdgaSUNWffb.so \
379 libjdgaSUNWm64.so \
380 libjdgaSUNWafb.so
381
382_DGALIBS_sparcv9 = \
383 libxinerama.so \
384 libjdgaSUNWcg6.so \
385 libjdgaSUNWffb.so \
386 libjdgaSUNWm64.so \
387 libjdgaSUNWafb.so
388
389_DGALIBS_i586 = # no i586 library yet
390
391_DGALIBS_amd64 = # no amd64 library yet
392
393DGALIBS = $(_DGALIBS_$(ARCH):%=$(LIBDIR)/$(LIBARCH)/%)
394
395dgalibs: $(DGALIBS)
396
397$(LIBDIR)/$(LIBARCH)/libxinerama.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libxinerama.so
398 $(install-file)
399 $(CHMOD) a+x $@
400
401$(LIBDIR)/$(LIBARCH)/libjdgaSUNW%.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libjdgaSUNW%.so
402 $(install-file)
403 $(CHMOD) a+x $@
404
405$(LIBDIR)/$(LIBARCH)/libjdgaSUNWafb.so: $(LIBDIR)/$(LIBARCH)/libjdgaSUNWffb.so
406 $(prep-target)
407 $(LN) -s libjdgaSUNWffb.so $(LIBDIR)/$(LIBARCH)/libjdgaSUNWafb.so
408
409clean:: dgalib.clean
410
411dgalib.clean:
412 $(RM) $(LIBDIR)/$(LIBARCH)/libjdgaSUNW* $(LIBDIR)/$(LIBARCH)/libxinerama.so
413endif
414
415# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
416endif # PLATFORM
417
418#
419# Font configs
420#
421
422ifeq ($(PLATFORM), windows)
423# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
424
425FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/windows
426_FONTCONFIGS = \
427 fontconfig.properties \
428 fontconfig.98.properties
429
430FONTCONFIGS_SRC_PREFIX =
431
432# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
433endif # PLATFORM
434
435ifeq ($(PLATFORM), os2)
436# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv OS/2
437
438FONTCONFIGS_SRC = $(PLATFORM_SRC_OS2)/classes/sun/awt/os2
439_FONTCONFIGS = \
440 fontconfig.properties \
441 fontconfig.liberation.properties
442
443FONTCONFIGS_SRC_PREFIX =
444
445# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OS/2
446endif # PLATFORM
447
448ifeq ($(PLATFORM), linux)
449# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
450ifdef OPENJDK
451
452FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
453_FONTCONFIGS = \
454 fontconfig.properties \
455 fontconfig.SuSE.properties \
456 fontconfig.Ubuntu.properties \
457 fontconfig.Fedora.properties
458else
459
460FONTCONFIGS_SRC = $(CLOSED_SRC)/solaris/classes/sun/awt/fontconfigs
461_FONTCONFIGS = \
462 fontconfig.properties \
463 fontconfig.RedHat.properties \
464 fontconfig.RedHat.2.1.properties \
465 fontconfig.RedHat.3.properties \
466 fontconfig.RedHat.4.properties \
467 fontconfig.Sun.properties \
468 fontconfig.Turbo.properties \
469 fontconfig.SuSE.properties
470endif
471
472FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
473
474# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
475endif # PLATFORM
476
477ifeq ($(PLATFORM), solaris)
478# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS
479
480FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
481_FONTCONFIGS = \
482 fontconfig.properties \
483 fontconfig.5.9.properties \
484 fontconfig.5.8.properties
485
486FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
487
488# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS
489endif # PLATFORM
490
491FONTCONFIGS = $(_FONTCONFIGS:%=$(LIBDIR)/%.src)
492BINARYFONTCONFIGS = $(_FONTCONFIGS:%.properties=$(LIBDIR)/%.bfc)
493
494ifeq ($(PLATFORM), os2)
495# copy the default fontconfig file to fontconfig.default.* for convenience
496FONTCONFIGS += $(LIBDIR)/fontconfig.default.properties.src
497BINARYFONTCONFIGS += $(LIBDIR)/fontconfig.default.bfc
498$(LIBDIR)/fontconfig.default.properties.src: $(LIBDIR)/fontconfig.properties.src
499 $(install-file)
500$(LIBDIR)/fontconfig.default.bfc: $(LIBDIR)/fontconfig.bfc
501 $(install-file)
502endif
503
504fontconfigs: $(FONTCONFIGS) $(BINARYFONTCONFIGS)
505
506$(LIBDIR)/%.src: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%
507 $(install-file)
508
509COMPILEFONTCONFIG_JARFILE = $(BUILDTOOLJARDIR)/compilefontconfig.jar
510
511$(LIBDIR)/%.bfc: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%.properties \
512 $(COMPILEFONTCONFIG_JARFILE)
513 $(prep-target)
514 $(BOOT_JAVA_CMD) -jar $(COMPILEFONTCONFIG_JARFILE) $< $@
515 $(CHMOD) 444 $(@)
516 @$(java-vm-cleanup)
517
518fontconfigs.clean :
519 $(RM) $(FONTCONFIGS)
520 $(RM) $(BINARYFONTCONFIGS)
521
522ifeq ($(PLATFORM), windows)
523# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
524OTHER_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
525
526ifeq ($(MILESTONE), internal)
527 CPPFLAGS += -DINTERNAL_BUILD
528endif
529
530#
531# Useful variables that name parts of the src tree.
532#
533WINAWT_native = $(PLATFORM_SRC)/native/sun/windows
534WINAWT_COMMON_native = $(PLATFORM_SRC)/native/sun/awt_common
535
536# FIXME: awt shouldn't have to see the VM's private headers.
537# FIXME: if you re-order this list, the build breaks, possibly because
538# of filename collision. Such a collision, if present, is pure
539# evil. Need to investigate this.
540
541OTHER_INCLUDES += -I$(CLASSHDRDIR)/../../java/jvm \
542 -I$(OBJDIR) \
543 -I$(SHARE_SRC)/native/common \
544 -I$(WINAWT_native) \
545 -I$(DXSDK_INCLUDE_PATH) \
546 -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
547 -I$(SHARE_SRC)/native/sun/awt/image \
548 -I$(SHARE_SRC)/native/sun/java2d/loops \
549 -I$(SHARE_SRC)/native/sun/java2d \
550 -I$(PLATFORM_SRC)/native/sun/java2d \
551 -I$(SHARE_SRC)/native/sun/java2d/opengl \
552 -I$(PLATFORM_SRC)/native/sun/java2d/d3d \
553 -I$(PLATFORM_SRC)/native/sun/java2d/opengl \
554 -I$(PLATFORM_SRC)/native/sun/java2d/windows \
555 -I$(SHARE_SRC)/native/sun/font \
556 -I$(SHARE_SRC)/native/sun/java2d/pipe \
557 -I$(SHARE_SRC)/native/sun/dc/path \
558 -I$(SHARE_SRC)/native/sun/dc/doe \
559 -I$(SHARE_SRC)/native/sun/awt/debug \
560 -I$(PLATFORM_SRC)/native/sun/awt \
561# -I$(WINAWT_COMMON_native)
562
563# this is only required for compiling )/native/sun/awt/medialib/*.c files
564#
565OTHER_INCLUDES += -I$(SHARE_SRC)/native/sun/awt/medialib
566
567#
568# .res file construction.
569#
570
571ifdef OPENJDK
572 RC_FLAGS += -i "$(PLATFORM_SRC)/resource/icons"
573else
574 RC_FLAGS += -i "$(CLOSED_SRC)/windows/native/sun/windows"
575endif
576VERSIONINFO_RESOURCE = $(WINAWT_native)/awt.rc
577
578# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
579endif # PLATFORM
580
581ifeq ($(PLATFORM), os2)
582# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv OS/2
583
584#
585# Useful variables that name parts of the src tree.
586#
587WINAWT_native = $(PLATFORM_SRC)/native/sun/windows
588WINAWT_COMMON_native = $(PLATFORM_SRC)/native/sun/awt_common
589
590# FIXME: awt shouldn't have to see the VM's private headers.
591# FIXME: if you re-order this list, the build breaks, possibly because
592# of filename collision. Such a collision, if present, is pure
593# evil. Need to investigate this.
594
595OTHER_INCLUDES += -I$(CLASSHDRDIR)/../../java/jvm \
596 -I$(OBJDIR) \
597 -I$(SHARE_SRC)/native/common \
598 -I$(WINAWT_native) \
599 -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
600 -I$(SHARE_SRC)/native/sun/awt/image \
601 -I$(SHARE_SRC)/native/sun/java2d/loops \
602 -I$(SHARE_SRC)/native/sun/java2d \
603 -I$(PLATFORM_SRC)/native/sun/java2d \
604 -I$(SHARE_SRC)/native/sun/java2d/opengl \
605 -I$(PLATFORM_SRC)/native/sun/java2d/d3d \
606 -I$(PLATFORM_SRC)/native/sun/java2d/opengl \
607 -I$(PLATFORM_SRC)/native/sun/java2d/windows \
608 -I$(SHARE_SRC)/native/sun/font \
609 -I$(SHARE_SRC)/native/sun/java2d/pipe \
610 -I$(SHARE_SRC)/native/sun/dc/path \
611 -I$(SHARE_SRC)/native/sun/dc/doe \
612 -I$(SHARE_SRC)/native/sun/awt/debug \
613 -I$(PLATFORM_SRC)/native/sun/awt \
614# -I$(WINAWT_COMMON_native)
615
616# this is only required for compiling )/native/sun/awt/medialib/*.c files
617#
618OTHER_INCLUDES += -I$(SHARE_SRC)/native/sun/awt/medialib
619
620#
621# .res file construction.
622#
623
624ifdef OPENJDK
625 RC_FLAGS += -i "$(PLATFORM_SRC)/resource/icons"
626else
627 RC_FLAGS += -i "$(CLOSED_SRC)/windows/native/sun/windows"
628endif
629VERSIONINFO_RESOURCE = $(WINAWT_native)/awt.rc
630
631# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OS/2
632endif # PLATFORM
633
634ifneq ($(filter-out windows os2, $(PLATFORM)),)
635# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
636
637#
638# Other extra flags needed for compiling.
639#
640
641ifeq ($(PLATFORM), linux)
642CPPFLAGS += -I$(MOTIF_DIR)/include \
643 -I$(OPENWIN_HOME)/include \
644 -I$(OPENWIN_HOME)/include/X11/extensions \
645 -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
646endif
647CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
648 -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
649 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
650 -I$(SHARE_SRC)/native/$(PKGDIR)/image \
651 -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \
652 -I$(SHARE_SRC)/native/$(PKGDIR)/shell \
653 -I$(SHARE_SRC)/native/$(PKGDIR)/medialib \
654 -I$(PLATFORM_SRC)/native/$(PKGDIR)/medialib \
655 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d \
656 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d \
657 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops \
658 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe \
659 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl \
660 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl \
661 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 \
662 -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/doe \
663 -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/path \
664 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../jdga \
665 -I$(PLATFORM_SRC)/native/$(PKGDIR) \
666 $(EVENT_MODEL)
667
668ifeq ($(PLATFORM), linux)
669LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
670endif
671
672LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
673 $(AWT_RUNPATH)
674
675# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
676endif # PLATFORM
677
678CLASSES.export += java.io.InputStream \
679 java.lang.Integer \
680 java.lang.ThreadGroup
681
682.PHONY: dgalibs dgalib.clean fontconfigs fontconfigs.clean
683
Note: See TracBrowser for help on using the repository browser.