Makefile.am: Re-work shell commands that exceeded command-line length limits.
authorAlexandre Oliva <aoliva@redhat.com>
Thu, 14 Sep 2000 19:24:08 +0000 (19:24 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Thu, 14 Sep 2000 19:24:08 +0000 (19:24 +0000)
* Makefile.am: Re-work shell commands that exceeded command-line
length limits.
* Makefile.in: Rebuilt.

From-SVN: r36416

libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in

index b998b4a698ea69bf802dfc421cc2051019cabadc..6327de5be460ea96852d1a5fc60df4393f3bb51e 100644 (file)
@@ -1,5 +1,9 @@
 2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
 
+       * Makefile.am: Re-work shell commands that exceeded command-line
+       length limits.
+       * Makefile.in: Rebuilt.
+
        * java/lang/natRuntime.cc (lt_preloaded_symbols): Define as `extern'.
 
        * defineclass.cc: Include alloca.h only if HAVE_ALLOCA_H.
index 909d8f0a43bd1f925a402d592796012c87e2af68..8c5c41a50d262029eae8ce218ffa5df45de648f0 100644 (file)
@@ -142,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.
@@ -153,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.
index 2f467975ef640ec1140c1d5f3d5796bded131441..924e2663790557d4c720faa8acf28aa6aa390434 100644 (file)
@@ -207,7 +207,7 @@ libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) \
 libgcj_la_LINK = $(LIBLINK)
 
 MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files)
-CLEANFILES = libgcj.zip
+CLEANFILES = tmp-list libgcj.zip
 
 SUFFIXES = .class .java .h
 
@@ -2060,16 +2060,22 @@ mostlyclean distclean maintainer-clean
 $(java_source_files:.java=.class): libgcj.zip
 
 $(built_java_source_files:.java=.class): $(built_java_source_files)
-       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
 
 libgcj.zip: $(java_source_files)
+       @: $(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))
        $(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
+       @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
        $(ZIP) -r libgcj java gnu -n .class -i '*.class' -i '*/'
 
 clean-local: