OSDN Git Service

* include/java-interp.h: Don't include MethodInvocation.h.
[pf3gnuchains/gcc-fork.git] / libjava / Makefile.in
index 71007af..6fd0366 100644 (file)
@@ -71,40 +71,68 @@ COMPPATH = @COMPPATH@
 CPP = @CPP@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
+DIRLTDL = @DIRLTDL@
+DIVIDESPEC = @DIVIDESPEC@
+DLLTOOL = @DLLTOOL@
+EXCEPTIONSPEC = @EXCEPTIONSPEC@
 EXEEXT = @EXEEXT@
+FORCELIBGCCSPEC = @FORCELIBGCCSPEC@
 GCDEPS = @GCDEPS@
 GCINCS = @GCINCS@
 GCLIBS = @GCLIBS@
 GCOBJS = @GCOBJS@
+GCSPEC = @GCSPEC@
+INCLTDL = @INCLTDL@
+LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
 LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
 LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
 LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
+LIBLTDL = @LIBLTDL@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
+OBJDUMP = @OBJDUMP@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
 RANLIB = @RANLIB@
+SYSTEMSPEC = @SYSTEMSPEC@
 THREADDEPS = @THREADDEPS@
 THREADINCS = @THREADINCS@
 THREADLIBS = @THREADLIBS@
 THREADOBJS = @THREADOBJS@
+THREADSPEC = @THREADSPEC@
 VERSION = @VERSION@
+ZDEPS = @ZDEPS@
+ZINCS = @ZINCS@
+ZLIBS = @ZLIBS@
+ZLIBSPEC = @ZLIBSPEC@
 here = @here@
 libgcj_basedir = @libgcj_basedir@
 
 AUTOMAKE_OPTIONS = foreign no-installinfo
-
 @TESTSUBDIR_TRUE@SUBDIRS = \
-@TESTSUBDIR_TRUE@testsuite
-
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-
-toolexeclib_LIBRARIES = libgcj.a
+@TESTSUBDIR_TRUE@$(DIRLTDL) testsuite gcj include
+@TESTSUBDIR_FALSE@SUBDIRS = \
+@TESTSUBDIR_FALSE@$(DIRLTDL) gcj include
+@USE_LIBDIR_TRUE@toolexeclibdir = \
+@USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
+@USE_LIBDIR_FALSE@toolexeclibdir = \
+@USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR)
+@USE_LIBDIR_FALSE@toolexecdir = \
+@USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias)
+
+toolexeclib_LTLIBRARIES = libgcj.la
+toolexeclib_DATA = libgcj.spec
 data_DATA = libgcj.zip
 
+@NEEDS_DATA_START_TRUE@toolexeclib_LIBRARIES = \
+@NEEDS_DATA_START_TRUE@libgcjdata.a
+@NEEDS_DATA_START_TRUE@libgcjdata_a_SOURCES = \
+@NEEDS_DATA_START_TRUE@libgcjdata.c
+
 @NATIVE_TRUE@bin_PROGRAMS = \
-@NATIVE_TRUE@jv-convert
+@NATIVE_TRUE@jv-convert gij
 @CANADIAN_TRUE@@NULL_TARGET_TRUE@GCJ = \
 @CANADIAN_TRUE@@NULL_TARGET_TRUE@gcj
 @CANADIAN_TRUE@@NULL_TARGET_FALSE@GCJ = \
@@ -124,47 +152,65 @@ data_DATA = libgcj.zip
 @CANADIAN_FALSE@expanded = \
 @CANADIAN_FALSE@`cd $(MULTIBUILDTOP)../$(COMPPATH)/gcc && pwd`
 
+GCJCOMPILE = CLASSPATH=$(here) $(LIBTOOL) --mode=compile $(GCJ) -fassume-compiled $(JC1FLAGS) -c
+
 JAVAC = $(GCJ) -C
 
 EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
 
 WARNINGS = -W -Wall
-AM_CXXFLAGS = -fno-rtti -fvtable-thunks @LIBGCJ_CXXFLAGS@ $(WARNINGS)
+AM_CXXFLAGS = -fno-rtti -fvtable-thunks @LIBGCJ_CXXFLAGS@ @EXCEPTIONSPEC@ \
+       $(WARNINGS) -D_GNU_SOURCE
+
 @USING_GCC_TRUE@AM_CFLAGS = \
 @USING_GCC_TRUE@@LIBGCJ_CFLAGS@ $(WARNINGS)
 @USING_GCC_FALSE@AM_CFLAGS = \
 @USING_GCC_FALSE@@LIBGCJ_CFLAGS@
 
-JCFLAGS = -g
-JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
+JCFLAGS = -g -L$(here)
+JC1FLAGS = -g -L$(here) @LIBGCJ_JAVAFLAGS@
+
+LIBFFIINCS = -I$(top_srcdir)/../libffi/include -I$(MULTIBUILDTOP)../libffi/include
+
+INCLUDES = -I$(top_srcdir) -Iinclude -I$(top_srcdir)/include \
+       $(GCINCS) $(THREADINCS) $(INCLTDL) \
+       $(EH_COMMON_INCLUDE) $(ZINCS) $(LIBFFIINCS)
+
+
+nat_files = $(nat_source_files:.cc=.lo)
+c_files = $(c_source_files:.c=.lo)
+javao_files = $(java_source_files:.java=.lo) \
+       $(built_java_source_files:.java=.lo)
+
 
-INCLUDES = -Iinclude -I$(top_srcdir)/include $(GCINCS) $(THREADINCS) $(EH_COMMON_INCLUDE)
+libffi_files = `$(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g'`
 
-nat_files = $(nat_source_files:.cc=.o)
-c_files = $(c_source_files:.c=.o)
-javao_files = $(java_source_files:.java=.o)
+libgcj_la_SOURCES = prims.cc jni.cc exception.cc \
+       resolve.cc defineclass.cc interpret.cc name-finder.cc
 
-libgcj_a_SOURCES = prims.cc jni.cc exception.cc
-EXTRA_libgcj_a_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
-       $(c_source_files) $(java_source_files)
+EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
+       $(c_source_files) $(java_source_files) $(built_java_source_files)
 
-libgcj_a_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
-       $(c_files) $(GCOBJS) $(THREADOBJS)
+libgcj_la_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
+       $(c_files) $(GCOBJS) $(THREADOBJS) $(LIBLTDL)
 
-libgcj_a_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
-       $(THREADOBJS)
+libgcj_la_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
+       $(THREADOBJS) $(libffi_files) $(LIBLTDL)
+
+libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) \
+       -version-info `grep -v '^\#' $(srcdir)/libtool-version`
 
 
 MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files)
-CLEANFILES = libgcj.zip $(class_files)
+CLEANFILES = libgcj.zip
 
 SUFFIXES = .class .java .h
 
-nat_headers = $(ordinary_java_source_files:.java=.h)
+nat_headers = $(ordinary_java_source_files:.java=.h) \
+       $(built_java_source_files:.java=.h)
 
-FTFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
 
-TGFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
+extra_headers = java/lang/Object.h java/lang/Class.h
 
 NM = nm
 
