--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/makefiles/javax/swing/beaninfo/SwingBeans.gmk Tue Apr 10 08:22:03 2012 -0700
@@ -0,0 +1,205 @@
+#
+# Copyright (c) 1998, 2010, 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.
+#
+
+#
+# Makefile to build the BeanInfo generation tool (ie, a doclet), and
+# then the beaninfo itself. Swing versions prior to 1.2 are no longer
+# built.
+#
+# This makefile could be a lot simpler if we made it more regular.
+#
+
+# identify this as a swingbeans product - used only to identify a
+# unique name for OBJDIR
+PRODUCT = swing-beans
+
+#
+# Main targets provided by this makefile.
+#
+swing-1.2-beans:
+ $(MAKE) DEBUG_FLAG=false make-swing-beans
+swing-1.2-beans-debug:
+ $(MAKE) DEBUG_FLAG=true make-swing-beans
+
+
+# get the absolute path to the jar command.
+PREFIX = 1.2
+JAVADOCFLAGS += $(NO_PROPRIETARY_API_WARNINGS) $(LANGUAGE_VERSION)
+SWINGPKG = javax/swing
+LOCAL_JAVAC_FLAGS = $(OTHER_JAVACFLAGS)
+# since JAVADOC_CMD runs on ALT_BOOTDIR, the doclet and all its classes must be compiled to match
+DOCLET_JAVAC_FLAGS = -source 6 -target 6
+
+include FILES.gmk
+include $(BUILDDIR)/common/Release.gmk
+
+DOCLETSRC = $(BUILDDIR)/../make/tools/swing-beans
+DOCLETDST = $(TEMPDIR)
+
+FILES_java = GenSwingBeanInfo.java GenDocletBeanInfo.java DocBeanInfo.java
+FILES_class = $(FILES_java:%.java=$(DOCLETDST)/%.class)
+FAKESRC = $(JDK_TOPDIR)/src/share/classes
+BEANSRCDIR = $(TEMPDIR)/$(PREFIX)src
+BEANCLASSDIR = $(TEMPDIR)/$(PREFIX)classes
+FILES_beans = $(BEANS:%=$(BEANSRCDIR)/%BeanInfo.java) \
+ $(BEANS_TEXT:%=$(BEANSRCDIR)/text/%BeanInfo.java) \
+ $(BEANSRCDIR)/SwingBeanInfoBase.java \
+ $(BEANSRCDIR)/BeanInfoUtils.java
+
+FILES_bclass = $(FILES_beans:$(BEANSRCDIR)/%.java=$(BEANCLASSDIR)/$(SWINGPKG)/%.class)
+DOCLETFLAGS = -doclet GenDocletBeanInfo
+LOCAL_CLASSPATH = "$(CLASSBINDIR)$(CLASSPATH_SEPARATOR)$(BEANCLASSDIR)$(CLASSPATH_SEPARATOR)."
+
+#
+# Main target.
+#
+make-swing-beans: mkdoclet mkbeaninfo mkclasses mkpackaging
+
+#
+# Make the doclet.
+#
+mkdoclet: $(DOCLETDST) $(FILES_class) .SwingBeanInfo
+
+$(OBJDIR) $(BEANCLASSDIR) $(BEANSRCDIR) $(DOCLETDST)::
+ @$(ECHO) "Making directory..." $@
+ @$(MKDIR) -p $@
+
+$(DOCLETDST)/%.class: $(DOCLETSRC)/%.java
+ $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) $(DOCLET_JAVAC_FLAGS) -classpath "$(CLASSBINDIR)$(CLASSPATH_SEPARATOR)$(DOCLETSRC)" -d $(DOCLETDST) $?
+ @$(java-vm-cleanup)
+
+# To run, the doclet needs SwingBeanInfoBase class. Also Notice the lie
+# here, SwingBeanInfoBase.class goes elswhere.
+
+.SwingBeanInfo: $(OBJDIR) $(BEANCLASSDIR) $(BEANSRCDIR) $(SWINGPKG)/BeanInfoUtils.class $(SWINGPKG)/SwingBeanInfoBase.class
+
+$(SWINGPKG)/BeanInfoUtils.class: $(BEANSRCDIR)/BeanInfoUtils.java
+ $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) $(DOCLET_JAVAC_FLAGS) -d $(BEANCLASSDIR) $<
+ @$(java-vm-cleanup)
+
+$(SWINGPKG)/SwingBeanInfoBase.class: $(BEANSRCDIR)/SwingBeanInfoBase.java $(BEANSRCDIR)/BeanInfoUtils.java
+ $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) $(DOCLET_JAVAC_FLAGS) -classpath $(BEANCLASSDIR) -d $(BEANCLASSDIR) $<
+ @$(java-vm-cleanup)
+
+#
+# Stage 1: Generate *BeanInfo.java files.
+#
+mkbeaninfo: $(BEANSRCDIR) .delete.beanlist $(FILES_beans) .javadoc.beanlist
+
+.delete.beanlist:
+ @$(RM) $(TEMPDIR)/.beans.list
+
+.javadoc.beanlist:
+ if [ -s $(TEMPDIR)/.beans.list ]; \
+ then $(JAVADOC_CMD) $(DOCLETFLAGS) -x $(DEBUG_FLAG) -d $(BEANSRCDIR) -t $(DOCLETSRC)/SwingBeanInfo.template -docletpath $(DOCLETDST) \
+ $(shell if [ -s $(TEMPDIR)/.beans.list ]; then $(CAT) $(TEMPDIR)/.beans.list; fi); \
+ fi
+ @$(java-vm-cleanup)
+
+$(BEANSRCDIR)/text/%BeanInfo.java: $(FAKESRC)/$(SWINGPKG)/text/%.java
+ @$(ECHO) $< >> $(TEMPDIR)/.beans.list
+
+$(BEANSRCDIR)/%BeanInfo.java: $(FAKESRC)/$(SWINGPKG)/%.java
+ @$(ECHO) $< >> $(TEMPDIR)/.beans.list
+
+$(BEANSRCDIR)/SwingBeanInfoBase.java: $(DOCLETSRC)/beaninfo/SwingBeanInfoBase.java
+ $(CP) $< $@
+
+$(BEANSRCDIR)/BeanInfoUtils.java: $(DOCLETSRC)/beaninfo/BeanInfoUtils.java
+ $(CP) $< $@
+
+#
+# Compile the generated *BeanInfo.java files.
+#
+mkclasses: .delete.classlist $(BEANCLASSDIR)/$(SWINGPKG)/SwingBeanInfoBase.class \
+ $(BEANCLASSDIR)/$(SWINGPKG)/text/JTextComponentBeanInfo.class \
+ .create.classlist $(FILES_bclass) .compile.classlist
+
+$(BEANCLASSDIR)/$(SWINGPKG)/SwingBeanInfoBase.class:: \
+ $(BEANSRCDIR)/SwingBeanInfoBase.java
+
+$(BEANCLASSDIR)/$(SWINGPKG)/text/JTextComponentBeanInfo.class:: \
+ $(BEANSRCDIR)/JTextComponentBeanInfo.java
+
+$(FILES_bclass):: $(FILES_beans)
+
+# all the sources are in one directory, so make sure that the list does
+# not have the /text direcotry in it. Kludgy, this is...
+.create.classlist:
+ @$(ECHO) $(subst /text/,/,$(FILES_beans)) >> $(TEMPDIR)/.classes.list
+
+.delete.classlist:
+ @$(ECHO) "Deleting classes.list..."
+ @$(RM) $(TEMPDIR)/.classes.list
+
+.compile.classlist:
+ if [ -s $(TEMPDIR)/.classes.list ] ; then \
+ $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) -classpath $(LOCAL_CLASSPATH) -d $(BEANCLASSDIR) \
+ $(shell if [ -s $(TEMPDIR)/.classes.list ] ; then $(CAT) $(TEMPDIR)/.classes.list; fi ) ; \
+ fi
+ @$(java-vm-cleanup)
+
+#
+# Packaging
+#
+mkpackaging:
+ $(RM) -r $(BEANCLASSDIR)/$(SWINGPKG)/beaninfo/images
+ $(MKDIR) -p $(BEANCLASSDIR)/$(SWINGPKG)/beaninfo/images
+ $(CP) $(DOCLETSRC)/beaninfo/images/*.gif $(BEANCLASSDIR)/$(SWINGPKG)/beaninfo/images
+ $(BOOT_JAR_CMD) cf $(TEMPDIR)/tmp.jar \
+ -C $(BEANCLASSDIR) javax \
+ -C $(BEANCLASSDIR) sun \
+ $(BOOT_JAR_JFLAGS)
+ $(MV) $(TEMPDIR)/tmp.jar $(JDK_IMAGE_DIR)/lib/dt.jar
+ @$(java-vm-cleanup)
+
+#
+# Cleanliness.
+#
+swingbeans.clean swingbeans.clobber::
+ $(RM) -r 1.2src 1.2classes
+ $(RM) -r java javax
+ $(RM) *.class
+ $(RM) $(TEMPDIR)/.beans.list $(TEMPDIR)/.classes.list beaninfo.jar
+
+#
+# Utility.
+#
+
+
+#
+# Debugging targets for looking at variables.
+#
+show-vars:
+ @$(ECHO) FILES_beans = $(FILES_beans)
+ @$(ECHO) FILES_bclass = $(FILES_bclass)
+
+.PRECIOUS: $(FILES_beans)
+
+.PHONY: swing-1.2-beans swing-1.2-beans-debug \
+ make-swing-beans mkdoclet .SwingBeanInfo mkbeaninfo .delete.beanlist \
+ .javadoc.beanlist mkclasses .create.classlist .delete.classlist \
+ .compile.classlist mkpackaging mkpackaging swingbeans.clean \
+ swingbeans.clobber show-vars