1 #
   2 # Copyright (c) 1999, 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 BUILDDIR = ../..
  27 PACKAGE = sun.awt
  28 LIBRARY = jawt
  29 PRODUCT = sun
  30 
  31 include $(BUILDDIR)/common/Defs.gmk
  32 
  33 #
  34 # Files
  35 #
  36 ifeq ($(PLATFORM), windows)
  37 FILES_cpp = jawt.cpp
  38 else ifeq ($(PLATFORM), macosx) # PLATFORM
  39 FILES_objc = jawt.m
  40 else # PLATFORM
  41 FILES_c = jawt.c
  42 endif # PLATFORM
  43 
  44 FILES_h = $(INCLUDEDIR)/jawt.h \
  45     $(PLATFORM_INCLUDE)/jawt_md.h
  46 
  47 #
  48 # Use mapfile
  49 #
  50 FILES_m = mapfile-vers
  51 include $(BUILDDIR)/common/Mapfile-vers.gmk
  52 
  53 
  54 ifeq ($(PLATFORM), windows)
  55 #
  56 # Extra C flags.
  57 #
  58 
  59 OTHER_CXXFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
  60 
  61 #
  62 # Other extra flags needed for compiling.
  63 #
  64 CPPFLAGS += -I$(SHARE_SRC)/native/common \
  65         -I$(DXSDK_INCLUDE_PATH) \
  66         -I$(PLATFORM_SRC)/native/sun/windows \
  67         -I$(CLASSHDRDIR)/../../awt/CClassHeaders \
  68         -I$(SHARE_SRC)/native/sun/awt/debug \
  69         -I$(SHARE_SRC)/native/sun/font \
  70         -I$(SHARE_SRC)/native/sun/java2d \
  71         -I$(SHARE_SRC)/native/sun/java2d/loops \
  72         -I$(SHARE_SRC)/native/sun/java2d/pipe \
  73         -I$(PLATFORM_SRC)/native/sun/java2d \
  74         -I$(PLATFORM_SRC)/native/sun/java2d/windows \
  75         -I$(PLATFORM_SRC)/native/sun/java2d/d3d \
  76         -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \
  77         -I$(SHARE_SRC)/javavm/export \
  78         -I$(PLATFORM_SRC)/javavm/export
  79 INSTALL_DOT_LIB = true
  80 
  81 vpath %.cpp   $(PLATFORM_SRC)/native/sun/windows
  82 
  83 #
  84 # Libraries to link in.
  85 #
  86 ifeq ($(ARCH_DATA_MODEL), 64)
  87 OTHER_LDLIBS = $(OBJDIR)/../../awt/$(OBJDIRNAME)/awt.lib 
  88 else
  89 OTHER_LDLIBS = kernel32.lib \
  90                $(OBJDIR)/../../awt/$(OBJDIRNAME)/awt.lib 
  91 endif
  92 else # PLATFORM
  93 
  94 #
  95 # Other extra flags needed for compiling.
  96 #
  97 CPPFLAGS += -I$(OPENWIN_HOME)/include \
  98             -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
  99             -I$(SHARE_SRC)/native/$(PKGDIR)/image \
 100             -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \
 101             -I$(SHARE_SRC)/native/$(PKGDIR)/alphacomposite \
 102             -I$(SHARE_SRC)/native/$(PKGDIR)/medialib \
 103             -I$(PLATFORM_SRC)/native/$(PKGDIR)/medialib \
 104             -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops \
 105             -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe \
 106             -I$(SHARE_SRC)/native/$(PKGDIR)/../java2d/opengl \
 107             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/opengl \
 108             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../java2d/x11 \
 109             -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/doe \
 110             -I$(SHARE_SRC)/native/$(PKGDIR)/../dc/path \
 111             -I$(PLATFORM_SRC)/native/$(PKGDIR)/../jdga \
 112             $(EVENT_MODEL)
 113 
 114 #
 115 # Libraries to link in.
 116 #
 117 ifeq ($(PLATFORM), solaris)
 118   ifndef BUILD_HEADLESS_ONLY
 119     OTHER_LDLIBS = -L$(LIBDIR)/$(LIBARCH) -L$(OPENWIN_LIB) -L$(LIBDIR)/$(LIBARCH)/xawt -lmawt -L/usr/openwin/sfw/lib$(ISA_DIR) -lXrender
 120   else
 121     OTHER_LDLIBS = -L$(LIBDIR)/$(LIBARCH) -L$(OPENWIN_LIB) -L$(LIBDIR)/$(LIBARCH)/headless -lmawt -L/usr/openwin/sfw/lib$(ISA_DIR) -lXrender
 122   endif
 123 endif # PLATFORM
 124 
 125 ifeq ($(PLATFORM), linux)
 126   ifndef BUILD_HEADLESS_ONLY
 127     OTHER_LDLIBS = -L$(LIBDIR)/$(LIBARCH) -lawt -L$(LIBDIR)/$(LIBARCH)/xawt -lmawt
 128   else
 129     OTHER_LDLIBS = -L$(LIBDIR)/$(LIBARCH) -lawt -L$(LIBDIR)/$(LIBARCH)/headless -lmawt
 130     CFLAGS += -DHEADLESS
 131   endif
 132 endif # PLATFORM
 133 
 134 ifeq ($(PLATFORM), macosx)
 135 vpath %.m   $(call NativeSrcDirList,,native/sun/awt)
 136 OTHER_LDLIBS = -llwawt -L$(LIBDIR)/lwawt -Xlinker -rpath -Xlinker @loader_path/lwawt \
 137                -framework Cocoa
 138 endif # PLATFORM
 139 
 140 endif # PLATFORM
 141 
 142 #
 143 # Lets not remove any class files.
 144 #
 145 DONT_CLOBBER_CLASSES = true
 146 
 147 #
 148 # Rules
 149 #
 150 include $(BUILDDIR)/common/Library.gmk
 151 
 152 build: $(FILES_h)
 153 
 154 ifeq ($(PLATFORM), windows)
 155 include make.depend
 156 endif
 157 
 158 #
 159 # Install header files.
 160 #
 161 $(INCLUDEDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h
 162         $(install-file)
 163 $(PLATFORM_INCLUDE)/%.h: $(PLATFORM_SRC)/javavm/export/%.h
 164         $(install-file)
 165 
 166 
 167 #
 168 # Extra clean rule.
 169 #
 170 clean clobber::
 171         $(RM) $(FILES_h)
 172