1 #
   2 # Copyright (c) 2005, 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 = splashscreen
  29 PRODUCT = sun
  30 include $(BUILDDIR)/common/Defs.gmk
  31 
  32 #
  33 # Files
  34 #
  35 include FILES_c.gmk
  36 
  37 FILES_java = \
  38     java/awt/SplashScreen.java
  39 
  40 FILES_export = \
  41     java/awt/SplashScreen.java
  42 
  43 
  44 #
  45 # Rules
  46 #
  47 # FIXME!!!!
  48 #ifeq ($(PLATFORM), solaris)
  49 #  ifneq ($(ARCH), amd64)
  50 #    FILES_reorder += reorder-$(ARCH)
  51 #  endif
  52 #endif
  53 include $(BUILDDIR)/common/Mapfile-vers.gmk
  54 include $(BUILDDIR)/common/Library.gmk
  55 
  56 JAVALIB=
  57 
  58 #
  59 # C Flags
  60 #
  61 
  62 CFLAGS += -DSPLASHSCREEN
  63 
  64 ifeq ($(PLATFORM), macosx)
  65   CFLAGS += -DWITH_MACOSX
  66 
  67   # CFLAGS and CPPFLAGS are added when linking as well, so we use VARIANT
  68   # instead to specify that we're actually compiling objective-c code here
  69   CFLAGS_$(VARIANT)/java_awt_SplashScreen.o = -x objective-c
  70   CFLAGS_$(VARIANT)/splashscreen_gfx_impl.o = -x objective-c
  71   CFLAGS_$(VARIANT)/splashscreen_gif.o = -x objective-c
  72   CFLAGS_$(VARIANT)/splashscreen_impl.o = -x objective-c
  73   CFLAGS_$(VARIANT)/splashscreen_jpeg.o = -x objective-c
  74   CFLAGS_$(VARIANT)/splashscreen_png.o = -x objective-c
  75   CFLAGS_$(VARIANT)/splashscreen_sys.o = -x objective-c
  76 
  77   OTHER_CFLAGS += -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
  78   CPPFLAGS += -I/System/Library/Frameworks/AppKit.framework/Versions/C/Headers
  79   OTHER_LDLIBS += $(LIBM) -lpthread -liconv -losxapp \
  80                                   -framework ApplicationServices \
  81                                   -framework Foundation \
  82                                   -framework Cocoa \
  83                                   -framework JavaNativeFoundation
  84 else ifneq ($(PLATFORM), windows)
  85   CFLAGS += -DWITH_X11
  86   ifeq ($(PLATFORM), macosx))
  87     OTHER_LDLIBS += -liconv
  88     CPPFLAGS += -I$(OPENWIN_HOME)/include \
  89                 -I$(OPENWIN_HOME)/include/X11/extensions
  90     OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -pthread
  91   else
  92     CPPFLAGS += -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
  93     OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpthread
  94   endif
  95 else # PLATFORM
  96   CFLAGS += -DWITH_WIN32
  97   OTHER_LDLIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib /DELAYLOAD:user32.dll
  98 #$(JVMLIB) $(OBJDIR)/../../jpeg/$(OBJDIRNAME)/jpeg$(SUFFIX).lib
  99 endif # PLATFORM
 100 
 101 #
 102 # Add to ambient vpath to get files in a subdirectory
 103 #
 104 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/splashscreen
 105 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)
 106 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/giflib
 107 ifneq ($(SYSTEM_ZLIB),true)
 108   vpath %.c   $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
 109 endif
 110 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/libpng
 111 vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image/jpeg
 112 ifneq ($(PLATFORM), macosx)
 113   vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen
 114 else
 115   vpath %.m   $(call NativeSrcDirList,,native/$(PKGDIR)/splashscreen)
 116 endif
 117 
 118 ifneq ($(PLATFORM), macosx)
 119   CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen
 120 else
 121   CPPFLAGS += $(call NativeSrcDirList,-I,native/$(PKGDIR)/splashscreen)
 122   CPPFLAGS += $(call NativeSrcDirList,-I,/native/sun/osxapp)
 123 endif
 124 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen
 125 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/image/jpeg
 126 ifneq ($(SYSTEM_ZLIB),true)
 127   CPPFLAGS += -I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
 128 else
 129   OTHER_CFLAGS += $(ZLIB_CFLAGS)
 130   OTHER_LDLIBS += $(ZLIB_LIBS)
 131 endif
 132 
 133 # Shun the less than portable MMX assembly code in pnggccrd.c,
 134 # and use alternative implementations in C.
 135 CPPFLAGS += -DPNG_NO_MMX_CODE