1 # |
|
2 # Copyright (c) 2000, 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 # |
|
27 # to create directory: |
|
28 # |
|
29 INIT += $(LIB_LOCATION) |
|
30 |
|
31 # |
|
32 # Files |
|
33 # |
|
34 # mawt.gmk is just used in building X/Motif native code, so |
|
35 # this list of java files is no longer included. |
|
36 #include FILES_java_unix.gmk |
|
37 include $(BUILDDIR)/sun/awt/FILES_c_unix.gmk |
|
38 |
|
39 include $(BUILDDIR)/sun/awt/FILES_export_unix.gmk |
|
40 |
|
41 # Check which C files should be built. Headless uses only |
|
42 # non-motif files. Also, a version-specific motif file is |
|
43 # compiled based on the motif version. |
|
44 FILES_c = $(FILES_NO_MOTIF_c) |
|
45 |
|
46 ifeq ($(PLATFORM), solaris) |
|
47 ifneq ($(ARCH), amd64) |
|
48 FILES_reorder += reorder-$(ARCH) |
|
49 endif |
|
50 endif |
|
51 |
|
52 # |
|
53 # Rules |
|
54 # |
|
55 |
|
56 # Class files should be built & clobbered in make/sun/awt |
|
57 # If removing this line, also reinclude sun_awt.jmk |
|
58 DONT_CLOBBER_CLASSES = true |
|
59 |
|
60 |
|
61 ifndef HEADLESS |
|
62 ifeq ($(VARIANT), OPT) |
|
63 FILES_m = ../awt/mapfile-mawt-vers |
|
64 endif |
|
65 endif |
|
66 |
|
67 # Since this library will be living in a subdirectory below the other libraries |
|
68 # we need to add an extra runpath so that libraries in the upper directory |
|
69 # are found at runtime. |
|
70 LD_RUNPATH_EXTRAS = .. |
|
71 |
|
72 include $(BUILDDIR)/common/Mapfile-vers.gmk |
|
73 include $(BUILDDIR)/common/Library.gmk |
|
74 |
|
75 $(LIB_LOCATION): |
|
76 $(MKDIR) -p $@ |
|
77 |
|
78 clean:: |
|
79 |
|
80 # |
|
81 # Add to the ambient vpath to pick up files in subdirectories |
|
82 # |
|
83 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/alphacomposite |
|
84 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image |
|
85 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/gif |
|
86 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/cvutils |
|
87 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/shell |
|
88 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/medialib |
|
89 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl |
|
90 vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl |
|
91 vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 |
|
92 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/debug |
|
93 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../font |
|
94 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d |
|
95 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops |
|
96 vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe |
|
97 vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/image |
|
98 vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/robot_child |
|
99 |
|
100 # |
|
101 # Libraries to link in. |
|
102 # |
|
103 |
|
104 |
|
105 ifeq ($(DEBUG_BINARIES), true) |
|
106 CFLAGS += -g |
|
107 endif |
|
108 ifeq ($(HEADLESS),true) |
|
109 CFLAGS += -DHEADLESS=$(HEADLESS) |
|
110 CPPFLAGS += -DHEADLESS=$(HEADLESS) |
|
111 OTHER_LDLIBS = |
|
112 else |
|
113 LIBXTST = -lXtst |
|
114 ifeq ($(PLATFORM), linux) |
|
115 ifeq ($(ARCH_DATA_MODEL), 64) |
|
116 # XXX what about the rest of them? |
|
117 LIBXT = -lXt |
|
118 else |
|
119 # Allows for builds on Debian GNU Linux, X11 is in a different place |
|
120 LIBXT = $(firstword $(wildcard $(OPENWIN_LIB)/libXt.a) \ |
|
121 $(wildcard /usr/lib/libXt.a)) |
|
122 LIBSM = $(firstword $(wildcard $(OPENWIN_LIB)/libSM.a) \ |
|
123 $(wildcard /usr/lib/libSM.a)) |
|
124 LIBICE = $(firstword $(wildcard $(OPENWIN_LIB)/libICE.a) \ |
|
125 $(wildcard /usr/lib/libICE.a)) |
|
126 LIBXTST = $(firstword $(wildcard $(OPENWIN_LIB)/libXtst.a) \ |
|
127 $(wildcard /usr/lib/libXtst.a)) |
|
128 endif |
|
129 endif |
|
130 |
|
131 # Use -lXmu for EditRes support |
|
132 LIBXMU_DBG = -lXmu |
|
133 LIBXMU_OPT = |
|
134 LIBXMU = $(LIBXMU_$(VARIANT)) |
|
135 |
|
136 ifeq ($(PLATFORM), solaris) |
|
137 OTHER_LDLIBS = -lXt -lXext $(LIBXTST) $(LIBXMU) -lX11 -lXi |
|
138 endif |
|
139 |
|
140 ifneq (,$(findstring $(PLATFORM), linux macosx)) |
|
141 OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH |
|
142 # XXX what is this define below? Isn't it motif-related? |
|
143 OTHER_CFLAGS += -DXMSTRINGDEFINES=1 |
|
144 OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext $(LIBXT) $(LIBSM) $(LIBICE) -lX11 -lXi |
|
145 endif |
|
146 |
|
147 endif |
|
148 # !HEADLESS |
|
149 |
|
150 OTHER_LDLIBS += $(JVMLIB) $(LIBCXX) \ |
|
151 -lawt $(LIBM) $(LIBDL) |
|
152 |
|
153 # |
|
154 # Sun CC with -Xa misdefines __STDC__ to 0 (zero). |
|
155 # The following will force checking of X11 prototypes. |
|
156 # |
|
157 ifneq ($(CC_VERSION),gcc) |
|
158 CPPFLAGS += -DFUNCPROTO=15 |
|
159 endif |
|
160 |
|
161 # |
|
162 # Other extra flags needed for compiling. |
|
163 # |
|
164 CPPFLAGS += $(CUPS_CFLAGS) |
|
165 |
|
166 ifndef HEADLESS |
|
167 CPPFLAGS += -I$(OPENWIN_HOME)/include |
|
168 LDFLAGS += -L$(OPENWIN_LIB) |
|
169 |
|
170 endif # !HEADLESS |
|
171 |
|
172 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \ |
|
173 -I$(SHARE_SRC)/native/$(PKGDIR)/../font \ |
|
174 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \ |
|
175 -I$(SHARE_SRC)/native/$(PKGDIR)/image \ |
|
176 -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \ |
|
177 -I$(SHARE_SRC)/native/$(PKGDIR)/shell \ |
|
178 -I$(SHARE_SRC)/native/$(PKGDIR)/alphacomposite \ |
|
179 -I$(SHARE_SRC)/native/$(PKGDIR)/medialib \ |
|
180 -I$(PLATFORM_SRC)/native/$(PKGDIR)/medialib \ |
|
181 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d \ |
|
182 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d \ |
|
183 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops \ |
|
184 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe \ |
|
185 -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl \ |
|
186 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl \ |
|
187 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 \ |
|
188 -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/doe \ |
|
189 -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/path \ |
|
190 -I$(PLATFORM_SRC)/native/$(PKGDIR)/../jdga \ |
|
191 -I$(PLATFORM_SRC)/native/$(PKGDIR) \ |
|
192 $(EVENT_MODEL) |
|
193 |
|
194 ifeq ($(PLATFORM), macosx) |
|
195 CPPFLAGS += -I$(CUPS_HEADERS_PATH) |
|
196 |
|
197 ifndef HEADLESS |
|
198 CPPFLAGS += -I$(MOTIF_DIR)/include \ |
|
199 -I$(OPENWIN_HOME)/include |
|
200 LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB) |
|
201 |
|
202 endif # !HEADLESS |
|
203 endif # PLATFORM |
|
204 |
|
205 ifeq ($(PLATFORM), linux) |
|
206 # Checking for the X11/extensions headers at the additional location |
|
207 CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \ |
|
208 $(wildcard /usr/include/X11/extensions)) |
|
209 endif |
|
210 |
|
211 ifeq ($(PLATFORM), macosx) |
|
212 CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \ |
|
213 -I$(OPENWIN_HOME)/include |
|
214 endif |
|
215 |
|
216 ifeq ($(PLATFORM), solaris) |
|
217 CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions |
|
218 endif |
|
219 |
|
220 ifeq ($(PLATFORM), macosx) |
|
221 CPPFLAGS += -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" |
|
222 endif |
|
223 |
|
224 LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \ |
|
225 $(AWT_RUNPATH) |
|
226 |
|
227 CLASSES.export += java.io.InputStream \ |
|
228 java.lang.ThreadGroup |
|
229 |
|