@@ -175,36 +221,115 @@ CONVERT_DIR = gnu/gcj/convert
 
 jv_convert_SOURCES = 
 EXTRA_jv_convert_SOURCES = $(convert_source_files)
-jv_convert_LDFLAGS = --main=gnu.gcj.convert.Convert
-jv_convert_LINK = $(GCJ) $(JC1FLAGS) $(LDFLAGS) -o jv-convert
-jv_convert_LDADD = $(convert_source_files:.java=.o) -L. $(GCLIBS) $(THREADLIBS)
-jv_convert_DEPENDENCIES = $(convert_source_files:.java=.o) \
-       $(GCDEPS) $(THREADDEPS) libgcj.a
+jv_convert_LDFLAGS = --main=gnu.gcj.convert.Convert \
+       -rpath $(toolexeclibdir)
+
+jv_convert_LINK = $(LIBTOOL) --mode=link $(GCJ) $(JC1FLAGS) $(LDFLAGS) \
+       -o jv-convert
+
+jv_convert_LDADD = $(convert_source_files:.java=.lo) libgcj.la \
+       $(GCLIBS) $(THREADLIBS) $(ZLIBS) -L$(here)/.libs
+
+jv_convert_DEPENDENCIES = $(convert_source_files:.java=.lo) \
+       $(GCDEPS) $(THREADDEPS) $(ZDEPS) libgcj.la libgcj.spec
+
+
+gij_SOURCES = 
+EXTRA_gij_SOURCES = gij.cc
+gij_LDFLAGS = -rpath $(toolexeclibdir)
+gij_LINK = $(LIBTOOL) --mode=link $(GCJ) $(JC1FLAGS) $(LDFLAGS) \
+       -o gij
+
+gij_LDADD = gij.lo libgcj.la \
+       $(GCLIBS) $(THREADLIBS) $(ZLIBS) -L$(here)/.libs
+
+gij_DEPENDENCIES = gij.lo \
+       $(GCDEPS) $(THREADDEPS) $(ZDEPS) libgcj.la libgcj.spec
 
 
 gen_from_JIS_SOURCES = 
 EXTRA_gen_from_JIS_SOURCES = $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
+               $(srcdir)/$(CONVERT_DIR)/make-trie.c \
+               $(srcdir)/$(CONVERT_DIR)/JIS0201.h \
                $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
                $(srcdir)/$(CONVERT_DIR)/JIS0212.h
 
-gen_from_JIS_LDADD = $(CONVERT_DIR)/gen-from-JIS.o
-gen_from_JIS_DEPENDENCIES = $(CONVERT_DIR)/gen-from-JIS.o
+gen_from_JIS_LDADD = $(CONVERT_DIR)/gen-from-JIS.o $(CONVERT_DIR)/make-trie.o
+gen_from_JIS_DEPENDENCIES = $(CONVERT_DIR)/gen-from-JIS.o \
+               $(CONVERT_DIR)/make-trie.o
+
 
 convert_source_files = \
 gnu/gcj/convert/BytesToUnicode.java \
 gnu/gcj/convert/Convert.java \
 gnu/gcj/convert/Input_8859_1.java \
 gnu/gcj/convert/Input_EUCJIS.java \
+gnu/gcj/convert/Input_JavaSrc.java \
+gnu/gcj/convert/Input_SJIS.java \
 gnu/gcj/convert/Input_UTF8.java        \
+gnu/gcj/convert/Input_iconv.java \
 gnu/gcj/convert/Output_8859_1.java \
+gnu/gcj/convert/Output_EUCJIS.java \
 gnu/gcj/convert/Output_JavaSrc.java \
+gnu/gcj/convert/Output_SJIS.java \
 gnu/gcj/convert/Output_UTF8.java \
+gnu/gcj/convert/Output_iconv.java \
 gnu/gcj/convert/UnicodeToBytes.java
 
 
 special_java_source_files = java/lang/Class.java java/lang/Object.java
 
+awt_java_source_files = \
+java/awt/AWTEvent.java \
+java/awt/BorderLayout.java \
+java/awt/Component.java \
+java/awt/Container.java \
+java/awt/Dimension.java \
+java/awt/Event.java \
+java/awt/Font.java \
+java/awt/Frame.java \
+java/awt/LayoutManager.java \
+java/awt/LayoutManager2.java \
+java/awt/Menu.java \
+java/awt/MenuBar.java \
+java/awt/MenuItem.java \
+java/awt/MenuComponent.java \
+java/awt/MenuContainer.java \
+java/awt/Point.java \
+java/awt/Rectangle.java \
+java/awt/Shape.java \
+java/awt/TextArea.java \
+java/awt/TextComponent.java \
+java/awt/Toolkit.java \
+java/awt/Window.java \
+java/awt/event/ActionEvent.java \
+java/awt/event/ActionListener.java \
+java/awt/event/ComponentEvent.java \
+java/awt/event/InputEvent.java \
+java/awt/event/KeyEvent.java \
+java/awt/event/KeyListener.java \
+java/awt/event/TextEvent.java \
+java/awt/event/TextListener.java \
+java/awt/event/WindowAdapter.java \
+java/awt/event/WindowEvent.java \
+java/awt/event/WindowListener.java \
+java/awt/geom/Point2D.java \
+java/awt/geom/Dimension2D.java \
+java/awt/peer/ComponentPeer.java \
+java/awt/peer/ContainerPeer.java \
+java/awt/peer/FramePeer.java \
+java/awt/peer/WindowPeer.java
+
+
+# $(awt_java_source_files)
+
+built_java_source_files = java/lang/ConcreteProcess.java
+
 ordinary_java_source_files = $(convert_source_files) \
+gnu/gcj/io/DefaultMimeTypes.java \
+gnu/gcj/io/MimeTypes.java \
+gnu/gcj/jni/NativeThread.java \
+gnu/gcj/runtime/VMClassLoader.java \
 gnu/gcj/text/BaseBreakIterator.java \
 gnu/gcj/text/CharacterBreakIterator.java \
 gnu/gcj/text/LineBreakIterator.java \
@@ -212,8 +337,15 @@ gnu/gcj/text/LocaleData_en.java    \
 gnu/gcj/text/LocaleData_en_US.java \
 gnu/gcj/text/SentenceBreakIterator.java        \
 gnu/gcj/text/WordBreakIterator.java \
+gnu/gcj/math/MPN.java \
+gnu/gcj/protocol/file/Connection.java \
+gnu/gcj/protocol/file/Handler.java \
 gnu/gcj/protocol/http/Connection.java \
 gnu/gcj/protocol/http/Handler.java \
+gnu/gcj/protocol/jar/Handler.java \
+gnu/gcj/protocol/jar/Connection.java \
+gnu/gcj/RawData.java \
+gnu/gcj/util/EnumerationChain.java \
 java/io/BufferedInputStream.java \
 java/io/BufferedOutputStream.java \
 java/io/BufferedReader.java \
@@ -346,15 +478,22 @@ java/lang/reflect/InvocationTargetException.java \
 java/lang/reflect/Member.java \
 java/lang/reflect/Method.java \
 java/lang/reflect/Modifier.java        \
+java/math/BigInteger.java \
 java/net/BindException.java \
 java/net/ConnectException.java \
 java/net/ContentHandler.java \
 java/net/ContentHandlerFactory.java \
