From c4a50e5669cc68576d9f9aaf3c0b6af0a28e0d8d Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Tue, 31 Mar 2020 17:18:42 +0200
Subject: [PATCH] [Makefile] compile even if tests/ is absent

---
 Makefile                       | 9 +++++++--
 share/Makefile.plugin.template | 2 +-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 491b6b62d61..977133d5e91 100644
--- a/Makefile
+++ b/Makefile
@@ -1413,8 +1413,13 @@ acsl_tests: byte
 	$(PRINT_EXEC) acsl_tests
 	find doc/speclang -name \*.c -exec ./bin/toplevel.byte$(EXE) {} \; > /dev/null
 
-LONELY_TESTS_ML_FILES:=\
-  $(sort $(shell find $(TEST_DIRS_AS_PLUGIN:%=tests/%) -not -path '*/\.*' -name '*.ml'))
+LONELY_TESTS_DIR:=$(wildcard $(TEST_DIRS_AS_PLUGIN:%=tests/%))
+ifeq ($(strip $(LONELY_TESTS_DIR)),)
+  LONELY_TESTS_ML_FILES:=
+else
+  LONELY_TESTS_ML_FILES:=\
+    $(sort $(shell find $(TEST_DIRS_AS_PLUGIN:%=tests/%) -not -path '*/\.*' -name '*.ml'))
+endif
 $(foreach file,$(LONELY_TESTS_ML_FILES),\
   $(eval $(file:%.ml=%.cmo): BFLAGS+=-I $(dir $(file))))
 $(foreach file,$(LONELY_TESTS_ML_FILES),\
diff --git a/share/Makefile.plugin.template b/share/Makefile.plugin.template
index 3745c5ab7ac..b3c44fc7601 100644
--- a/share/Makefile.plugin.template
+++ b/share/Makefile.plugin.template
@@ -899,7 +899,7 @@ $(@PLUGIN_NAME@_DIR)/@PLUGIN_NAME@_DEP_REDO $(@PLUGIN_NAME@_DIR)/.depend: \
 	    $(@PLUGIN_NAME@_ML_SRC) \
 	    $(@PLUGIN_NAME@_MLI) \
 	    $(@PLUGIN_NAME@_GUI_MLI)) \
-	  $(foreach d,$(@PLUGIN_NAME@_TESTS_LIB_DIR),\
+	  $(foreach d,$(wildcard $(@PLUGIN_NAME@_TESTS_LIB_DIR)),\
 	    -I $d $d*.ml $d*.mli) \
 	  > $(@PLUGIN_NAME@_DIR)/.depend
 	$(CHMOD_RO) $(@PLUGIN_NAME@_DIR)/.depend
-- 
GitLab