build: clearer diagnostic if "make" is invoked before "./configure"
authorStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 16 Feb 2012 18:52:37 +0000 (19:52 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 16 Feb 2012 18:52:58 +0000 (19:52 +0100)
Since a GNUmakefile wrapper has been introduced in our build
system, a "make" invocation issued before a "./configure" one
has caused GNU make to die with the cryptic message:

  GNUmakefile:18: Makefile: No such file or directory
  GNUmakefile:19: /syntax-checks.mk: No such file or directory
  make: *** No rule to make target `/syntax-checks.mk'.  Stop.

* GNUmakefile: Detect when we are being run from an unconfigured
tree, and give helpful diagnostic.

GNUmakefile

index 134e743..9d83dba 100644 (file)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-include ./Makefile
-include $(srcdir)/syntax-checks.mk
+# If the user runs GNU make but has not yet run ./configure,
+# give them an helpful diagnostic instead of a cryptic error.
+am--Makefile := $(wildcard Makefile)
+ifeq ($(am--Makefile),)
+  $(warning There seems to be no Makefile in this directory.)
+  $(warning You must run ./configure before running 'make'.)
+  $(error Fatal Error)
+else
+  include ./Makefile
+  include $(srcdir)/syntax-checks.mk
+endif