+java/net/DatagramPacket.java \
+java/net/DatagramSocket.java \
+java/net/DatagramSocketImpl.java \
 java/net/FileNameMap.java \
 java/net/HttpURLConnection.java \
 java/net/InetAddress.java \
+java/net/JarURLConnection.java \
 java/net/MalformedURLException.java \
+java/net/MulticastSocket.java \
 java/net/NoRouteToHostException.java \
+java/net/PlainDatagramSocketImpl.java \
 java/net/PlainSocketImpl.java \
 java/net/ProtocolException.java        \
 java/net/ServerSocket.java \
@@ -362,15 +501,25 @@ java/net/Socket.java \
 java/net/SocketException.java \
 java/net/SocketImpl.java \
 java/net/SocketImplFactory.java        \
+java/net/SocketOptions.java \
 java/net/URL.java \
+java/net/URLClassLoader.java \
 java/net/URLConnection.java \
+java/net/URLDecoder.java \
+java/net/URLEncoder.java \
 java/net/URLStreamHandler.java \
 java/net/URLStreamHandlerFactory.java \
 java/net/UnknownHostException.java \
 java/net/UnknownServiceException.java \
+java/security/MessageDigest.java \
+java/security/NoSuchAlgorithmException.java \
+java/security/SecureClassLoader.java \
 java/text/BreakIterator.java \
 java/text/CharacterIterator.java \
 java/text/ChoiceFormat.java \
+java/text/CollationElementIterator.java \
+java/text/CollationKey.java \
+java/text/Collator.java \
 java/text/DateFormat.java \
 java/text/DateFormatSymbols.java \
 java/text/DecimalFormat.java \
@@ -381,6 +530,7 @@ java/text/MessageFormat.java \
 java/text/NumberFormat.java \
 java/text/ParseException.java \
 java/text/ParsePosition.java \
+java/text/RuleBasedCollator.java \
 java/text/SimpleDateFormat.java        \
 java/text/StringCharacterIterator.java \
 java/util/BitSet.java \
@@ -401,6 +551,7 @@ java/util/NoSuchElementException.java \
 java/util/Observable.java \
 java/util/Observer.java        \
 java/util/Properties.java \
+java/util/PropertyResourceBundle.java \
 java/util/Random.java \
 java/util/ResourceBundle.java \
 java/util/SimpleTimeZone.java \
@@ -409,15 +560,26 @@ java/util/StringTokenizer.java \
 java/util/TimeZone.java        \
 java/util/TooManyListenersException.java \
 java/util/Vector.java \
+java/util/jar/JarFile.java \
+java/util/jar/JarInputStream.java \
+java/util/jar/JarEntry.java \
 java/util/zip/Adler32.java \
 java/util/zip/CRC32.java \
+java/util/zip/CheckedInputStream.java \
+java/util/zip/CheckedOutputStream.java \
 java/util/zip/Checksum.java \
+java/util/zip/DataFormatException.java \
 java/util/zip/Deflater.java \
 java/util/zip/DeflaterOutputStream.java        \
+java/util/zip/GZIPInputStream.java \
+java/util/zip/GZIPOutputStream.java \
+java/util/zip/Inflater.java \
+java/util/zip/InflaterInputStream.java \
 java/util/zip/ZipConstants.java        \
 java/util/zip/ZipEntry.java \
 java/util/zip/ZipException.java        \
 java/util/zip/ZipFile.java \
+java/util/zip/ZipInputStream.java \
 java/util/zip/ZipOutputStream.java
 
 
@@ -439,17 +601,45 @@ c_source_files = \
   java/lang/k_cos.c       java/lang/s_sin.c
 
 
-nat_source_files = java/lang/natObject.cc java/lang/natClass.cc        \
-java/lang/natString.cc java/lang/natDouble.cc java/lang/natRuntime.cc \
-java/lang/natSystem.cc java/lang/natThread.cc java/io/natFile.cc \
-java/io/natFileDescriptor.cc java/util/natDate.cc \
-java/util/natGregorianCalendar.cc java/lang/natFirstThread.cc \
-java/lang/natCharacter.cc java/lang/natMath.cc java/lang/natFloat.cc \
-java/lang/reflect/natField.cc java/net/natInetAddress.cc \
-java/net/natPlainSocketImpl.cc java/lang/reflect/natMethod.cc \
-java/lang/reflect/natArray.cc gnu/gcj/convert/natInput_EUCJIS.cc \
+#java/awt/natToolkit.cc
+
+nat_source_files = \
 gnu/gcj/convert/JIS0208_to_Unicode.cc \
-gnu/gcj/convert/JIS0212_to_Unicode.cc
+gnu/gcj/convert/JIS0212_to_Unicode.cc \
+gnu/gcj/convert/Unicode_to_JIS.cc \
+gnu/gcj/convert/natIconv.cc \
+gnu/gcj/convert/natInput_EUCJIS.cc \
+gnu/gcj/convert/natInput_SJIS.cc \
+gnu/gcj/convert/natOutput_EUCJIS.cc \
+gnu/gcj/convert/natOutput_SJIS.cc \
+gnu/gcj/jni/natNativeThread.cc \
+java/io/natFile.cc \
+java/io/natFileDescriptor.cc \
+java/lang/natCharacter.cc \
+java/lang/natClass.cc \
+java/lang/natClassLoader.cc \
+java/lang/natConcreteProcess.cc \
+java/lang/natDouble.cc \
+java/lang/natFirstThread.cc \
+java/lang/natFloat.cc \
+java/lang/natMath.cc \
+java/lang/natObject.cc \
+java/lang/natRuntime.cc        \
+java/lang/natString.cc \
+java/lang/natSystem.cc \
+java/lang/natThread.cc \
+java/lang/natThrowable.cc \
+java/lang/reflect/natArray.cc \
+java/lang/reflect/natConstructor.cc \
+java/lang/reflect/natField.cc \
+java/lang/reflect/natMethod.cc \
+java/net/natInetAddress.cc \
+java/net/natPlainDatagramSocketImpl.cc \
+java/net/natPlainSocketImpl.cc \
+java/text/natCollator.cc \
+java/util/natGregorianCalendar.cc \
+java/util/zip/natDeflater.cc \
+java/util/zip/natInflater.cc
 
 
 # Work around what appears to be a GNU make bug handling MAKEFLAGS
@@ -507,7 +697,7 @@ cygnus_hack =
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
 CONFIG_HEADER = ./include/config.h
-CONFIG_CLEAN_FILES = 
+CONFIG_CLEAN_FILES =  libgcj.spec
 LIBRARIES =  $(toolexeclib_LIBRARIES)
 
 
@@ -515,45 +705,66 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I./include
 CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
-libgcj_a_OBJECTS =  prims.o jni.o exception.o
-@NATIVE_TRUE@bin_PROGRAMS =  jv-convert$(EXEEXT)
+libgcjdata_a_LIBADD = 
+@NEEDS_DATA_START_TRUE@libgcjdata_a_OBJECTS =  libgcjdata.o
+LTLIBRARIES =  $(toolexeclib_LTLIBRARIES)
+
+libgcj_la_OBJECTS =  prims.lo jni.lo exception.lo resolve.lo \
+defineclass.lo interpret.lo name-finder.lo
+@NATIVE_TRUE@bin_PROGRAMS =  jv-convert$(EXEEXT) gij$(EXEEXT)
 @NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS =  \
 @NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS$(EXEEXT)
 PROGRAMS =  $(bin_PROGRAMS) $(noinst_PROGRAMS)
 
 jv_convert_OBJECTS = 
+gij_OBJECTS = 
 gen_from_JIS_OBJECTS = 
 gen_from_JIS_LDFLAGS = 
 CXXFLAGS = @CXXFLAGS@
 CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
 CXXLD = $(CXX)
-CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
 CFLAGS = @CFLAGS@
 COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DATA =  $(data_DATA)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DATA =  $(data_DATA) $(toolexeclib_DATA)
 
-DIST_COMMON =  COPYING.LIB ChangeLog Makefile.am Makefile.in acconfig.h \
-acinclude.m4 aclocal.m4 configure configure.in include/config.h.in \
-include/stamp-h.in
+DIST_COMMON =  README COPYING.LIB ChangeLog Makefile.am Makefile.in NEWS \
+THANKS acinclude.m4 aclocal.m4 configure configure.in libgcj.spec.in
 
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
 TAR = tar
 GZIP_ENV = --best
-DIST_SUBDIRS =  testsuite
-DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P .deps/boehm.P \
-.deps/exception.P .deps/gnu/gcj/convert/BytesToUnicode.P \
+DIST_SUBDIRS =  @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
+DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
+.deps/$(srcdir)/$(CONVERT_DIR)/make-trie.P .deps/boehm.P \
+.deps/defineclass.P .deps/exception.P .deps/gij.P \
+.deps/gnu/gcj/RawData.P .deps/gnu/gcj/convert/BytesToUnicode.P \
 .deps/gnu/gcj/convert/Convert.P .deps/gnu/gcj/convert/Input_8859_1.P \
-.deps/gnu/gcj/convert/Input_EUCJIS.P .deps/gnu/gcj/convert/Input_UTF8.P \
+.deps/gnu/gcj/convert/Input_EUCJIS.P \
+.deps/gnu/gcj/convert/Input_JavaSrc.P \
+.deps/gnu/gcj/convert/Input_SJIS.P .deps/gnu/gcj/convert/Input_UTF8.P \
+.deps/gnu/gcj/convert/Input_iconv.P \
 .deps/gnu/gcj/convert/Output_8859_1.P \
+.deps/gnu/gcj/convert/Output_EUCJIS.P \
 .deps/gnu/gcj/convert/Output_JavaSrc.P \
-.deps/gnu/gcj/convert/Output_UTF8.P \
+.deps/gnu/gcj/convert/Output_SJIS.P .deps/gnu/gcj/convert/Output_UTF8.P \
+.deps/gnu/gcj/convert/Output_iconv.P \
 .deps/gnu/gcj/convert/UnicodeToBytes.P \
+.deps/gnu/gcj/io/DefaultMimeTypes.P .deps/gnu/gcj/io/MimeTypes.P \
+.deps/gnu/gcj/jni/NativeThread.P .deps/gnu/gcj/math/MPN.P \
+.deps/gnu/gcj/protocol/file/Connection.P \
+.deps/gnu/gcj/protocol/file/Handler.P \
 .deps/gnu/gcj/protocol/http/Connection.P \
 .deps/gnu/gcj/protocol/http/Handler.P \
+.deps/gnu/gcj/protocol/jar/Connection.P \
+.deps/gnu/gcj/protocol/jar/Handler.P \
+.deps/gnu/gcj/runtime/VMClassLoader.P \
 .deps/gnu/gcj/text/BaseBreakIterator.P \
 .deps/gnu/gcj/text/CharacterBreakIterator.P \
 .deps/gnu/gcj/text/LineBreakIterator.P \
@@ -561,6 +772,7 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P .deps/boehm.P \
 .deps/gnu/gcj/text/LocaleData_en_US.P \
 .deps/gnu/gcj/text/SentenceBreakIterator.P \
 .deps/gnu/gcj/text/WordBreakIterator.P \
+.deps/gnu/gcj/util/EnumerationChain.P .deps/interpret.P \
 .deps/java/io/BufferedInputStream.P \
 .deps/java/io/BufferedOutputStream.P .deps/java/io/BufferedReader.P \
 .deps/java/io/BufferedWriter.P .deps/java/io/ByteArrayInputStream.P \
@@ -601,8 +813,9 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P .deps/boehm.P \
 .deps/java/lang/ClassNotFoundException.P \
 .deps/java/lang/CloneNotSupportedException.P \
 .deps/java/lang/Cloneable.P .deps/java/lang/Comparable.P \
-.deps/java/lang/Compiler.P .deps/java/lang/Double.P \
-.deps/java/lang/Error.P .deps/java/lang/Exception.P \
+.deps/java/lang/Compiler.P .deps/java/lang/ConcreteProcess.P \
+.deps/java/lang/Double.P .deps/java/lang/Error.P \
+.deps/java/lang/Exception.P \
 .deps/java/lang/ExceptionInInitializerError.P \
 .deps/java/lang/FirstThread.P .deps/java/lang/Float.P \
 .deps/java/lang/IllegalAccessError.P \
@@ -662,26 +875,37 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P .deps/boehm.P \
 .deps/java/lang/w_exp.P .deps/java/lang/w_fmod.P \
 .deps/java/lang/w_log.P .deps/java/lang/w_pow.P \
 .deps/java/lang/w_remainder.P .deps/java/lang/w_sqrt.P \
-.deps/java/net/BindException.P .deps/java/net/ConnectException.P \
-.deps/java/net/ContentHandler.P .deps/java/net/ContentHandlerFactory.P \
+.deps/java/math/BigInteger.P .deps/java/net/BindException.P \
+.deps/java/net/ConnectException.P .deps/java/net/ContentHandler.P \
+.deps/java/net/ContentHandlerFactory.P .deps/java/net/DatagramPacket.P \
+.deps/java/net/DatagramSocket.P .deps/java/net/DatagramSocketImpl.P \
 .deps/java/net/FileNameMap.P .deps/java/net/HttpURLConnection.P \
-.deps/java/net/InetAddress.P .deps/java/net/MalformedURLException.P \
+.deps/java/net/InetAddress.P .deps/java/net/JarURLConnection.P \
+.deps/java/net/MalformedURLException.P .deps/java/net/MulticastSocket.P \
 .deps/java/net/NoRouteToHostException.P \
+.deps/java/net/PlainDatagramSocketImpl.P \
 .deps/java/net/PlainSocketImpl.P .deps/java/net/ProtocolException.P \
 .deps/java/net/ServerSocket.P .deps/java/net/Socket.P \
 .deps/java/net/SocketException.P .deps/java/net/SocketImpl.P \
