summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--lib/Makefile.am4
-rw-r--r--lib/Makefile.gcj5
-rwxr-xr-xlib/gen-classlist.sh.in4
-rwxr-xr-xlib/split-for-gcj.sh9
5 files changed, 22 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index c5db0f18f..0417dc463 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-08-22 Tom Tromey <tromey@redhat.com>
+
+ * lib/split-for-gcj.sh: Create Makefile.deps atomically.
+ * lib/gen-classlist.sh.in: Don't run split-for-gcj.sh.
+ * lib/Makefile.gcj (Makefile.deps): New target.
+ * lib/Makefile.am (compile-classes): Pass top_srcdir to
+ Makefile.gcj.
+
2005-08-22 Lillian Angel <langel@redhat.com>
* javax/swing/plaf/basic/BasicLookAndFeel.java:
diff --git a/lib/Makefile.am b/lib/Makefile.am
index d499640e2..a363a9cc2 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -125,7 +125,9 @@ if FOUND_GCJ
## builds.
compile-classes: classes $(JAVA_SRCS) Makefile
$(MAKE) -f $(srcdir)/Makefile.gcj \
- GCJ='$(GCJ)' compile_classpath='$(top_builddir):$(compile_classpath)'
+ GCJ='$(GCJ)' \
+ compile_classpath='$(top_builddir):$(compile_classpath)' \
+ top_srcdir=$(top_srcdir)
else
compile-classes: classes $(JAVA_SRCS) Makefile
$(JAVAC)
diff --git a/lib/Makefile.gcj b/lib/Makefile.gcj
index 815238f66..7bac691e8 100644
--- a/lib/Makefile.gcj
+++ b/lib/Makefile.gcj
@@ -17,6 +17,11 @@ all_deps_files := $(all_list_files:.list=.deps)
all: $(all_stamp_files)
+# Ensure this is rebuilt whenever the list of classes changes.
+# The list will always exist when this Makefile is used.
+Makefile.deps: classes
+ $(SHELL) $(top_srcdir)/lib/split-for-gcj.sh
+
-include Makefile.deps $(all_deps_files)
## Like GCJ but include some common flags.
diff --git a/lib/gen-classlist.sh.in b/lib/gen-classlist.sh.in
index 456696589..12845f2cc 100755
--- a/lib/gen-classlist.sh.in
+++ b/lib/gen-classlist.sh.in
@@ -85,10 +85,6 @@ if test "$new" = "true"; then
for i in `cat ${top_builddir}/lib/classes` ; do
echo $i "\\" >> ${top_builddir}/lib/java.dep
done
-
- if test -n "$GCJ"; then
- @SHELL@ ${top_srcdir}/lib/split-for-gcj.sh
- fi
fi
exit 0
diff --git a/lib/split-for-gcj.sh b/lib/split-for-gcj.sh
index 071529887..0f5ffaff2 100755
--- a/lib/split-for-gcj.sh
+++ b/lib/split-for-gcj.sh
@@ -26,7 +26,7 @@
# given file.
echo "Splitting for gcj"
-rm -f Makefile.deps > /dev/null 2>&1
+rm -f Makefile.dtmp > /dev/null 2>&1
test -d lists || mkdir lists
for dir in java javax gnu org; do
fgrep /$dir/ classes | while read file; do
@@ -35,8 +35,8 @@ for dir in java javax gnu org; do
echo "$file" >> ${list}.list.1
f2=`echo "$file" | sed -n -e "s,^.*/\($dir/.*\)$,\1,p"`
f2=`echo "$f2" | sed -e 's/.java$//'`.class
- echo "$f2: ${list}.stamp" >> Makefile.deps
- echo "${list}.list: $file" >> Makefile.deps
+ echo "$f2: ${list}.stamp" >> Makefile.dtmp
+ echo "${list}.list: $file" >> Makefile.dtmp
done
done
@@ -49,3 +49,6 @@ for file in lists/*.list.1; do
mv $file $real
fi
done
+
+# If we were run we must update Makefile.deps.
+mv Makefile.dtmp Makefile.deps