blob: 0a8ad9c5fe16854b3086214e28709e9c68272b6c [file] [log] [blame]
duke6e45e102007-12-01 00:00:00 +00001#
art433d2732009-02-11 17:07:06 +03002# Copyright 1995-2009 Sun Microsystems, Inc. All Rights Reserved.
duke6e45e102007-12-01 00:00:00 +00003# 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. Sun designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22# CA 95054 USA or visit www.sun.com if you need additional information or
23# have any questions.
24#
25
26BUILDDIR = ../..
mchung3baa2d62010-01-07 08:14:48 -080027MODULE = awt
duke6e45e102007-12-01 00:00:00 +000028PACKAGE = sun.awt
29LIBRARY = awt
30PRODUCT = sun
31
duke6e45e102007-12-01 00:00:00 +000032# Tell Defs.gmk that VIS is needed
duke6e45e102007-12-01 00:00:00 +000033VIS_NEEDED=true
34
duke6e45e102007-12-01 00:00:00 +000035# Use highest optimization level
ohair850fb252008-07-30 19:40:57 -070036OPTMIZATION_LEVEL = HIGHEST
37
38include $(BUILDDIR)/common/Defs.gmk
duke6e45e102007-12-01 00:00:00 +000039
40OTHER_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#
anthony421dab82009-02-04 11:58:13 +030051AUTO_FILES_JAVA_DIRS = sun/awt sun/java2d com/sun/awt
duke6e45e102007-12-01 00:00:00 +000052AUTO_JAVA_PRUNE = resources pisces
53
54ifeq ($(PLATFORM), windows)
55# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
56
57#
58# Files
59#
60include FILES_c_windows.gmk
61include FILES_export_windows.gmk
62
63#
64# Prune files that are currently unused on Windows (but still used on
65# Solaris/Linux).
66#
67AUTO_JAVA_PRUNE += RemoteOffScreenImage.java
68
duke6e45e102007-12-01 00:00:00 +000069OTHER_CFLAGS += $(GX_OPTION) -DMLIB_NO_LIBSUNMATH -DUNICODE -D_UNICODE
70OTHER_CXXFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
71
72ifeq ($(ARCH_DATA_MODEL), 64)
73 OTHER_CFLAGS += -DMLIB_OS64BIT
74endif
75
76# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
77endif # PLATFORM
78
79ifneq ($(PLATFORM), windows)
80# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
81
82#
83# Files
84#
85include FILES_c_unix.gmk
86include 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#
92AUTO_JAVA_PRUNE += X11 AWTCharset.java
93
94ifeq ($(PLATFORM), solaris)
95FILES_c = $(FILES_2D_c)
96FILES_c += awt_LoadLibrary.c
97OTHER_LDLIBS = $(JVMLIB) $(LIBM) -ldl
98ifeq ($(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
117endif
118endif
119
120ifeq ($(PLATFORM), linux)
121FILES_c = $(FILES_2D_c)
122FILES_c += awt_LoadLibrary.c
123OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
124OTHER_LDLIBS = $(JVMLIB) $(LIBM) -ldl
125endif
126
127FILES_c += initIDs.c
128
129# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
130endif # PLATFORM
131
132# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS-SPARC
133# solaris-sparc and solaris-sparcv9 both build 'vis'
134ifeq ("$(PLATFORM)-$(ARCH_FAMILY)", "solaris-sparc")
135 FILES_c += $(FILES_2D_vis)
136 ASFLAGS += -P
137 FILES_s += mlib_v_ImageCopy_blk.s
138 INLINE_VIS = $(PLATFORM_SRC)/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
139 CFLAGS_sparcv9 = -DMLIB_OS64BIT
140
141 CFLAGS += $(CFLAGS_$(ARCH)) -DMLIB_ADD_SUFF $(INLINE_VIS) \
142 -I$(SHARE_SRC)/native/sun/awt/medialib \
143 -I$(PLATFORM_SRC)/native/sun/awt/medialib \
144 -I$(PLATFORM_SRC)/native/sun/java2d/loops
145
146vpath %.c $(PLATFORM_SRC)/native/sun/java2d/loops
147vpath %.c $(SHARE_SRC)/native/sun/awt/medialib
148vpath %.c $(PLATFORM_SRC)/native/sun/awt/medialib
149vpath %.s $(PLATFORM_SRC)/native/sun/awt/medialib
150
151else
152 FILES_c += MapAccelFunc.c
153endif
154# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS-SPARC
155
156#
157# Resources
158#
159LOCALE_SET_DEFINITION = jre
160ifeq ($(PLATFORM), windows)
161 RESOURCE_BUNDLES_COMPILED_PROPERTIES += \
162 sun/awt/windows/awtLocalization.properties
163endif
164
165#
166# Rules
167#
168ifeq ($(PLATFORM), linux)
169 FILES_m = mapfile-vers-linux
170 # libawt.so on Linux is statically linked with Motif and contains all the
171 # Xm symbols. Mapfile is disabled so the symbols will remain public.
172 LDNOMAP=true
173endif
174
175include $(BUILDDIR)/common/Mapfile-vers.gmk
176include $(BUILDDIR)/common/Library.gmk
177
178build: fontconfigs
179
180
181ifeq ($(PLATFORM), windows)
182# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
183#
184# Additional dependencies.
185#
186# If make.depend is not working correctly, then it can be omitted
187# if you always build from a clean workspace.
188
189include make.depend
190
191# required additional rules:
192
193# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
194endif # PLATFORM
195
196ifneq ($(PLATFORM), windows)
197# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
198
199ifndef OPENJDK
200build: dgalibs
201endif
202# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
203endif # PLATFORM
204
205clobber clean:: java2d.clean fontconfigs.clean
206
207ifndef OPENJDK
208clobber clean:: dgalib.clean
209endif
210
211java2d.clean:
212 $(RM) -r $(CLASSBINDIR)/sun/java2d .classes.*
213
214#
215# Add to the ambient vpath to pick up files in subdirectories
216#
217vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image
218vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/gif
219vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/cvutils
220vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/shell
221vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/medialib
222vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/debug
art433d2732009-02-11 17:07:06 +0300223vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/utility
duke6e45e102007-12-01 00:00:00 +0000224vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d
225vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops
226vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe
227vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/image
228ifeq ($(PLATFORM), windows)
229# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
230vpath %.cpp $(PLATFORM_SRC)/native/sun/windows
231vpath %.cpp $(PLATFORM_SRC)/native/$(PKGDIR)
232vpath %.cpp $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/windows
233vpath %.cpp $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/d3d
234vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
235vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
236vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../font
237# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
238endif # PLATFORM
239
240ifeq ($(PLATFORM), linux)
241# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
242vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl
243vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl
244vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11
245vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../font
246# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
247endif # PLATFORM
248
249ifeq ($(PLATFORM), windows)
250# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
251OTHER_LDLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib \
art591952e2008-08-26 13:09:34 +0400252 imm32.lib ole32.lib uuid.lib shell32.lib \
253 comdlg32.lib winmm.lib comctl32.lib delayimp.lib \
254 $(JVMLIB) \
255 /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
256 /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
257 /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
258 /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
259 /DELAYLOAD:comctl32.dll
duke6e45e102007-12-01 00:00:00 +0000260
261clean:: awt.clean
262
263awt.clean:
264 $(RM) $(TEMPDIR)/awt.ico
265 $(RM) $(TEMPDIR)/awt.res
266 $(RM) $(TEMPDIR)/hand.cur
267 $(RM) $(TEMPDIR)/check.bmp
268# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
269endif # PLATFORM
270
271ifneq ($(PLATFORM), windows)
272# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
273
274LIBXTST = -lXtst
275
276# Use -lXmu for EditRes support
277LIBXMU_DBG = -lXmu
278LIBXMU_OPT =
279LIBXMU = $(LIBXMU_$(VARIANT))
280
281#
282# Extra C flags.
283#
284
285
286ifndef OPENJDK
287
288#
289# Solaris X11 Direct Graphics Access library
290#
291
292_DGALIBS_sparc = \
293 libxinerama.so \
294 libjdgaSUNWcg6.so \
295 libjdgaSUNWffb.so \
296 libjdgaSUNWm64.so \
297 libjdgaSUNWafb.so
298
299_DGALIBS_sparcv9 = \
300 libxinerama.so \
301 libjdgaSUNWcg6.so \
302 libjdgaSUNWffb.so \
303 libjdgaSUNWm64.so \
304 libjdgaSUNWafb.so
305
306_DGALIBS_i586 = # no i586 library yet
307
308_DGALIBS_amd64 = # no amd64 library yet
309
310DGALIBS = $(_DGALIBS_$(ARCH):%=$(LIBDIR)/$(LIBARCH)/%)
311
312dgalibs: $(DGALIBS)
313
314$(LIBDIR)/$(LIBARCH)/libxinerama.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libxinerama.so
315 $(install-file)
mchung3baa2d62010-01-07 08:14:48 -0800316 $(call chmod-file, a+x)
duke6e45e102007-12-01 00:00:00 +0000317
318$(LIBDIR)/$(LIBARCH)/libjdgaSUNW%.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libjdgaSUNW%.so
319 $(install-file)
mchung3baa2d62010-01-07 08:14:48 -0800320 $(call chmod-file, a+x)
duke6e45e102007-12-01 00:00:00 +0000321
322$(LIBDIR)/$(LIBARCH)/libjdgaSUNWafb.so: $(LIBDIR)/$(LIBARCH)/libjdgaSUNWffb.so
323 $(prep-target)
mchung3baa2d62010-01-07 08:14:48 -0800324 $(call install-sym-link, libjdgaSUNWffb.so)
duke6e45e102007-12-01 00:00:00 +0000325
326clean:: dgalib.clean
327
328dgalib.clean:
329 $(RM) $(LIBDIR)/$(LIBARCH)/libjdgaSUNW* $(LIBDIR)/$(LIBARCH)/libxinerama.so
330endif
331
332# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
333endif # PLATFORM
334
335#
336# Font configs
337#
338
339ifeq ($(PLATFORM), windows)
340# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
341
342FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/windows
343_FONTCONFIGS = \
prr943cc3b2008-12-18 11:25:09 -0800344 fontconfig.properties
duke6e45e102007-12-01 00:00:00 +0000345
346FONTCONFIGS_SRC_PREFIX =
347
348# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
349endif # PLATFORM
350
351ifeq ($(PLATFORM), linux)
352# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv LINUX
353ifdef OPENJDK
354
355FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
356_FONTCONFIGS = \
357 fontconfig.properties \
358 fontconfig.SuSE.properties \
359 fontconfig.Ubuntu.properties \
360 fontconfig.Fedora.properties
361else
362
363FONTCONFIGS_SRC = $(CLOSED_SRC)/solaris/classes/sun/awt/fontconfigs
364_FONTCONFIGS = \
365 fontconfig.properties \
366 fontconfig.RedHat.properties \
367 fontconfig.RedHat.2.1.properties \
368 fontconfig.RedHat.3.properties \
369 fontconfig.RedHat.4.properties \
370 fontconfig.Sun.properties \
371 fontconfig.Turbo.properties \
372 fontconfig.SuSE.properties
373endif
374
375FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
376
377# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LINUX
378endif # PLATFORM
379
380ifeq ($(PLATFORM), solaris)
381# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS
382
383FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs
384_FONTCONFIGS = \
385 fontconfig.properties \
386 fontconfig.5.9.properties \
387 fontconfig.5.8.properties
388
389FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
390
391# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS
392endif # PLATFORM
393
394FONTCONFIGS = $(_FONTCONFIGS:%=$(LIBDIR)/%.src)
395BINARYFONTCONFIGS = $(_FONTCONFIGS:%.properties=$(LIBDIR)/%.bfc)
396
397fontconfigs: $(FONTCONFIGS) $(BINARYFONTCONFIGS)
398
399$(LIBDIR)/%.src: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%
400 $(install-file)
401
402COMPILEFONTCONFIG_JARFILE = $(BUILDTOOLJARDIR)/compilefontconfig.jar
403
404$(LIBDIR)/%.bfc: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%.properties \
405 $(COMPILEFONTCONFIG_JARFILE)
406 $(prep-target)
407 $(BOOT_JAVA_CMD) -jar $(COMPILEFONTCONFIG_JARFILE) $< $@
mchung3baa2d62010-01-07 08:14:48 -0800408 $(install-module-file)
409 $(call chmod-file, 444)
duke6e45e102007-12-01 00:00:00 +0000410 @$(java-vm-cleanup)
411
412fontconfigs.clean :
413 $(RM) $(FONTCONFIGS)
414 $(RM) $(BINARYFONTCONFIGS)
415
416ifeq ($(PLATFORM), windows)
417# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
418OTHER_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
419
420ifeq ($(MILESTONE), internal)
421 CPPFLAGS += -DINTERNAL_BUILD
422endif
423
424#
425# Useful variables that name parts of the src tree.
426#
427WINAWT_native = $(PLATFORM_SRC)/native/sun/windows
428WINAWT_COMMON_native = $(PLATFORM_SRC)/native/sun/awt_common
429
430# FIXME: awt shouldn't have to see the VM's private headers.
431# FIXME: if you re-order this list, the build breaks, possibly because
432# of filename collision. Such a collision, if present, is pure
433# evil. Need to investigate this.
434
435OTHER_INCLUDES += -I$(CLASSHDRDIR)/../../java/jvm \
436 -I$(OBJDIR) \
437 -I$(SHARE_SRC)/native/common \
438 -I$(WINAWT_native) \
439 -I$(DXSDK_INCLUDE_PATH) \
440 -I$(SHARE_SRC)/native/sun/awt/image/cvutils \
441 -I$(SHARE_SRC)/native/sun/awt/image \
442 -I$(SHARE_SRC)/native/sun/java2d/loops \
443 -I$(SHARE_SRC)/native/sun/java2d \
444 -I$(PLATFORM_SRC)/native/sun/java2d \
445 -I$(SHARE_SRC)/native/sun/java2d/opengl \
446 -I$(PLATFORM_SRC)/native/sun/java2d/d3d \
447 -I$(PLATFORM_SRC)/native/sun/java2d/opengl \
448 -I$(PLATFORM_SRC)/native/sun/java2d/windows \
449 -I$(SHARE_SRC)/native/sun/font \
450 -I$(SHARE_SRC)/native/sun/java2d/pipe \
451 -I$(SHARE_SRC)/native/sun/dc/path \
452 -I$(SHARE_SRC)/native/sun/dc/doe \
453 -I$(SHARE_SRC)/native/sun/awt/debug \
tdvcf2e2232008-07-18 10:48:44 -0700454 -I$(PLATFORM_SRC)/native/sun/awt
duke6e45e102007-12-01 00:00:00 +0000455# -I$(WINAWT_COMMON_native)
456
457# this is only required for compiling )/native/sun/awt/medialib/*.c files
458#
459OTHER_INCLUDES += -I$(SHARE_SRC)/native/sun/awt/medialib
460
461#
462# .res file construction.
463#
464
465ifdef OPENJDK
466 RC_FLAGS += -i "$(PLATFORM_SRC)/resource/icons"
467else
468 RC_FLAGS += -i "$(CLOSED_SRC)/windows/native/sun/windows"
469endif
470VERSIONINFO_RESOURCE = $(WINAWT_native)/awt.rc
471
472# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ WINDOWS
473endif # PLATFORM
474
475ifneq ($(PLATFORM), windows)
476# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv SOLARIS/LINUX
477
478#
479# Other extra flags needed for compiling.
480#
481
482ifeq ($(PLATFORM), linux)
483CPPFLAGS += -I$(OPENWIN_HOME)/include \
484 -I$(OPENWIN_HOME)/include/X11/extensions \
485 -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
486endif
487CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
488 -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
489 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
490 -I$(SHARE_SRC)/native/$(PKGDIR)/image \
491 -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \
492 -I$(SHARE_SRC)/native/$(PKGDIR)/shell \
493 -I$(SHARE_SRC)/native/$(PKGDIR)/medialib \
494 -I$(PLATFORM_SRC)/native/$(PKGDIR)/medialib \
495 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d \
496 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d \
497 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops \
498 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe \
499 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl \
500 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl \
501 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 \
502 -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/doe \
503 -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/path \
504 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../jdga \
505 -I$(PLATFORM_SRC)/native/$(PKGDIR) \
506 $(EVENT_MODEL)
507
508ifeq ($(PLATFORM), linux)
509LDFLAGS += -L$(OPENWIN_LIB)
510endif
511
512LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
513 $(AWT_RUNPATH)
514
515# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS/LINUX
516endif # PLATFORM
517
518CLASSES.export += java.io.InputStream \
519 java.lang.Integer \
520 java.lang.ThreadGroup
521
522.PHONY: dgalibs dgalib.clean fontconfigs fontconfigs.clean
523