Erik Joelsson | f558e39 | 2012-06-07 20:40:50 -0700 | [diff] [blame] | 1 | # |
| 2 | # Copyright (c) 2012, 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 | GENSRC_X11WRAPPERS := |
| 27 | GENSRC_X11WRAPPERS_TMP := $(JDK_OUTPUTDIR)/gensrc_x11wrappers |
| 28 | |
| 29 | GENSRC_SIZER_SRC := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator |
| 30 | |
| 31 | GENSRC_SIZES := |
| 32 | |
| 33 | ifeq ($(PLATFORM)-$(LIBARCH), solaris-i386) |
| 34 | GENSRC_SIZES := sizes.32 sizes.64 |
| 35 | else ifeq ($(PLATFORM), solaris) |
| 36 | isalist:=$(shell $(ISAINFO)) |
| 37 | ifneq (,$(findstring sparcv9, $(isalist))) |
| 38 | # On sparcv9 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL. |
| 39 | GENSRC_SIZES := sizes.32 sizes.64 |
| 40 | else |
| 41 | ifneq (,$(findstring amd64, $(isalist))) |
| 42 | # On amd64 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL. |
| 43 | GENSRC_SIZES := sizes.32 sizes.64 |
| 44 | else # !sparcv9 : includes (32-bit) sparc, i586 |
| 45 | GENSRC_SIZES := sizes.32 |
| 46 | endif # amd64 |
| 47 | endif # sparcv9 |
| 48 | else # !solaris |
| 49 | ifeq ($(PLATFORM), macosx) |
| 50 | GENSRC_SIZES := sizes.32 sizes.64 |
| 51 | else # !macosx |
| 52 | GENSRC_SIZES := sizes.$(ARCH_DATA_MODEL) |
| 53 | endif # !macosx |
| 54 | endif # solaris |
| 55 | |
| 56 | |
| 57 | ########################################################################################## |
| 58 | |
| 59 | $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.c : $(GENSRC_SIZER_SRC)/xlibtypes.txt |
| 60 | $(MKDIR) -p $(@D) |
| 61 | $(RM) $@ |
| 62 | $(TOOL_WRAPPERGENERATOR) $(@D) $< "sizer" $* |
| 63 | |
| 64 | $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.exe : $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.c |
| 65 | (cd $(@D) && $(CC) -m$* -o $@ $< $(CFLAGS_JDKLIB) \ |
| 66 | -I$(JDK_TOPDIR)/src/solaris/native/sun/awt \ |
| 67 | -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ |
| 68 | -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils -lc) |
| 69 | |
| 70 | ifeq ($(PLATFORM)-$(LIBARCH), solaris-i386) |
| 71 | |
| 72 | $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.32 : $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.32.exe |
| 73 | $< > $@.tmp |
| 74 | $(MV) $@.tmp $@ |
| 75 | |
| 76 | $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 : $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/awt/X11/generator/sizes.64-$(PLATFORM)-$(LIBARCH) |
| 77 | $(MKDIR) -p $(@D) |
| 78 | $(CP) $< $@ |
| 79 | else |
| 80 | |
| 81 | $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.% : $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.exe |
| 82 | $< > $@.tmp |
| 83 | $(MV) $@.tmp $@ |
| 84 | |
| 85 | endif |
| 86 | |
| 87 | $(GENSRC_X11WRAPPERS_TMP)/classes/_the.classes : $(foreach S,$(GENSRC_SIZES),$(GENSRC_X11WRAPPERS_TMP)/sizer/$(S)) |
| 88 | $(MKDIR) -p $(@D)/sun/awt/X11 |
| 89 | $(RM) $(@D)/sun/awt/X11/* |
| 90 | $(TOOL_WRAPPERGENERATOR) $(@D)/sun/awt/X11 $(GENSRC_SIZER_SRC)/xlibtypes.txt "gen" $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes |
| 91 | ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64) |
| 92 | $(ECHO) COMPARING $@ and $(GENSRC_SIZER_SRC)/sizes.64-$(PLATFORM)-i386 |
| 93 | $(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizes.64 $(GENSRC_SIZER_SRC)/sizes.64-$(PLATFORM)-i386 |
| 94 | endif |
| 95 | $(TOUCH) $@ |
| 96 | |
| 97 | GENSRC_X11WRAPPERS += $(GENSRC_X11WRAPPERS_TMP)/classes/_the.classes |