* dbxout.c (dbxout_source_line): Remove extra tab.
[gcc.git] / libjava / Makefile.am
index ebf25e26561aec815cf0bb7b29d2b9d0e697a6ac..36ea2d07f0c7e59447c91f23aaf5140e239df0be 100644 (file)
@@ -51,10 +51,8 @@ if CANADIAN
 if NULL_TARGET
 ## In this case, gcj is found outside the build tree.  However, zip is
 ## found in the build tree.
-GCJ = gcj
 ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
 else
-GCJ = $(target_alias)-gcj
 ZIP = zip
 endif
 GCJH = gcjh
@@ -63,13 +61,11 @@ else # CANADIAN
 ## (due to problems running it in builddir).  In this case the obvious
 ## definition of GCJ won't work; instead we resort to this ugly
 ## definition that gives us absolute paths.
-expanded = `cd $(MULTIBUILDTOP)../$(COMPPATH)/gcc && pwd`
-GCJ = $(expanded)/gcj$(EXEEXT) -B$(expanded)/
 GCJH = $(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT)
 ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
 endif # CANADIAN
 
-GCJCOMPILE = CLASSPATH=$(here) $(LIBTOOL) --mode=compile $(GCJ) -fassume-compiled -L$(here) $(JC1FLAGS) -c
+GCJCOMPILE = $(LIBTOOL) --mode=compile $(GCJ) -fassume-compiled -fclasspath=$(here) -L$(here) $(JC1FLAGS) -c
 GCJLINK = $(LIBTOOL) --mode=link $(GCJ) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
 LIBLINK = $(LIBTOOL) --mode=link $(CC) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
 
@@ -84,6 +80,8 @@ WARNINGS = -W -Wall
 ## currently broken with respect to exception handling in leaf
 ## functions.
 AM_CXXFLAGS = -fno-rtti -fvtable-thunks -fasynchronous-exceptions \
+## Some systems don't allow `$' in identifiers by default, so we force it.
+       -fdollars-in-identifiers \
        @LIBGCJ_CXXFLAGS@ @EXCEPTIONSPEC@ $(WARNINGS) -D_GNU_SOURCE
 if USING_GCC
 AM_CFLAGS = @LIBGCJ_CFLAGS@ $(WARNINGS)
@@ -144,9 +142,12 @@ $(java_source_files:.java=.class): libgcj.zip
 $(built_java_source_files:.java=.class): $(built_java_source_files)
 ## This little nastiness is here so that the backquoted stuff in the
 ## GCJ definition can be correctly expanded, if required.
-       javac="$(JAVAC)"; \
-       $$javac -L$(here) $(JCFLAGS) -classpath $(here):`cd $(srcdir) && /bin/pwd` \
-         -d $(here) $?
+       @javac="$(JAVAC)"; \
+       for f in $?; do \
+         echo $$javac -L$(here) $(JCFLAGS) -classpath $(here):`cd $(srcdir) && /bin/pwd` -d $(here) $$f; \
+         $$javac -L$(here) $(JCFLAGS) -classpath $(here):`cd $(srcdir) && /bin/pwd` \
+         -d $(here) $$f; \
+       done
 
 ## We have the zip file depend on the java sources and not the class
 ## files, because we don't know the names of all the class files.
@@ -155,20 +156,24 @@ $(built_java_source_files:.java=.class): $(built_java_source_files)
 ## `make libgcj.zip' will not rebuilt foo.class.  That's because
 ## libgcj.zip is not out-of-date with respect to foo.java.
 libgcj.zip: $(java_source_files)
+## Create a list of all Java sources, without exceeding any shell limits.
+       @: $(shell echo Creating list of files to compile...) $(shell rm -f tmp-list || :) $(shell touch tmp-list) $(foreach source,$(subst $(srcdir)/,,$?),$(shell echo $(source) >> tmp-list))
 ## FIXME: this ought to depend on built_java_source_files, but right
 ## now it can't.  Ugly.
        $(MAKE) $(built_java_source_files:.java=.class)
 ## This little nastiness is here so that the backquoted stuff in the
 ## GCJ definition can be correctly expanded, if required.
-       javac="$(JAVAC)"; cd $(srcdir); \
-         $$javac $(JCFLAGS) -classpath $(here):`/bin/pwd` -d $(here) \
-           $(subst $(srcdir)/,,$?)
-       -@rm -f libgcj.zip
+       @javac="$(JAVAC)"; dir=`/bin/pwd`; cd $(srcdir); \
+         for f in `cat $$dir/tmp-list`; do \
+           echo $$javac $(JCFLAGS) -classpath $(here):`/bin/pwd` -d $(here) $$f; \
+           $$javac $(JCFLAGS) -classpath $(here):`/bin/pwd` -d $(here) $$f; \
+       done
+       -@rm -f tmp-list libgcj.zip
 ## Note that we explicitly want to include directory information.
        $(ZIP) -r libgcj java gnu -n .class -i '*.class' -i '*/'
 
 MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files)
-CLEANFILES = libgcj.zip
+CLEANFILES = tmp-list libgcj.zip
 
 clean-local:
 ## We just remove every .class file that was created.
@@ -225,6 +230,7 @@ $(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);' \
+               -friend 'void _Jv_RunMain (const char *name, int argc, const char **argv, bool is_jar);' \
                $(basename $<)
 
 ## Our internal main program needs to be able to create a FirstThread.
@@ -243,9 +249,6 @@ java/lang/Thread.h: java/lang/Thread.class libgcj.zip
                -friend '_Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();' \
                -friend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \
                -friend 'class gnu::gcj::jni::NativeThread;' \
-               -friend 'int _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, jlong millis, jint nanos);' \
-               -friend 'int _Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu);' \
-               -friend 'void _Jv_ThreadInterrupt (_Jv_Thread_t *data);' \
                $(basename $<)
 
 java/lang/String.h: java/lang/String.class libgcj.zip
@@ -730,6 +733,7 @@ gnu/gcj/protocol/http/Connection.java \
 gnu/gcj/protocol/http/Handler.java \
 gnu/gcj/protocol/jar/Connection.java \
 gnu/gcj/protocol/jar/Handler.java \
+gnu/gcj/runtime/FileDeleter.java \
 gnu/gcj/runtime/FirstThread.java \
 gnu/gcj/runtime/VMClassLoader.java \
 gnu/gcj/text/BaseBreakIterator.java \
@@ -809,8 +813,6 @@ java/io/PushbackInputStream.java \
 java/io/PushbackReader.java \
 java/io/RandomAccessFile.java \
 java/io/Reader.java \
-java/io/Replaceable.java \
-java/io/Resolvable.java        \
 java/io/SequenceInputStream.java \
 java/io/Serializable.java \
 java/io/SerializablePermission.java \
@@ -1029,7 +1031,10 @@ java/text/SimpleDateFormat.java  \
 java/text/StringCharacterIterator.java \
 java/util/AbstractCollection.java \
 java/util/AbstractList.java \
+java/util/AbstractMap.java \
+java/util/AbstractSequentialList.java \
 java/util/AbstractSet.java \
+java/util/ArrayList.java \
 java/util/Arrays.java \
 java/util/BasicMapEntry.java \
 java/util/BitSet.java \
@@ -1045,6 +1050,7 @@ java/util/Enumeration.java \
 java/util/EventListener.java \
 java/util/EventObject.java \
 java/util/GregorianCalendar.java \
+java/util/HashMap.java \
 java/util/Hashtable.java \
 java/util/Iterator.java        \
 java/util/List.java \
@@ -1063,9 +1069,13 @@ java/util/Random.java \
 java/util/ResourceBundle.java \
 java/util/Set.java \
 java/util/SimpleTimeZone.java \
+java/util/SortedMap.java \
+java/util/SortedSet.java \
 java/util/Stack.java \
 java/util/StringTokenizer.java \
 java/util/TimeZone.java        \
+java/util/Timer.java \
+java/util/TimerTask.java \
 java/util/TooManyListenersException.java \
 java/util/Vector.java \
 java/util/jar/Attributes.java \