-.deps/java/net/SocketImplFactory.P .deps/java/net/URL.P \
-.deps/java/net/URLConnection.P .deps/java/net/URLStreamHandler.P \
+.deps/java/net/SocketImplFactory.P .deps/java/net/SocketOptions.P \
+.deps/java/net/URL.P .deps/java/net/URLClassLoader.P \
+.deps/java/net/URLConnection.P .deps/java/net/URLDecoder.P \
+.deps/java/net/URLEncoder.P .deps/java/net/URLStreamHandler.P \
 .deps/java/net/URLStreamHandlerFactory.P \
 .deps/java/net/UnknownHostException.P \
 .deps/java/net/UnknownServiceException.P \
-.deps/java/text/BreakIterator.P .deps/java/text/CharacterIterator.P \
-.deps/java/text/ChoiceFormat.P .deps/java/text/DateFormat.P \
-.deps/java/text/DateFormatSymbols.P .deps/java/text/DecimalFormat.P \
-.deps/java/text/DecimalFormatSymbols.P .deps/java/text/FieldPosition.P \
-.deps/java/text/Format.P .deps/java/text/MessageFormat.P \
-.deps/java/text/NumberFormat.P .deps/java/text/ParseException.P \
-.deps/java/text/ParsePosition.P .deps/java/text/SimpleDateFormat.P \
+.deps/java/security/MessageDigest.P \
+.deps/java/security/NoSuchAlgorithmException.P \
+.deps/java/security/SecureClassLoader.P .deps/java/text/BreakIterator.P \
+.deps/java/text/CharacterIterator.P .deps/java/text/ChoiceFormat.P \
+.deps/java/text/CollationElementIterator.P \
+.deps/java/text/CollationKey.P .deps/java/text/Collator.P \
+.deps/java/text/DateFormat.P .deps/java/text/DateFormatSymbols.P \
+.deps/java/text/DecimalFormat.P .deps/java/text/DecimalFormatSymbols.P \
+.deps/java/text/FieldPosition.P .deps/java/text/Format.P \
+.deps/java/text/MessageFormat.P .deps/java/text/NumberFormat.P \
+.deps/java/text/ParseException.P .deps/java/text/ParsePosition.P \
+.deps/java/text/RuleBasedCollator.P .deps/java/text/SimpleDateFormat.P \
 .deps/java/text/StringCharacterIterator.P .deps/java/util/BitSet.P \
 .deps/java/util/Calendar.P \
 .deps/java/util/ConcurrentModificationException.P \
@@ -693,23 +917,34 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P .deps/boehm.P \
 .deps/java/util/MissingResourceException.P \
 .deps/java/util/NoSuchElementException.P .deps/java/util/Observable.P \
 .deps/java/util/Observer.P .deps/java/util/Properties.P \
-.deps/java/util/Random.P .deps/java/util/ResourceBundle.P \
-.deps/java/util/SimpleTimeZone.P .deps/java/util/Stack.P \
-.deps/java/util/StringTokenizer.P .deps/java/util/TimeZone.P \
-.deps/java/util/TooManyListenersException.P .deps/java/util/Vector.P \
+.deps/java/util/PropertyResourceBundle.P .deps/java/util/Random.P \
+.deps/java/util/ResourceBundle.P .deps/java/util/SimpleTimeZone.P \
+.deps/java/util/Stack.P .deps/java/util/StringTokenizer.P \
+.deps/java/util/TimeZone.P .deps/java/util/TooManyListenersException.P \
+.deps/java/util/Vector.P .deps/java/util/jar/JarEntry.P \
+.deps/java/util/jar/JarFile.P .deps/java/util/jar/JarInputStream.P \
 .deps/java/util/zip/Adler32.P .deps/java/util/zip/CRC32.P \
-.deps/java/util/zip/Checksum.P .deps/java/util/zip/Deflater.P \
+.deps/java/util/zip/CheckedInputStream.P \
+.deps/java/util/zip/CheckedOutputStream.P \
+.deps/java/util/zip/Checksum.P \
+.deps/java/util/zip/DataFormatException.P \
+.deps/java/util/zip/Deflater.P \
 .deps/java/util/zip/DeflaterOutputStream.P \
+.deps/java/util/zip/GZIPInputStream.P \
+.deps/java/util/zip/GZIPOutputStream.P .deps/java/util/zip/Inflater.P \
+.deps/java/util/zip/InflaterInputStream.P \
 .deps/java/util/zip/ZipConstants.P .deps/java/util/zip/ZipEntry.P \
 .deps/java/util/zip/ZipException.P .deps/java/util/zip/ZipFile.P \
-.deps/java/util/zip/ZipOutputStream.P .deps/jni.P .deps/no-threads.P \
-.deps/nogc.P .deps/posix-threads.P .deps/prims.P
-SOURCES = $(libgcj_a_SOURCES) $(EXTRA_libgcj_a_SOURCES) $(jv_convert_SOURCES) $(EXTRA_jv_convert_SOURCES) $(gen_from_JIS_SOURCES) $(EXTRA_gen_from_JIS_SOURCES)
-OBJECTS = $(libgcj_a_OBJECTS) $(jv_convert_OBJECTS) $(gen_from_JIS_OBJECTS)
+.deps/java/util/zip/ZipInputStream.P \
+.deps/java/util/zip/ZipOutputStream.P .deps/jni.P .deps/libgcjdata.P \
+.deps/name-finder.P .deps/no-threads.P .deps/nogc.P \
+.deps/posix-threads.P .deps/prims.P .deps/resolve.P
+SOURCES = $(libgcjdata_a_SOURCES) $(libgcj_la_SOURCES) $(EXTRA_libgcj_la_SOURCES) $(jv_convert_SOURCES) $(EXTRA_jv_convert_SOURCES) $(gij_SOURCES) $(EXTRA_gij_SOURCES) $(gen_from_JIS_SOURCES) $(EXTRA_gen_from_JIS_SOURCES)
+OBJECTS = $(libgcjdata_a_OBJECTS) $(libgcj_la_OBJECTS) $(jv_convert_OBJECTS) $(gij_OBJECTS) $(gen_from_JIS_OBJECTS)
 
 all: all-redirect
 .SUFFIXES:
-.SUFFIXES: .S .c .cc .class .h .java .o .s
+.SUFFIXES: .S .c .cc .class .h .java .lo .o .s
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
        cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
 
