diff --git a/apps/Makefile b/apps/Makefile index 6cea5268d..c27cc6465 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -11,6 +11,25 @@ apps = # (path to the apps header). $(foreach i,${apps_list},${eval include apps/$(i)/Makefile}) +app_equals = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) +# We list all the apps that are missing +apps_missing = $(foreach i, ${apps_list}, $(if $(call app_equals, apps/$(i)/Makefile, $(wildcard apps/$(i)/Makefile)),, $(i) ) ) + +# If the two doesn't match, we got an error. +ifneq ($(strip $(apps_missing)),) + miss_modules = 0 + + # Check if the missing apps are one that are supposed to be submodules + $(foreach i, $(SUBMODULES_APPS), $(if $(call app_equals, $(filter $(i), $(apps_missing)), $(i)), $(eval miss_modules=1))) + + ifeq ($(miss_modules), 1) + PLS_IGNORE := $(shell >&2 printf "\nSome submodules apps seem to be missing. To download them, assumming you git clone'd the repo, do\n") + PLS_IGNORE := $(shell >&2 printf " git submodule init\n") + PLS_IGNORE := $(shell >&2 printf " git submodule update\n\n") + endif + $(error Missing apps: $(strip $(apps_missing))) +endif + apps_src += $(addprefix apps/,\ alternate_empty_nested_menu_controller.cpp \ apps_container.cpp \ diff --git a/build/config.mak b/build/config.mak index dd0354e16..285dc9bf1 100644 --- a/build/config.mak +++ b/build/config.mak @@ -9,6 +9,7 @@ OMEGA_VERSION ?= 1.21.0 # OMEGA_USERNAME ?= N/A OMEGA_STATE ?= dev EPSILON_APPS ?= calculation rpn graph code statistics probability solver atom sequence regression settings external +SUBMODULES_APPS = atom rpn EPSILON_I18N ?= en fr nl pt it de es hu EPSILON_COUNTRIES ?= WW CA DE ES FR GB IT NL PT US EPSILON_GETOPT ?= 0