duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 1 | # |
alanb | 0d05823 | 2012-11-02 15:50:11 +0000 | [diff] [blame] | 2 | # Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 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 |
ohair | 2283b9d | 2010-05-25 15:58:33 -0700 | [diff] [blame] | 7 | # published by the Free Software Foundation. Oracle designates this |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 8 | # particular file as subject to the "Classpath" exception as provided |
ohair | 2283b9d | 2010-05-25 15:58:33 -0700 | [diff] [blame] | 9 | # by Oracle in the LICENSE file that accompanied this code. |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 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 | # |
ohair | 2283b9d | 2010-05-25 15:58:33 -0700 | [diff] [blame] | 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. |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 24 | # |
| 25 | |
| 26 | # |
| 27 | # to create directory: |
| 28 | # |
| 29 | INIT += $(LIB_LOCATION) |
| 30 | |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 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. |
serb | df025b4 | 2011-11-12 04:13:38 +0400 | [diff] [blame] | 44 | FILES_c = $(FILES_NO_MOTIF_c) |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 45 | |
jchen | 2198118 | 2013-05-23 12:16:17 -0700 | [diff] [blame^] | 46 | ifeq ($(PLATFORM), macosx) |
| 47 | FILES_objc = $(FILES_NO_MOTIF_objc) |
| 48 | endif # PLATFORM |
| 49 | |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 50 | ifeq ($(PLATFORM), solaris) |
| 51 | ifneq ($(ARCH), amd64) |
| 52 | FILES_reorder += reorder-$(ARCH) |
| 53 | endif |
| 54 | endif |
| 55 | |
| 56 | # |
| 57 | # Rules |
| 58 | # |
| 59 | |
| 60 | # Class files should be built & clobbered in make/sun/awt |
| 61 | # If removing this line, also reinclude sun_awt.jmk |
| 62 | DONT_CLOBBER_CLASSES = true |
| 63 | |
| 64 | |
| 65 | ifndef HEADLESS |
| 66 | ifeq ($(VARIANT), OPT) |
| 67 | FILES_m = ../awt/mapfile-mawt-vers |
| 68 | endif |
| 69 | endif |
| 70 | |
| 71 | # Since this library will be living in a subdirectory below the other libraries |
| 72 | # we need to add an extra runpath so that libraries in the upper directory |
| 73 | # are found at runtime. |
| 74 | LD_RUNPATH_EXTRAS = .. |
| 75 | |
| 76 | include $(BUILDDIR)/common/Mapfile-vers.gmk |
| 77 | include $(BUILDDIR)/common/Library.gmk |
| 78 | |
| 79 | $(LIB_LOCATION): |
| 80 | $(MKDIR) -p $@ |
| 81 | |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 82 | clean:: |
| 83 | |
| 84 | # |
| 85 | # Add to the ambient vpath to pick up files in subdirectories |
| 86 | # |
| 87 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/alphacomposite |
| 88 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image |
| 89 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/gif |
| 90 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/cvutils |
| 91 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/shell |
| 92 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/medialib |
| 93 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl |
| 94 | vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl |
| 95 | vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 |
| 96 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/debug |
| 97 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../font |
| 98 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d |
| 99 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops |
| 100 | vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe |
| 101 | vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/image |
| 102 | vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/robot_child |
| 103 | |
jchen | 2198118 | 2013-05-23 12:16:17 -0700 | [diff] [blame^] | 104 | ifeq ($(PLATFORM), macosx) |
| 105 | vpath %.m $(call NativeSrcDirList,,native/sun/font) |
| 106 | endif # PLATFORM |
| 107 | |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 108 | # |
| 109 | # Libraries to link in. |
| 110 | # |
| 111 | |
| 112 | |
aph | d46bd76 | 2009-04-17 15:56:20 +0100 | [diff] [blame] | 113 | ifeq ($(DEBUG_BINARIES), true) |
| 114 | CFLAGS += -g |
| 115 | endif |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 116 | ifeq ($(HEADLESS),true) |
| 117 | CFLAGS += -DHEADLESS=$(HEADLESS) |
| 118 | CPPFLAGS += -DHEADLESS=$(HEADLESS) |
| 119 | OTHER_LDLIBS = |
| 120 | else |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 121 | LIBXTST = -lXtst |
yan | 0dcf7c8 | 2008-06-19 11:26:54 +0400 | [diff] [blame] | 122 | ifeq ($(PLATFORM), linux) |
| 123 | ifeq ($(ARCH_DATA_MODEL), 64) |
| 124 | # XXX what about the rest of them? |
| 125 | LIBXT = -lXt |
| 126 | else |
| 127 | # Allows for builds on Debian GNU Linux, X11 is in a different place |
dholmes | 55e3c86 | 2011-03-25 07:09:38 -0400 | [diff] [blame] | 128 | LIBXT = $(firstword $(wildcard $(OPENWIN_LIB)/libXt.a) \ |
yan | 0dcf7c8 | 2008-06-19 11:26:54 +0400 | [diff] [blame] | 129 | $(wildcard /usr/lib/libXt.a)) |
dholmes | 55e3c86 | 2011-03-25 07:09:38 -0400 | [diff] [blame] | 130 | LIBSM = $(firstword $(wildcard $(OPENWIN_LIB)/libSM.a) \ |
yan | 0dcf7c8 | 2008-06-19 11:26:54 +0400 | [diff] [blame] | 131 | $(wildcard /usr/lib/libSM.a)) |
dholmes | 55e3c86 | 2011-03-25 07:09:38 -0400 | [diff] [blame] | 132 | LIBICE = $(firstword $(wildcard $(OPENWIN_LIB)/libICE.a) \ |
yan | 0dcf7c8 | 2008-06-19 11:26:54 +0400 | [diff] [blame] | 133 | $(wildcard /usr/lib/libICE.a)) |
dholmes | 55e3c86 | 2011-03-25 07:09:38 -0400 | [diff] [blame] | 134 | LIBXTST = $(firstword $(wildcard $(OPENWIN_LIB)/libXtst.a) \ |
yan | 0dcf7c8 | 2008-06-19 11:26:54 +0400 | [diff] [blame] | 135 | $(wildcard /usr/lib/libXtst.a)) |
| 136 | endif |
| 137 | endif |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 138 | |
| 139 | # Use -lXmu for EditRes support |
| 140 | LIBXMU_DBG = -lXmu |
| 141 | LIBXMU_OPT = |
| 142 | LIBXMU = $(LIBXMU_$(VARIANT)) |
| 143 | |
| 144 | ifeq ($(PLATFORM), solaris) |
yan | 0dcf7c8 | 2008-06-19 11:26:54 +0400 | [diff] [blame] | 145 | OTHER_LDLIBS = -lXt -lXext $(LIBXTST) $(LIBXMU) -lX11 -lXi |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 146 | endif |
| 147 | |
michaelm | 5ac8c15 | 2012-03-06 20:34:38 +0000 | [diff] [blame] | 148 | ifneq (,$(findstring $(PLATFORM), linux macosx)) |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 149 | OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH |
yan | 0dcf7c8 | 2008-06-19 11:26:54 +0400 | [diff] [blame] | 150 | # XXX what is this define below? Isn't it motif-related? |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 151 | OTHER_CFLAGS += -DXMSTRINGDEFINES=1 |
yan | 0dcf7c8 | 2008-06-19 11:26:54 +0400 | [diff] [blame] | 152 | OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext $(LIBXT) $(LIBSM) $(LIBICE) -lX11 -lXi |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 153 | endif |
| 154 | |
| 155 | endif |
| 156 | # !HEADLESS |
| 157 | |
| 158 | OTHER_LDLIBS += $(JVMLIB) $(LIBCXX) \ |
michaelm | 5ac8c15 | 2012-03-06 20:34:38 +0000 | [diff] [blame] | 159 | -lawt $(LIBM) $(LIBDL) |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 160 | |
| 161 | # |
| 162 | # Sun CC with -Xa misdefines __STDC__ to 0 (zero). |
| 163 | # The following will force checking of X11 prototypes. |
| 164 | # |
| 165 | ifneq ($(CC_VERSION),gcc) |
| 166 | CPPFLAGS += -DFUNCPROTO=15 |
| 167 | endif |
| 168 | |
| 169 | # |
| 170 | # Other extra flags needed for compiling. |
| 171 | # |
| 172 | CPPFLAGS += -I$(CUPS_HEADERS_PATH) |
| 173 | |
| 174 | ifndef HEADLESS |
yan | 0dcf7c8 | 2008-06-19 11:26:54 +0400 | [diff] [blame] | 175 | CPPFLAGS += -I$(OPENWIN_HOME)/include |
| 176 | LDFLAGS += -L$(OPENWIN_LIB) |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 177 | |
| 178 | endif # !HEADLESS |
| 179 | |
| 180 | CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \ |
| 181 | -I$(SHARE_SRC)/native/$(PKGDIR)/../font \ |
| 182 | -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \ |
| 183 | -I$(SHARE_SRC)/native/$(PKGDIR)/image \ |
| 184 | -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \ |
| 185 | -I$(SHARE_SRC)/native/$(PKGDIR)/shell \ |
| 186 | -I$(SHARE_SRC)/native/$(PKGDIR)/alphacomposite \ |
| 187 | -I$(SHARE_SRC)/native/$(PKGDIR)/medialib \ |
| 188 | -I$(PLATFORM_SRC)/native/$(PKGDIR)/medialib \ |
| 189 | -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d \ |
| 190 | -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d \ |
| 191 | -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops \ |
| 192 | -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe \ |
| 193 | -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl \ |
| 194 | -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl \ |
| 195 | -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 \ |
| 196 | -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/doe \ |
| 197 | -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/path \ |
| 198 | -I$(PLATFORM_SRC)/native/$(PKGDIR)/../jdga \ |
| 199 | -I$(PLATFORM_SRC)/native/$(PKGDIR) \ |
| 200 | $(EVENT_MODEL) |
| 201 | |
michaelm | 5ac8c15 | 2012-03-06 20:34:38 +0000 | [diff] [blame] | 202 | ifeq ($(PLATFORM), macosx) |
jchen | 2198118 | 2013-05-23 12:16:17 -0700 | [diff] [blame^] | 203 | CPPFLAGS += -I$(CUPS_HEADERS_PATH) \ |
| 204 | $(call NativeSrcDirList,-I,native/sun/awt) \ |
| 205 | $(call NativeSrcDirList,-I,native/sun/font) |
michaelm | 5ac8c15 | 2012-03-06 20:34:38 +0000 | [diff] [blame] | 206 | |
| 207 | ifndef HEADLESS |
| 208 | CPPFLAGS += -I$(MOTIF_DIR)/include \ |
| 209 | -I$(OPENWIN_HOME)/include |
| 210 | LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB) |
jchen | 2198118 | 2013-05-23 12:16:17 -0700 | [diff] [blame^] | 211 | else |
| 212 | LDFLAGS += -framework Accelerate \ |
| 213 | -framework ApplicationServices \ |
| 214 | -framework Cocoa \ |
| 215 | -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ |
| 216 | -framework JavaNativeFoundation \ |
| 217 | -framework JavaRuntimeSupport |
michaelm | 5ac8c15 | 2012-03-06 20:34:38 +0000 | [diff] [blame] | 218 | endif # !HEADLESS |
| 219 | endif # PLATFORM |
| 220 | |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 221 | ifeq ($(PLATFORM), linux) |
dholmes | 55e3c86 | 2011-03-25 07:09:38 -0400 | [diff] [blame] | 222 | # Checking for the X11/extensions headers at the additional location |
| 223 | CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \ |
| 224 | $(wildcard /usr/include/X11/extensions)) |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 225 | endif |
| 226 | |
michaelm | 96f23c9 | 2012-03-23 11:28:58 +0000 | [diff] [blame] | 227 | ifeq ($(PLATFORM), macosx) |
michaelm | 5ac8c15 | 2012-03-06 20:34:38 +0000 | [diff] [blame] | 228 | CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \ |
| 229 | -I$(OPENWIN_HOME)/include |
| 230 | endif |
| 231 | |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 232 | ifeq ($(PLATFORM), solaris) |
| 233 | CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions |
| 234 | endif |
| 235 | |
michaelm | 5ac8c15 | 2012-03-06 20:34:38 +0000 | [diff] [blame] | 236 | ifeq ($(PLATFORM), macosx) |
| 237 | CPPFLAGS += -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" |
| 238 | endif |
duke | 6e45e10 | 2007-12-01 00:00:00 +0000 | [diff] [blame] | 239 | |
| 240 | LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \ |
| 241 | $(AWT_RUNPATH) |
| 242 | |
| 243 | CLASSES.export += java.io.InputStream \ |
| 244 | java.lang.ThreadGroup |
| 245 | |