jdk/makefiles/OldImages.gmk
author erikj
Thu, 07 Jun 2012 20:40:50 -0700
changeset 12892 3ef14bab6254
permissions -rw-r--r--
7170079: Adjustments to build-infra makefiles Reviewed-by: ohair, ohrstrom, ihse, jonas Contributed-by: jonas <jonas.oreland@oracle.com>, erikj <erik.joelsson@oracle.com>, ihse <magnus.ihse.bursie@oracle.com>, tgranat <torbjorn.granat@oracle.com>, ykantser <yekaterina.kantserova@oracle.com>

#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include Setup.gmk

default: $(IMAGES_OUTPUTDIR)/_the.images

include Tools.gmk

JARS:=

##########################################################################################

JCONSOLE_JAR_DEPS := \
  $(shell $(FIND) $(JDK_OUTPUTDIR)/newclasses/sun/tools/jconsole/ -name "_the.package") \
  $(shell $(FIND) $(JDK_OUTPUTDIR)/newclasses/com/sun/tools/jconsole/ -name "_the.package")

$(eval $(call SetupArchive,BUILD_JCONSOLE_JAR,$(JCONSOLE_JAR_DEPS),\
		SRCS:=$(JDK_OUTPUTDIR)/newclasses,\
		SUFFIXES:=.class .gif .png,\
		INCLUDES:=sun/tools/jconsole com/sun/tools/jconsole,\
		JARMAIN:=sun.tools.jconsole.JConsole,\
		JAR:=$(JDK_OUTPUTDIR)/lib/jconsole.jar,\
		SKIP_METAINF:=true))

JARS+=$(JDK_OUTPUTDIR)/lib/jconsole.jar

##########################################################################################

CHARSETS_JAR_DEPS :=

$(eval $(call SetupArchive,BUILD_CHARSETS_JAR,$(CHARSETS_JAR_DEPS),\
		SRCS:=$(JDK_OUTPUTDIR)/newclasses, \
		SUFFIXES:=.class .dat,\
		INCLUDES:=sun/nio/cs/ext,\
		EXTRA_FILES := sun/awt/HKSCS.class \
                               sun/awt/motif/X11GBK.class \
                               'sun/awt/motif/X11GB2312$$$$Decoder.class' \
                               sun/awt/motif/X11GB2312.class \
                               'sun/awt/motif/X11KSC5601$$$$Decoder.class' \
                               'sun/awt/motif/X11KSC5601$$$$Encoder.class' \
                               'sun/awt/motif/X11GB2312$$$$Encoder.class' \
                               'sun/awt/motif/X11GBK$$$$Encoder.class' \
                               sun/awt/motif/X11KSC5601.class \
                               META-INF/services/java.nio.charset.spi.CharsetProvider, \
		JAR:=$(JDK_OUTPUTDIR)/lib/charsets.jar, \
		JARMAIN := NONE, \
		SKIP_METAINF := true))

JARS+=$(JDK_OUTPUTDIR)/lib/charsets.jar

##########################################################################################

SUNPKCS11_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunpkcs11.jar

ifndef OPENJDK

SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar

$(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_SRC)
	@$(ECHO) "\n>>>Installing prebuilt SunPKCS11 provider..."
	$(RM) $@
	$(CP) $< $@

else

$(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,$(SUNPKCS11_JAR_DEPS),\
		SRCS:=$(JDK_OUTPUTDIR)/newclasses, \
		SUFFIXES:=.class,\
		INCLUDES:=sun/security/pkcs11,\
		JAR:=$(SUNPKCS11_JAR_DST), \
		JARMAIN := NONE, \
		SKIP_METAINF := true))

endif

JARS += $(SUNPKCS11_JAR_DST)

##########################################################################################

SUNEC_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunec.jar

ifndef OPENJDK

SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar

$(SUNEC_JAR_DST) : $(SUNEC_JAR_SRC)
	@$(ECHO) "\n>>>Installing prebuilt SunEC provider..."
	$(RM) $@
	$(CP) $< $@

else

$(eval $(call SetupArchive,BUILD_SUNEC_JAR,$(SUNEC_JAR_DEPS),\
		SRCS:=$(JDK_OUTPUTDIR)/newclasses, \
		SUFFIXES:=.class,\
		INCLUDES:=sun/security/ec,\
		EXCLUDE_FILES := \
			sun/security/ec/ECKeyFactory.class \
			sun/security/ec/ECParameters.class \
			sun/security/ec/ECPrivateKeyImpl.class \
			sun/security/ec/ECPublicKeyImpl.class \
			sun/security/ec/NamedCurve.class \
			'sun/security/ec/ECKeyFactory$$$$1.class' \
			'sun/security/ec/ECKeyFactory$$$$2.class' ,\
		JAR:=$(SUNEC_JAR_DST), \
		JARMAIN := NONE, \
		SKIP_METAINF := true))

endif

JARS += $(SUNEC_JAR_DST)

##########################################################################################

# TODO: deps?
$(eval $(call SetupArchive,BUILD_SWINGBEANS_JAR,$(SWINGBEANS_JAR_DEPS),\
		SRCS:=$(JDK_OUTPUTDIR)/newclasses,\
		SUFFIXES:=BeanInfo.class .gif,\
		INCLUDES:=javax/swing sun/swing,\
		EXCLUDES:=javax/swing/plaf,\
		EXTRA_FILES:=javax/swing/SwingBeanInfoBase.class sun/swing/BeanInfoUtils.class,\
		JAR:=$(JDK_OUTPUTDIR)/lib/dt.jar,\
		JARMAIN:=NONE,\
		SKIP_METAINF:=true))

JARS+=$(JDK_OUTPUTDIR)/lib/dt.jar

##########################################################################################

# Need to define BUILDDIR for Release.gmk to work
BUILDDIR=$(JDK_TOPDIR)/makefiles
include common/Defs.gmk
include common/Release.gmk

# A rudimentary attempt at band-aiding the dependency tracking.
DEPS:=	$(shell $(FIND) $(JDK_OUTPUTDIR)/newclasses -name "*.class" -type f) \
	$(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f) \
	$(shell $(FIND) $(JDK_OUTPUTDIR)/lib -type f) 

$(IMAGES_OUTPUTDIR)/_the.images : $(DEPS) $(JARS)
	$(MKDIR) -p $(@D)
# 	Restart this makefile, ugly, but since double colon (::) rules
# 	have been used in Release.gmk, it is impossible to craft on
# 	dependencies on these. I.e. -do-not-use- :: rules!!!!!
#       Repeat after me: -do-not-use- :: rules!!!!!
	$(MAKE) -j1 -f OldImages.gmk $(IMAGES_MAKE_ARGS) images
	$(TOUCH) $@

.PHONY: default