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