OSDN Git Service

2010-01-18 Andreas Tobler <andreast@fgznet.ch>
[pf3gnuchains/gcc-fork.git] / libjava / classpath / tools / Makefile.am
index 22f0d02..44bc49f 100755 (executable)
@@ -1,37 +1,41 @@
 ## Input file for automake to generate the Makefile.in used by configure
 
+if CREATE_GJDOC
+## GCJ LOCAL: always put source files in srcdir
+## if CREATE_GJDOC_PARSER
+## gjdoc_gendir = ${top_builddir}/tools/generated
+## else
+gjdoc_gendir = ${top_srcdir}/tools/generated
+## endif
+## END GCJ LOCAL
+ANTLR_CLASSPATH = $(ANTLR_JAR):$(gjdoc_gendir)
+endif
+
 ## GCJ LOCAL: use srcdir to find core classes.
 GLIBJ_BOOTCLASSPATH='$(top_srcdir)/lib'
-GLIBJ_CLASSPATH=$(srcdir)/asm
+GLIBJ_CLASSPATH=.:$(srcdir)/asm:$(ANTLR_CLASSPATH)
 ## END GCJ LOCAL
 
-# Setup the compiler to use the GNU Classpath library we just build
-if FOUND_GCJ
-JCOMPILER = $(GCJ) -C -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH):.
-else
-if FOUND_ECJ
-JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath .:$(GLIBJ_CLASSPATH)
-else
-error dunno how to setup the JCOMPILER and compile
-endif
-endif
-
-if FOUND_ECJ_JAR
-COM_SUN_TOOLS_JAVAC = com/sun/tools/javac
-ABS_COM_SUN_TOOLS_JAVAC = $(srcdir)/$(COM_SUN_TOOLS_JAVAC)
-ABS_COM_SUN_TOOLS_JAVAC_SRCS = $(ABS_COM_SUN_TOOLS_JAVAC)/*.java
+# Setup the compiler to use the GNU Classpath library we just built.
+if GCJ_JAVAC
+JCOMPILER = $(JAVAC) $(JAVACFLAGS) -fsource=1.5 -ftarget=1.5 --encoding=UTF-8 --bootclasspath=$(GLIBJ_BOOTCLASSPATH) --classpath=$(GLIBJ_CLASSPATH)
 else
-COM_SUN_TOOLS_JAVAC =
-ABS_COM_SUN_TOOLS_JAVAC =
-ABS_COM_SUN_TOOLS_JAVAC_SRCS =
+JCOMPILER = $(JAVAC) $(JAVACFLAGS) -source 1.5 -target 1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH)
 endif
 
 if CREATE_WRAPPERS
 bin_SCRIPTS =
-bin_PROGRAMS = gappletviewer gjarsigner gkeytool \
+bin_programs = gappletviewer gjarsigner gkeytool \
        gjar gnative2ascii gserialver gjavah grmiregistry \
        gtnameserv gorbd grmid grmic
-
+if CREATE_GJDOC
+bin_programs += gjdoc
+endif
+if INSTALL_BINARIES
+bin_PROGRAMS = $(bin_programs)
+else
+noinst_PROGRAMS = $(bin_programs)
+endif
 
 AM_CPPFLAGS = -Wall \
        -I$(top_srcdir)/include \
@@ -61,12 +65,14 @@ gjar_CFLAGS = \
 gnative2ascii_SOURCES = toolwrapper.c
 gnative2ascii_CFLAGS = \
        -DTOOLPACKAGE="\"native2ascii\"" \
-       -DTOOLNAME="\"gnative2ascii\""
+       -DTOOLNAME="\"gnative2ascii\"" \
+       -DMAINCLASS="\"Native2ASCII\""
 
 gserialver_SOURCES = toolwrapper.c
 gserialver_CFLAGS = \
        -DTOOLPACKAGE="\"serialver\"" \
-       -DTOOLNAME="\"gserialver\""
+       -DTOOLNAME="\"gserialver\"" \
+       -DMAINCLASS="\"SerialVer\""
 
 grmiregistry_SOURCES = toolwrapper.c
 grmiregistry_CFLAGS = \
@@ -98,22 +104,53 @@ grmic_CFLAGS = \
        -DTOOLPACKAGE="\"rmic\"" \
        -DTOOLNAME="\"grmic\""
 
+gjdoc_SOURCES = toolwrapper.c
+gjdoc_CFLAGS = \
+       -DTOOLPACKAGE="\"gjdoc\"" \
+       -DTOOLNAME="\"gjdoc\""
+
 else
 ## GCJ LOCAL: do not install these.
 noinst_SCRIPTS = gappletviewer gjarsigner gkeytool \
        gjar gnative2ascii gserialver gjavah grmiregistry \
        gtnameserv gorbd grmid grmic
+if CREATE_GJDOC
+noinst_SCRIPTS += gjdoc
+endif
 bin_PROGRAMS =
+## FIXME: remove these unneeded dependency lines once we can
+## require Automake 1.11.
+gappletviewer: gappletviewer.in
+gjarsigner: gjarsigner.in
+gkeytool: gkeytool.in
+gjar: gjar.in
+gnative2ascii: gnative2ascii.in
+gserialver: gserialver.in
+gjavah: gjavah.in
+grmiregistry: grmiregistry.in
+gtnameserv: gtnameserv.in
+gorbd: gorbd.in
+grmid: grmid.in
+grmic: grmic.in
+if CREATE_GJDOC
+gjdoc: gjdoc.in
+endif
 endif
 EXTRA_DIST = toolwrapper.c gappletviewer.in gjarsigner.in gkeytool.in \
        gjar.in gnative2ascii.in gserialver.in gjavah.in grmiregistry.in \
-       gtnameserv.in gorbd.in grmid.in grmic.in
+       gtnameserv.in gorbd.in grmid.in grmic.in gjdoc.in
 
 # All our example java source files
 TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java \
+       $(srcdir)/gnu/classpath/tools/*.java \
+       $(srcdir)/gnu/classpath/tools/*/*.java \
+       $(srcdir)/gnu/classpath/tools/*/*/*.java \
+       $(srcdir)/gnu/classpath/tools/*/*/*/*.java \
        $(srcdir)/com/sun/javadoc/*.java \
        $(srcdir)/com/sun/tools/doclets/*.java \
-       $(ABS_COM_SUN_TOOLS_JAVAC_SRCS) \
+       $(srcdir)/com/sun/tools/javac/*.java \
+       $(srcdir)/com/sun/tools/javah/*.java \
+       $(srcdir)/com/sun/tools/javadoc/*.java \
        $(srcdir)/sun/rmi/rmic/*.java \
        $(srcdir)/external/asm/org/objectweb/asm/*.java \
        $(srcdir)/external/asm/org/objectweb/asm/attrs/*.java \
@@ -126,17 +163,136 @@ TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java \
        $(srcdir)/external/asm/org/objectweb/asm/util/attrs/*.java \
        $(srcdir)/external/asm/org/objectweb/asm/xml/*.java
 
+# Properties files that must be included in the generated zip file.
+PROPERTY_FILES = $(srcdir)/external/asm/org/objectweb/asm/optimizer/shrink.properties \
+       $(srcdir)/resource/com/sun/tools/javac/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/jar/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/orbd/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/rmic/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/rmid/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/serialver/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/keytool/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/native2ascii/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/appletviewer/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/common/Messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/getopt/Messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/tnameserv/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/jarsigner/messages.properties \
+       $(srcdir)/resource/gnu/classpath/tools/rmiregistry/messages.properties \
+       $(srcdir)/resource/sun/rmi/rmic/messages.properties
+
+# RMIC templates that must be included in the generated zip file.
+RMIC_TEMPLATES = $(srcdir)/resource/gnu/classpath/tools/rmic/templates/*.jav
+
+# gjdoc resource files.
+gnu_classpath_tools_gjdoc_jar_CSS = \
+       doctranslets/html/res/gjdochtml-clean.css \
+       doctranslets/html/res/gjdochtml-fixed.css \
+       doctranslets/html/res/gjdochtml-sclara.css \
+       doctranslets/html/res/gjdochtml.css \
+       htmldoclet/gjdochtml-vanilla.css \
+       htmldoclet/gjdochtml-clean-layout.css \
+       htmldoclet/gjdochtml-clean-color1.css
+
+gnu_classpath_tools_gjdoc_jar_DTDS = \
+       htmldoclet/xhtml11-target10.dtd \
+       dtd/gjdoc-alphaindex.dtd \
+       dtd/gjdoc.dtd
+
+gnu_classpath_tools_gjdoc_jar_ENTS = \
+       dtd/ent/iso-amsa.ent \
+       dtd/ent/iso-amsb.ent \
+       dtd/ent/iso-amsc.ent \
+       dtd/ent/iso-amsn.ent \
+       dtd/ent/iso-amso.ent \
+       dtd/ent/iso-amsr.ent \
+       dtd/ent/iso-box.ent \
+       dtd/ent/iso-cyr1.ent \
+       dtd/ent/iso-cyr2.ent \
+       dtd/ent/iso-dia.ent \
+       dtd/ent/iso-grk1.ent \
+       dtd/ent/iso-grk2.ent \
+       dtd/ent/iso-grk3.ent \
+       dtd/ent/iso-grk4.ent \
+       dtd/ent/iso-lat1.ent \
+       dtd/ent/iso-lat2.ent \
+       dtd/ent/iso-num.ent \
+       dtd/ent/iso-pub.ent \
+       dtd/ent/iso-tech.ent
+
+gnu_classpath_tools_gjdoc_jar_HTML = doctranslets/html/res/default_help_en.html
+
+gnu_classpath_tools_gjdoc_jar_JS = \
+       doctranslets/html/res/gjdoc.js \
+       htmldoclet/gjdoc.js
+
+gnu_classpath_tools_gjdoc_jar_PNG = \
+       htmldoclet/inherit.png
+
+gnu_classpath_tools_gjdoc_jar_MODS = dtd/dbcentx.mod
+
+gnu_classpath_tools_gjdoc_jar_PROPERTIES = htmldoclet/HtmlDoclet.properties
+
+gnu_classpath_tools_gjdoc_jar_RNGS = \
+       rng/gjdoc-classdoc.rng \
+       rng/gjdoc-common.rng \
+       rng/gjdoc-index.rng
+
+gnu_classpath_tools_gjdoc_jar_TXTS = \
+       java.lang-classes-1.2.txt \
+       java.lang-classes-1.3.txt \
+       java.lang-classes-1.4.txt \
+       java.lang-classes-1.5.txt
+
+gnu_classpath_tools_gjdoc_jar_XHTML = htmldoclet/help.xhtml
+
+gnu_classpath_tools_gjdoc_jar_XSLS = \
+       doctranslets/gjdoc_common.xsl \
+       doctranslets/html/about.xsl \
+       doctranslets/html/allclasses.xsl \
+       doctranslets/html/allpackages.xsl \
+       doctranslets/html/alphaindex.xsl \
+       doctranslets/html/alphaindex_chunked.xsl \
+       doctranslets/html/classdoc-source.xsl \
+       doctranslets/html/classdoc-uses.xsl \
+       doctranslets/html/classdoc.xsl \
+       doctranslets/html/deprecated.xsl \
+       doctranslets/html/descriptor.xsl \
+       doctranslets/html/doctranslet.xsl \
+       doctranslets/html/fulltree.xsl \
+       doctranslets/html/gjdoc.xsl \
+       doctranslets/html/help.xsl \
+       doctranslets/html/html_common.xsl \
+       doctranslets/html/index_noframes.xsl \
+       doctranslets/html/index.xsl \
+       doctranslets/html/packageclasses.xsl \
+       doctranslets/html/packagedoc.xsl
+
+# All our resources.
+gjdoc_resources = $(gnu_classpath_tools_gjdoc_jar_CSS) $(gnu_classpath_tools_gjdoc_jar_DTDS) \
+       $(gnu_classpath_tools_gjdoc_jar_ENTS) $(gnu_classpath_tools_gjdoc_jar_HTML) \
+       $(gnu_classpath_tools_gjdoc_jar_JS) $(gnu_classpath_tools_gjdoc_jar_MODS) \
+       $(gnu_classpath_tools_gjdoc_jar_PNG) $(gnu_classpath_tools_gjdoc_jar_PROPERTIES) \
+       $(gnu_classpath_tools_gjdoc_jar_RNGS) $(gnu_classpath_tools_gjdoc_jar_TXTS) \
+       $(gnu_classpath_tools_gjdoc_jar_XHTML) $(gnu_classpath_tools_gjdoc_jar_XSLS)
+
+if !CREATE_GJDOC
+GJDOC_EX = -name gjdoc -prune -o \
+       -name doclets -prune -o \
+       -name taglets -prune -o \
+       -name javadoc -prune -o
+endif
+
 # The zip files with classes we want to produce.
 TOOLS_ZIP = tools.zip
 
 # Extra objects that will not exist until configure-time
 BUILT_SOURCES = $(TOOLS_ZIP)
 
-# RMIC templates that must be included in the generated zip file.
-RMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/rmic/templates/*.jav
-
 # All the files we find "interesting"
-ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(RMIC_TEMPLATES)
+ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(RMIC_TEMPLATES) $(PROPERTY_FILES) \
+  $(addprefix $(srcdir)/resource/gnu/classpath/tools/gjdoc/,$(gjdoc_resources))\
+  $(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g
 
 # Some architecture independent data to be installed.
 # GCJ LOCAL: do not install this.
@@ -163,16 +319,29 @@ dist-hook:
 # the class files. Always regenerate all .class files and remove them
 # immediately.  And copy the template files we use to the classes dir
 # so they get also included.
-$(TOOLS_ZIP): $(TOOLS_JAVA_FILES)
+$(TOOLS_ZIP): $(ALL_TOOLS_FILES)
 ## GCJ LOCAL: put classes in srcdir
 ##     @rm -rf classes asm
-##     mkdir classes asm
+##     @mkdir_p@ classes asm
+if JAVA_MAINTAINER_MODE
+if CREATE_GJDOC
+if CREATE_GJDOC_PARSER
+## Generate antlr sources.
+       @mkdir_p@ $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr
+       $(ANTLR) -o $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr/ \
+         $(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g
+endif
+endif
+endif
        find $(srcdir)/external/asm -name '*.java' -print > asm.lst
        find $(srcdir)/gnu/classpath/tools \
             $(srcdir)/com/sun/javadoc \
             $(srcdir)/com/sun/tools/doclets \
-            $(ABS_COM_SUN_TOOLS_JAVAC) \
+            $(srcdir)/com/sun/tools/javadoc \
+            $(srcdir)/com/sun/tools/javac \
+            $(srcdir)/com/sun/tools/javah \
             $(srcdir)/sun/rmi/rmic \
+            $(GJDOC_EX) \
             -name '*.java' -print > classes.lst
        if [ -f $(top_builddir)/../vm-tools-packages ]; then \
            : > vm-tools.lst; \
@@ -187,36 +356,56 @@ if JAVA_MAINTAINER_MODE
 ## Compile ASM separately as it is latin-1 encoded.
        AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
          $$AC -g -w -d $(srcdir)/asm @asm.lst
-       $(JCOMPILER) -g -w -d $(srcdir)/classes @classes.lst @vm-tools.lst
+       $(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
+endif
+## END GCJ LOCAL
 ## Copy over tools resource files.
-       @list=`cd $(top_srcdir)/resource && find gnu/classpath/tools \
-              com/sun/javadoc com/sun/tools/doclets $(COM_SUN_TOOLS_JAVAC) \
-              sun/rmi/rmic -name \*.properties -print`; \
+       @list=`cd $(srcdir)/resource && find gnu/classpath/tools com/sun/tools/javac \
+              sun/rmi/rmic $(GJDOC_EX) -name \*.properties -print -o -name \*.jav -print`; \
        for p in $$list; do \
          dirname=classes/`dirname $$p`; \
-         if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
-         echo "  cp $(top_srcdir)/resource/$$p classes/$$p"; \
-         cp $(top_srcdir)/resource/$$p classes/$$p; \
+         if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \
+         echo "  cp $(srcdir)/resource/$$p classes/$$p"; \
+         cp $(srcdir)/resource/$$p classes/$$p; \
        done
-endif
+## BEGIN GCJ LOCAL
        cp -pR $(srcdir)/asm .
        cp -pR $(srcdir)/classes .
 ## END GCJ LOCAL
+if CREATE_GJDOC
+## Copy over gjdoc resource files.
+       for res in $(gjdoc_resources); do \
+         dir=classes/`dirname $$res`; \
+         if ! test -d "$$dir"; then @mkdir_p@ "$$dir"; fi; \
+         echo "  cp $(srcdir)/resource/gnu/classpath/tools/gjdoc/$$res classes/$$res"; \
+         cp $(srcdir)/resource/gnu/classpath/tools/gjdoc/$$res classes/$$res; \
+       done 
+endif
+
+if WITH_JAR
+CREATE_TOOLS_ZIP=$(JAR) cf ../$(TOOLS_ZIP) `find . -name .svn -prune -o -type f -print`
+UPDATE_TOOLS_ZIP=$(JAR) uf ../$(TOOLS_ZIP) `find . -name .svn -prune -o -type f -print`
+else
+CREATE_TOOLS_ZIP=$(ZIP) -r ../$(TOOLS_ZIP) `find . -name .svn -prune -o -type f -print`
+UPDATE_TOOLS_ZIP=$(ZIP) -u -r ../$(TOOLS_ZIP) `find . -name .svn -prune -o -type f -print`
+endif
+
 ## First add classpath tools stuff.
        (cd classes; \
-       if test "$(ZIP)" != ""; then $(ZIP) -r ../$(TOOLS_ZIP) .; fi; \
-       if test "$(FASTJAR)" != ""; then $(FASTJAR) cf ../$(TOOLS_ZIP) .; fi; \
+       $(CREATE_TOOLS_ZIP); \
        cd ..)
 ## Now add ASM classes.
        (cd asm; \
-       if test "$(ZIP)" != ""; then $(ZIP) -u -r ../$(TOOLS_ZIP) .; fi; \
-       if test "$(FASTJAR)" != ""; then $(FASTJAR) uf ../$(TOOLS_ZIP) .; fi; \
+       $(UPDATE_TOOLS_ZIP); \
        cd ..)
        rm -rf asm classes classes.lst asm.lst
 
 # Zip file be gone! (and make sure the classes are gone too)
 clean-local:
-       rm -rf $(TOOLS_ZIP) classes asm asm.lst
+       rm -rf $(TOOLS_ZIP) classes classes.lst asm asm.lst all-classes.lst
+if CREATE_GJDOC_PARSER
+       rm -rf $(gjdoc_gendir)
+endif
 
 # FIXME: remove this when GNU Classpath includes a bootstrap VM.
 installcheck-binSCRIPTS: