This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] I broke `make install' and `make dvi'
- From: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, Alexandre Oliva <aoliva at redhat dot com>, Jan-Benedict Glaw <jbglaw at lug-owl dot de>
- Date: Mon, 20 Feb 2006 13:51:45 +0100
- Subject: [PATCH] I broke `make install' and `make dvi'
The patch to allow make-ing unselected languages broke `make install'
and `make dvi'. The reason is that the install-info and dvi targets
were overridden in the Make-lang.in files using double-colon rules,
rather than using lang.target rules.
This patch fixes this problem, which got undetected because in my
development machine I don't check out Ada and I do not run `make
install', while on my testing machine I have an Ada compiler installed.
After this patch, we have:
~/cvs/gcc/gcc bonzinip$ grep '::' */Make-lang.in
~/cvs/gcc/gcc bonzinip$ grep '^[a-z0-9 ]*:' */Make-lang.in
Jan-Benedict Glaw reported the problem and is going to tell me if the
patch fixes his problem (which I could reproduce). Ok for mainline?
Paolo
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (target_list): Add install-info, dvi, html.
* ada/Make-lang.in, cp/Make-lang.in, fortran/Make-lang.in,
java/Make-lang.in, objc/Make-lang.in, objcp/Make-lang.in,
treelang/Make-lang.in: Do not use double-colon rules.
Index: configure.ac
===================================================================
--- configure.ac (revision 111295)
+++ configure.ac (working copy)
@@ -3359,7 +3359,7 @@ done
rm -f Make-hooks
touch Make-hooks
target_list="all.cross start.encap rest.encap tags \
- install-common install-man \
+ install-common install-man install-info dvi html \
uninstall info man srcextra srcman srcinfo \
mostlyclean clean distclean maintainer-clean \
stage1 stage2 stage3 stage4 stageprofile stagefeedback"
Index: ada/Make-lang.in
===================================================================
--- ada/Make-lang.in (revision 111299)
+++ ada/Make-lang.in (working copy)
@@ -23,7 +23,7 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi,
# foo.uninstall, foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
#
@@ -424,11 +424,11 @@ ada.info: $(ADA_INFOFILES)
ada.srcinfo: $(ADA_INFOFILES)
-$(CP) $^ $(srcdir)/doc
-install-info:: $(DESTDIR)$(infodir)/gnat_ugn_unw.info \
+ada.install-info: $(DESTDIR)$(infodir)/gnat_ugn_unw.info \
$(DESTDIR)$(infodir)/gnat_rm.info \
$(DESTDIR)$(infodir)/gnat-style.info
-dvi:: doc/gnat_ugn_unw.dvi \
+ada.dvi: doc/gnat_ugn_unw.dvi \
doc/gnat_rm.dvi doc/gnat-style.dvi
doc/gnat_ugn_unw.dvi: doc/gnat_ugn_unw.texi $(docdir)/include/fdl.texi \
Index: cp/Make-lang.in
===================================================================
--- cp/Make-lang.in (revision 111294)
+++ cp/Make-lang.in (working copy)
@@ -24,7 +24,7 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi,
# foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
Index: fortran/Make-lang.in
===================================================================
--- fortran/Make-lang.in (revision 111294)
+++ fortran/Make-lang.in (working copy)
@@ -27,7 +27,7 @@
# foo.all.cross, foo.start.encap, foo.rest.encap,
# foo.info
# foo.install-common, foo.install-info, foo.install-man,
-# foo.uninstall,
+# foo.uninstall, foo.install-info, foo.dvi, foo.html,
# foo.mostlyclean, foo.clean, foo.distclean, foo.extraclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
#
@@ -126,8 +126,8 @@ fortran.tags: force
etags --include TAGS.sub --include ../TAGS.sub
fortran.info: doc/gfortran.info
-dvi:: doc/gfortran.dvi
-html:: $(htmldir)/gfortran/index.html
+fortran.dvi: doc/gfortran.dvi
+fortran.html: $(htmldir)/gfortran/index.html
F95_MANFILES = doc/gfortran.1
@@ -199,7 +199,7 @@ fortran.install-common: install-finclude
fi ; \
fi
-install-info:: $(DESTDIR)$(infodir)/gfortran.info
+fortran.install-info: $(DESTDIR)$(infodir)/gfortran.info
fortran.install-man: $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext)
Index: java/Make-lang.in
===================================================================
--- java/Make-lang.in (revision 111294)
+++ java/Make-lang.in (working copy)
@@ -27,7 +27,7 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.html,
# foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
@@ -176,8 +176,8 @@ java.info: doc/gcj.info
java.srcinfo: doc/gcj.info
-cp -p $^ $(srcdir)/doc
-dvi:: doc/gcj.dvi
-html:: $(htmldir)/java/index.html
+java.dvi: doc/gcj.dvi
+java.html: $(htmldir)/java/index.html
JAVA_MANFILES = doc/gcj.1 doc/gcjh.1 doc/jv-scan.1 doc/jcf-dump.1 doc/gij.1 \
doc/jv-convert.1 doc/grmic.1 doc/grmiregistry.1 \
doc/gcj-dbtool.1 doc/gjnih.1
@@ -240,7 +240,7 @@ java.uninstall:
-rm -rf $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
-rm -rf $(DESTDIR)$(man1dir)/gcj-dbtool$(man1ext)
-install-info:: $(DESTDIR)$(infodir)/gcj.info
+java.install-info: $(DESTDIR)$(infodir)/gcj.info
#
# Clean hooks:
Index: objc/Make-lang.in
===================================================================
--- objc/Make-lang.in (revision 111294)
+++ objc/Make-lang.in (working copy)
@@ -23,7 +23,7 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi,
# foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
Index: objcp/Make-lang.in
===================================================================
--- objcp/Make-lang.in (revision 111294)
+++ objcp/Make-lang.in (working copy)
@@ -23,7 +23,7 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi,
# foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
Index: treelang/Make-lang.in
===================================================================
--- treelang/Make-lang.in (revision 111294)
+++ treelang/Make-lang.in (working copy)
@@ -24,7 +24,7 @@
# Each language makefile fragment must provide the following targets:
#
# foo.all.cross, foo.start.encap, foo.rest.encap,
-# foo.install-common, foo.install-man,
+# foo.install-common, foo.install-man, foo.install-info, foo.dvi, foo.html,
# foo.uninstall,
# foo.mostlyclean, foo.clean, foo.distclean,
# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
@@ -158,7 +158,7 @@ treelang.info: doc/treelang.info
treelang.srcinfo: doc/treelang.info
-cp -p $^ $(srcdir)/doc
-dvi:: doc/treelang.dvi
+treelang.dvi: doc/treelang.dvi
TEXI_TREELANG_FILES = treelang/treelang.texi \
$(docdir)/include/gcc-common.texi \
@@ -173,7 +173,7 @@ doc/treelang.info: $(TEXI_TREELANG_FILES
doc/treelang.dvi: $(TEXI_TREELANG_FILES)
$(TEXI2DVI) -I $(abs_docdir)/include -o $@ $<
-html:: $(htmldir)/treelang/index.html
+treelang.html: $(htmldir)/treelang/index.html
$(htmldir)/treelang/index.html: $(TEXI_TREELANG_FILES)
$(mkinstalldirs) $(@D)
@@ -203,7 +203,7 @@ treelang.install.common.done: installdi
$(STAMP) treelang.install.common.done
# We might not be able to build the info files
-install-info:: $(DESTDIR)$(infodir)/treelang.info
+treelang.install-info: $(DESTDIR)$(infodir)/treelang.info
treelang.install-man: