Dynamically find correct installation docs in Makefile.
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 19 Jan 2022 13:48:25 +0000 (14:48 +0100)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 19 Jan 2022 13:48:25 +0000 (14:48 +0100)
The base Makefile will output help to the user when invoking make in
an unconfigured tree, the help was however always referring to a file
which may not be present as it's only in tarballs.  Dynamically check
for the presence of the INSTALL file and fall back on README.git when
it's not available (which is the case of Git checkouts).

Reported-by: Tim McNamara <tim@mcnamara.nz>
Reviewed-by: Magnus Hagander <magnus@hagander.net>
Reviewed-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/730dae39-abaa-4140-893b-95d732fed003@www.fastmail.com

Makefile

index 99dcfff654dc2c3e22e801913453dbb1be93db92..c66fb3027b8ddb00fb779af1f4f9f6c9afc8f045 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -17,8 +17,14 @@ all:
 
 all check install installdirs installcheck installcheck-parallel uninstall clean distclean maintainer-clean dist distcheck world check-world install-world installcheck-world:
    @if [ ! -f GNUmakefile ] ; then \
+      if [ -f INSTALL ] ; then \
+        INSTRUCTIONS="INSTALL"; \
+      else \
+        INSTRUCTIONS="README.git"; \
+      fi; \
       echo "You need to run the 'configure' program first. See the file"; \
-      echo "'INSTALL' for installation instructions." ; \
+      echo "'$$INSTRUCTIONS' for installation instructions, or visit: " ; \
+      echo "<https://www.postgresql.org/docs/devel/installation.html>" ; \
       false ; \
     fi
    @IFS=':' ; \