Install hack workaround for failure of 'make all' in VPATH builds.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 1 May 2010 21:31:17 +0000 (21:31 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 1 May 2010 21:31:17 +0000 (21:31 +0000)
It appears that gmake gets confused if postgres.sgml is not present in
the working directory, and instantiates some default rule or other that
would let postgres.sgml be built from postgres.xml.  I haven't been able
to track down exactly where that's coming from, but the problem can be
dodged by specifying srcdir explicitly in the rule for postgres.xml.
Per report from Vladimir Kokovic.

doc/src/sgml/Makefile

index 12cb38bb67cb4bbd6289948091c3134f876bf56d..188afc13a0d4dda98749142d6fd69894c8ce51c1 100644 (file)
@@ -2,7 +2,7 @@
 #
 # PostgreSQL documentation makefile
 #
-# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.141 2010/05/01 18:15:07 tgl Exp $
+# $PostgreSQL: pgsql/doc/src/sgml/Makefile,v 1.142 2010/05/01 21:31:17 tgl Exp $
 #
 #----------------------------------------------------------------------------
 
@@ -222,7 +222,10 @@ regress_README.html: regress.sgml
 ## XSLT processing
 ##
 
-postgres.xml: postgres.sgml $(ALMOSTALLSGML)
+# For obscure reasons, gmake 3.81 complains about circular dependencies
+# if we try to do "make all" in a VPATH build without the explicit
+# $(srcdir) on the postgres.sgml dependency in this rule.  gmake bug?
+postgres.xml: $(srcdir)/postgres.sgml $(ALMOSTALLSGML)
    $(OSX) -D. -x lower $< >postgres.xmltmp
    $(PERL) -p -e 's/\[(amp|copy|egrave|gt|lt|mdash|nbsp|ouml|pi|quot|uuml) *\]/\&\1;/g;' \
               -e '$$_ .= qq{<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">\n} if $$. == 1;' \