@@ -724,34 +959,8 @@ config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        $(SHELL) ./config.status --recheck
 $(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
        cd $(srcdir) && $(AUTOCONF)
-
-include/config.h: include/stamp-h
-       @if test ! -f $@; then \
-               rm -f include/stamp-h; \
-               $(MAKE) include/stamp-h; \
-       else :; fi
-include/stamp-h: $(srcdir)/include/config.h.in $(top_builddir)/config.status
-       cd $(top_builddir) \
-         && CONFIG_FILES= CONFIG_HEADERS=include/config.h \
-            $(SHELL) ./config.status
-       @echo timestamp > include/stamp-h 2> /dev/null
-$(srcdir)/include/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/include/stamp-h.in
-       @if test ! -f $@; then \
-               rm -f $(srcdir)/include/stamp-h.in; \
-               $(MAKE) $(srcdir)/include/stamp-h.in; \
-       else :; fi
-$(srcdir)/include/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
-       cd $(top_srcdir) && $(AUTOHEADER)
-       @echo timestamp > $(srcdir)/include/stamp-h.in 2> /dev/null
-
-mostlyclean-hdr:
-
-clean-hdr:
-
-distclean-hdr:
-       -rm -f include/config.h
-
-maintainer-clean-hdr:
+libgcj.spec: $(top_builddir)/config.status libgcj.spec.in
+       cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
 mostlyclean-toolexeclibLIBRARIES:
 
@@ -801,10 +1010,54 @@ distclean-compile:
 
 maintainer-clean-compile:
 
-libgcj.a: $(libgcj_a_OBJECTS) $(libgcj_a_DEPENDENCIES)
-       -rm -f libgcj.a
-       $(AR) cru libgcj.a $(libgcj_a_OBJECTS) $(libgcj_a_LIBADD)
-       $(RANLIB) libgcj.a
+.s.lo:
+       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.S.lo:
+       $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+distclean-libtool:
+
+maintainer-clean-libtool:
+
+libgcjdata.a: $(libgcjdata_a_OBJECTS) $(libgcjdata_a_DEPENDENCIES)
+       -rm -f libgcjdata.a
+       $(AR) cru libgcjdata.a $(libgcjdata_a_OBJECTS) $(libgcjdata_a_LIBADD)
+       $(RANLIB) libgcjdata.a
+
+mostlyclean-toolexeclibLTLIBRARIES:
+
+clean-toolexeclibLTLIBRARIES:
+       -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
+
+distclean-toolexeclibLTLIBRARIES:
+
+maintainer-clean-toolexeclibLTLIBRARIES:
+
+install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
+       @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo "$(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
+           $(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p; \
+         else :; fi; \
+       done
+
+uninstall-toolexeclibLTLIBRARIES:
+       @$(NORMAL_UNINSTALL)
+       list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
+         $(LIBTOOL)  --mode=uninstall rm -f $(DESTDIR)$(toolexeclibdir)/$$p; \
+       done
+
+libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
+       $(CXXLINK) -rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(libgcj_la_OBJECTS) $(libgcj_la_LIBADD) $(LIBS)
 
 mostlyclean-binPROGRAMS:
 
@@ -820,8 +1073,8 @@ install-binPROGRAMS: $(bin_PROGRAMS)
        $(mkinstalldirs) $(DESTDIR)$(bindir)
        @list='$(bin_PROGRAMS)'; for p in $$list; do \
          if test -f $$p; then \
-           echo "  $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
-            $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+           echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+           $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
          else :; fi; \
        done
 
@@ -844,11 +1097,17 @@ jv-convert$(EXEEXT): $(jv_convert_OBJECTS) $(jv_convert_DEPENDENCIES)
        @rm -f jv-convert$(EXEEXT)
        $(jv_convert_LINK) $(jv_convert_LDFLAGS) $(jv_convert_OBJECTS) $(jv_convert_LDADD) $(LIBS)
 
+gij$(EXEEXT): $(gij_OBJECTS) $(gij_DEPENDENCIES)
+       @rm -f gij$(EXEEXT)
+       $(gij_LINK) $(gij_LDFLAGS) $(gij_OBJECTS) $(gij_LDADD) $(LIBS)
+
 gen-from-JIS$(EXEEXT): $(gen_from_JIS_OBJECTS) $(gen_from_JIS_DEPENDENCIES)
        @rm -f gen-from-JIS$(EXEEXT)
        $(LINK) $(gen_from_JIS_LDFLAGS) $(gen_from_JIS_OBJECTS) $(gen_from_JIS_LDADD) $(LIBS)
 .cc.o:
        $(CXXCOMPILE) -c $<
+.cc.lo:
+       $(LTCXXCOMPILE) -c $<
 
 install-dataDATA: $(data_DATA)
        @$(NORMAL_INSTALL)
@@ -869,6 +1128,25 @@ uninstall-dataDATA:
          rm -f $(DESTDIR)$(datadir)/$$p; \
        done
 
+install-toolexeclibDATA: $(toolexeclib_DATA)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
+       @list='$(toolexeclib_DATA)'; for p in $$list; do \
+         if test -f $(srcdir)/$$p; then \
+           echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
+           $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toolexeclibdir)/$$p; \
+         else if test -f $$p; then \
+           echo " $(INSTALL_DATA) $$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
+           $(INSTALL_DATA) $$p $(DESTDIR)$(toolexeclibdir)/$$p; \
+         fi; fi; \
+       done
+
+uninstall-toolexeclibDATA:
+       @$(NORMAL_UNINSTALL)
+       list='$(toolexeclib_DATA)'; for p in $$list; do \
+         rm -f $(DESTDIR)$(toolexeclibdir)/$$p; \
+       done
+
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
 # To change the values of `make' variables: instead of editing Makefiles,
@@ -1082,26 +1360,30 @@ installcheck-am:
 installcheck: installcheck-recursive
 install-info-am: 
 install-info: install-info-recursive
-install-exec-am: install-toolexeclibLIBRARIES install-binPROGRAMS
+install-exec-am: install-toolexeclibLIBRARIES \
+               install-toolexeclibLTLIBRARIES install-binPROGRAMS \
+               install-toolexeclibDATA
 install-exec: install-exec-recursive
 
-install-data-am: install-dataDATA
+install-data-am: install-dataDATA install-data-local
 install-data: install-data-recursive
 
 install-am: all-am
        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
 install: install-recursive
-uninstall-am: uninstall-toolexeclibLIBRARIES uninstall-binPROGRAMS \
-               uninstall-dataDATA
+uninstall-am: uninstall-toolexeclibLIBRARIES \
+               uninstall-toolexeclibLTLIBRARIES uninstall-binPROGRAMS \
+               uninstall-dataDATA uninstall-toolexeclibDATA
 uninstall: uninstall-recursive
-all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(DATA)
+all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(PROGRAMS) $(DATA)
 all-redirect: all-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
 installdirs: installdirs-recursive
 installdirs-am:
-       $(mkinstalldirs)  $(DESTDIR)$(toolexeclibdir) $(DESTDIR)$(bindir) \
-               $(DESTDIR)$(datadir)
+       $(mkinstalldirs)  $(DESTDIR)$(toolexeclibdir) \
+               $(DESTDIR)$(toolexeclibdir) $(DESTDIR)$(bindir) \
+               $(DESTDIR)$(datadir) $(DESTDIR)$(toolexeclibdir)
 
 
 mostlyclean-generic:
@@ -1115,30 +1397,34 @@ distclean-generic:
        -rm -f config.cache config.log stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-hdr mostlyclean-toolexeclibLIBRARIES \
-               mostlyclean-compile mostlyclean-binPROGRAMS \
-               mostlyclean-noinstPROGRAMS mostlyclean-tags \
-               mostlyclean-depend mostlyclean-generic
+mostlyclean-am:  mostlyclean-toolexeclibLIBRARIES mostlyclean-compile \
+               mostlyclean-libtool mostlyclean-toolexeclibLTLIBRARIES \
+               mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
+               mostlyclean-tags mostlyclean-depend mostlyclean-generic
 
 mostlyclean: mostlyclean-recursive
 
-clean-am:  clean-hdr clean-toolexeclibLIBRARIES clean-compile \
-               clean-binPROGRAMS clean-noinstPROGRAMS clean-tags \
-               clean-depend clean-generic mostlyclean-am
+clean-am:  clean-toolexeclibLIBRARIES clean-compile clean-libtool \
+               clean-toolexeclibLTLIBRARIES clean-binPROGRAMS \
+               clean-noinstPROGRAMS clean-tags clean-depend \
+               clean-generic mostlyclean-am clean-local
 
 clean: clean-recursive
 
-distclean-am:  distclean-hdr distclean-toolexeclibLIBRARIES \
-               distclean-compile distclean-binPROGRAMS \
-               distclean-noinstPROGRAMS distclean-tags \
-               distclean-depend distclean-generic clean-am
+distclean-am:  distclean-toolexeclibLIBRARIES distclean-compile \
+               distclean-libtool distclean-toolexeclibLTLIBRARIES \
+               distclean-binPROGRAMS distclean-noinstPROGRAMS \
+               distclean-tags distclean-depend distclean-generic \
+               clean-am
+       -rm -f libtool
 
 distclean: distclean-recursive
        -rm -f config.status
 
-maintainer-clean-am:  maintainer-clean-hdr \
-               maintainer-clean-toolexeclibLIBRARIES \
-               maintainer-clean-compile maintainer-clean-binPROGRAMS \
+maintainer-clean-am:  maintainer-clean-toolexeclibLIBRARIES \
+               maintainer-clean-compile maintainer-clean-libtool \
+               maintainer-clean-toolexeclibLTLIBRARIES \
+               maintainer-clean-binPROGRAMS \
                maintainer-clean-noinstPROGRAMS maintainer-clean-tags \
                maintainer-clean-depend maintainer-clean-generic \
                distclean-am
@@ -1148,69 +1434,97 @@ maintainer-clean-am:  maintainer-clean-hdr \
 maintainer-clean: maintainer-clean-recursive
        -rm -f config.status
 
-.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
-mostlyclean-toolexeclibLIBRARIES distclean-toolexeclibLIBRARIES \
+.PHONY: mostlyclean-toolexeclibLIBRARIES distclean-toolexeclibLIBRARIES \
 clean-toolexeclibLIBRARIES maintainer-clean-toolexeclibLIBRARIES \
 uninstall-toolexeclibLIBRARIES install-toolexeclibLIBRARIES \
 mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-binPROGRAMS distclean-binPROGRAMS \
-clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \
-install-binPROGRAMS mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
+maintainer-clean-compile mostlyclean-libtool distclean-libtool \
+clean-libtool maintainer-clean-libtool \
+mostlyclean-toolexeclibLTLIBRARIES distclean-toolexeclibLTLIBRARIES \
+clean-toolexeclibLTLIBRARIES maintainer-clean-toolexeclibLTLIBRARIES \
+uninstall-toolexeclibLTLIBRARIES install-toolexeclibLTLIBRARIES \
+mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
+maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
+mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
 clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS uninstall-dataDATA \
-install-dataDATA install-data-recursive uninstall-data-recursive \
-install-exec-recursive uninstall-exec-recursive installdirs-recursive \
-uninstalldirs-recursive all-recursive check-recursive \
-installcheck-recursive info-recursive dvi-recursive \
-mostlyclean-recursive distclean-recursive clean-recursive \
+install-dataDATA uninstall-toolexeclibDATA install-toolexeclibDATA \
+install-data-recursive uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
 maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
 distclean-tags clean-tags maintainer-clean-tags distdir \
 mostlyclean-depend distclean-depend clean-depend \
 maintainer-clean-depend info-am info dvi-am dvi check check-am \
 installcheck-am installcheck install-info-am install-info \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+install-exec-am install-exec install-data-local install-data-am \
+install-data install-am install uninstall-am uninstall all-redirect \
+all-am all installdirs-am installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 $(java_source_files:.java=.class): libgcj.zip
 
+$(built_java_source_files:.java=.class): $(built_java_source_files)
+       javac="$(JAVAC)"; \
+       $$javac $(JCFLAGS) -classpath $(here):`cd $(srcdir) && /bin/pwd` \
+         -d $(here) $?
+
 libgcj.zip: $(java_source_files)
+       $(MAKE) $(built_java_source_files:.java=.class)
        javac="$(JAVAC)"; cd $(srcdir); \
          $$javac $(JCFLAGS) -classpath $(here):`/bin/pwd` -d $(here) \
            $(subst $(srcdir)/,,$?)
        -@rm -f libgcj.zip
        $(ZIP) -r libgcj java gnu -n .class -i '*.class' -i '*/'
 
-.class.o:
-       CLASSPATH=$(here) $(CC) -fassume-compiled $(JC1FLAGS) -c -o $@ $<
+clean-local:
+       find . -name '*.class' -print | xargs rm -f
+
+.class.lo:
+       $(GCJCOMPILE) -o $@ $<
 
-.java.o:
-       CLASSPATH=$(here) $(GCJ) -fassume-compiled $(JC1FLAGS) -c -o $@ $<
+.java.lo:
+       $(GCJCOMPILE) -o $@ $<
 
-$(nat_files): %.o: %.cc
-       $(CXXCOMPILE) -c -o $@ $<
+$(nat_files): %.lo: %.cc
+       $(LTCXXCOMPILE) -c -o $@ $<
 
-$(nat_files) $(GCOBJS) $(THREADOBJS) $(libgcj_a_OBJECTS): \
+$(nat_files) $(GCOBJS) $(THREADOBJS) $(libgcj_la_OBJECTS): \
                include/config.h include/java-signal.h $(nat_headers)
 
-$(c_files): %.o: %.c
-       $(COMPILE) -c -o $@ $<
+$(c_files): %.lo: %.c
+       $(LTCOMPILE) -c -o $@ $<
 
 $(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
 
-$(javao_files): %.o: %.java
-       CLASSPATH=$(here) $(GCJ) -fassume-compiled $(JC1FLAGS) -c -o $@ $<
+$(javao_files): %.lo: %.java
+       $(GCJCOMPILE) -o $@ $<
 
 .class.h:
        $(GCJH) -classpath $(top_builddir) $(basename $<)
 
 $(nat_headers): libgcj.zip
+
+java/lang/ClassLoader.h: java/lang/ClassLoader.class libgcj.zip
+       $(GCJH) -classpath $(top_builddir) \
+               -friend 'jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \
+               $(basename $<)
+
 java/lang/FirstThread.h: java/lang/FirstThread.class libgcj.zip
-       $(GCJH) -classpath $(top_builddir) -friend '$(FTFRIEND);' \
+       $(GCJH) -classpath $(top_builddir) \
+               -friend 'void JvRunMain (jclass, int, const char **);' \
+               -friend 'void _Jv_RunMain (const char*, int, const char **);' \
                $(basename $<)
-java/lang/ThreadGroup.h: java/lang/ThreadGroup.class libgcj.zip
-       $(GCJH) -classpath $(top_builddir) -friend '$(TGFRIEND);' \
+
+java/lang/Thread.h: java/lang/Thread.class libgcj.zip
+       $(GCJH) -classpath $(top_builddir) \
+               -prepend 'class _Jv_JNIEnv;' \
+               -prepend 'extern "Java" { namespace gnu { namespace gcj { namespace jni { class NativeThread; } } } };' \
+               -friend '_Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();' \
+               -friend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \
+               -friend 'class gnu::gcj::jni::NativeThread;' \
                $(basename $<)
 
 java/lang/String.h: java/lang/String.class libgcj.zip
@@ -1223,10 +1537,17 @@ java/lang/String.h: java/lang/String.class libgcj.zip
            -friend 'jstring _Jv_AllocString (jsize);' \
            $(basename $<)
 
+java/lang/reflect/Constructor.h: java/lang/reflect/Constructor.class libgcj.zip
+       $(GCJH) -classpath $(top_builddir) \
+           -friend 'jmethodID _Jv_FromReflectedConstructor (java::lang::reflect::Constructor *);' \
+           -friend 'java::lang::Class;' \
+           -friend 'jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \
+           $(basename $<)
+
 java/lang/reflect/Field.h: java/lang/reflect/Field.class libgcj.zip
        $(GCJH) -classpath $(top_builddir) \
            -friend 'jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);' \
-           -friend 'jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID);' \
+           -friend 'jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean);' \
            -friend 'java::lang::Class;' \
            $(basename $<)
 
@@ -1234,10 +1555,26 @@ java/lang/reflect/Method.h: java/lang/reflect/Method.class libgcj.zip
        $(GCJH) -classpath $(top_builddir) \
            -friend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \
            -friend 'java::lang::Class;' \
+           -friend 'jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);' \
            $(basename $<)
 
-maintainer-check: libgcj.a
-       $(NM) libgcj.a | grep ' T ' \
+gnu/gcj/runtime/VMClassLoader.h: gnu/gcj/runtime/VMClassLoader.class libgcj.zip
+       $(GCJH) -classpath $(top_builddir) \
+           -friend 'java::lang::ClassLoader;' \
+           $(basename $<)
+
+install-data-local:
+       $(PRE_INSTALL)
+       @for f in $(nat_headers) $(extra_headers); do \
+         d="`echo $$f | sed -e 's,/[^/]*$$,,'`"; \
+         $(mkinstalldirs) $(DESTDIR)$(includedir)/$$d; \
+         if test -f $(srcdir)/$$f; then p=$(srcdir)/$$f; else p=$$f; fi; \
+         echo " $(INSTALL_DATA) $$p $(DESTDIR)$(includedir)/$$f"; \
+         $(INSTALL_DATA) $$p $(DESTDIR)$(includedir)/$$f; \
+       done
+
+maintainer-check: libgcj.la
+       $(NM) .libs/libgcj.a | grep ' T ' \
          | grep -v '4java' \
          | grep -v 'Jv' \
          | grep -v 'terminate__Fv' | grep -v 'unexpected__Fv'
@@ -1249,36 +1586,56 @@ header-check: libgcj.zip $(nat_headers)
        done; \
        $(CXXCOMPILE) -fsyntax-only htest.cc
 
+# The Unicode consortium does not permit re-distributing the file JIS0201.TXT.
+# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
+
+$(srcdir)/$(CONVERT_DIR)/JIS0201.h:  # $(CONVERT_DIR)/JIS0201.TXT
+       echo '/* This file is automatically generated from Unicode tables */' > tmp-0201; \
+       tr  -d '\r' <$(CONVERT_DIR)/JIS0201.TXT \
+       | sed -n -e 's|\(0x..\).*\(0x....\).*#\(.*\)$$|MAP(0x00, \1, \2)  /*\3 */|p' \
+       >> tmp-0201; \
+       mv tmp-0201 $(srcdir)/$(CONVERT_DIR)/JIS0201.h
+
 # The Unicode consortium does not permit re-distributing the file JIS0208.TXT.
 # You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
 
-$(srcdir)/$(CONVERT_DIR)/JIS0208.h:  # JIS0208.TXT
-       echo '/* This file is autoamtically generated from Unicode tables */' > tmp-0208; \
-       sed -n -e 's|\(0x....\).*0x\(..\)\(..\).*\(0x....\).*#\(.*\).$$|MAP(0x\2, 0x\3, \4)  /*\5 */|p' \
-               <JIS0208.TXT >> tmp-0208; \
+$(srcdir)/$(CONVERT_DIR)/JIS0208.h:  # $(CONVERT_DIR)/JIS0208.TXT
+       echo '/* This file is automatically generated from Unicode tables */' > tmp-0208; \
+       tr  -d '\r' <$(CONVERT_DIR)/JIS0208.TXT \
+       | sed -n -e 's|\(0x....\).*0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\2, 0x\3, \4)  /*\5 */|p' \
+       >> tmp-0208; \
        mv tmp-0208 $(srcdir)/$(CONVERT_DIR)/JIS0208.h
 
 # The Unicode consortium does not permit re-distributing the file JIS0212.TXT.
 # You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
 
-$(srcdir)/$(CONVERT_DIR)/JIS0212.h:  # JIS0212.TXT
-       echo '/* This file is autoamtically generated from Unicode tables */' > tmp-0212; \
-       sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\).$$|MAP(0x\1, 0x\2, \3)  /*\4 */|p' \
-               <JIS0212.TXT >> tmp-0212; \
+$(srcdir)/$(CONVERT_DIR)/JIS0212.h:  # $(CONVERT_DIR)/JIS0212.TXT
+       echo '/* This file is automatically generated from Unicode tables */' > tmp-0212; \
+       tr  -d '\r' <$(CONVERT_DIR)/JIS0212.TXT \
+       | sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\1, 0x\2, \3)  /*\4 */|p' \
+       >> tmp-0212; \
        mv tmp-0212 $(srcdir)/$(CONVERT_DIR)/JIS0212.h
 
 $(CONVERT_DIR)/gen-from-JIS.o: $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
+               $(srcdir)/$(CONVERT_DIR)/JIS0201.h \
                $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
                $(srcdir)/$(CONVERT_DIR)/JIS0212.h
        $(COMPILE) -c -o $(CONVERT_DIR)/gen-from-JIS.o \
                $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c
 
+$(CONVERT_DIR)/make-trie.o: $(srcdir)/$(CONVERT_DIR)/make-trie.c
+       $(COMPILE) -c -o $(CONVERT_DIR)/make-trie.o \
+               $(srcdir)/$(CONVERT_DIR)/make-trie.c
+
 @NATIVE_TRUE@@MAINTAINER_MODE_TRUE@$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
 @NATIVE_TRUE@@MAINTAINER_MODE_TRUE@     ./gen-from-JIS JIS0208>$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc
 
 @NATIVE_TRUE@@MAINTAINER_MODE_TRUE@$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
 @NATIVE_TRUE@@MAINTAINER_MODE_TRUE@     ./gen-from-JIS JIS0212>$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc
 
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@$(srcdir)/$(CONVERT_DIR)/Unicode_to_JIS.cc: ./gen-from-JIS$(EXEEXT)
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@     ./gen-from-JIS toJIS>$(srcdir)/$(CONVERT_DIR)/Unicode_to_JIS.cc
+
 # Multilib support.
 .PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
        maintainer-clean-multi