Skip to content

Commit

Permalink
Makefile: remove inclusion which leads to confusing errors
Browse files Browse the repository at this point in the history
This line gives some bad errors whenever ocamlfind is not in the
PATH or the visitors package is not installed, and may carry on
with the Makefile regardless of that failure (attempting to include
/Makefile.preprocess along the way).

	$ make
	make: ocamlfind: No such file or directory
	Makefile:2: /Makefile.preprocess: No such file or directory
	make: *** No rule to make target '/Makefile.preprocess'.  Stop.

This patch makes the Makefile provide more helpful errors in both these
situations:

	$ make
	make: ocamlfind: No such file or directory
	Makefile:7: *** "'ocamlfind query' failed, please install OCaml and put it in your PATH.  Stop.

	$ make
	ocamlfind: Package `visitors' not found
	Makefile:11: *** "'ocamlfind query visitors' failed, please 'opam install visitors'.  Stop.
  • Loading branch information
mtzguido committed Oct 14, 2024
1 parent 9de4665 commit 1a12f88
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Including a Makefile from the visitors package, but making sure
# to give decent errors.

# make src/Ast.processed.ml
include $(shell ocamlfind query visitors)/Makefile.preprocess
_:=$(shell ocamlfind query)
ifneq ($(.SHELLSTATUS),0)
_: $(error "'ocamlfind query' failed, please install OCaml and put it in your PATH)
endif
visitors_root:=$(shell ocamlfind query visitors)
ifneq ($(.SHELLSTATUS),0)
_: $(error "'ocamlfind query visitors' failed, please 'opam install visitors')
endif
include $(visitors_root)/Makefile.preprocess

.PHONY: all minimal clean test pre krmllib install

Expand Down

0 comments on commit 1a12f88

Please sign in to comment.