summaryrefslogtreecommitdiff
path: root/solenv/gbuild/source_and_rerun.mk
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/gbuild/source_and_rerun.mk')
-rw-r--r--solenv/gbuild/source_and_rerun.mk12
1 files changed, 7 insertions, 5 deletions
diff --git a/solenv/gbuild/source_and_rerun.mk b/solenv/gbuild/source_and_rerun.mk
index 0de1a9ddf35f..418acc593c17 100644
--- a/solenv/gbuild/source_and_rerun.mk
+++ b/solenv/gbuild/source_and_rerun.mk
@@ -1,11 +1,13 @@
-dummy:
- @if test -f ./config.mk; then . ./config.mk; else if test -f ../config.mk ; then . ../config.mk; fi; fi && \
- if test -f ./Env.Host.sh; then . ./Env.Host.sh; else if test -f ../Env.Host.sh; then . ../Env.Host.sh; fi ; fi && \
+gb_MAKEFILEDIR:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+source-env-and-recurse:
+ @if test -f $(gb_MAKEFILEDIR)/config.mk; then . $(gb_MAKEFILEDIR)/config.mk; else if test -f $(gb_MAKEFILEDIR)/../config.mk ; then . $(gb_MAKEFILEDIR)/../config.mk; fi; fi && \
+ if test -f $(gb_MAKEFILEDIR)/Env.Host.sh; then . $(gb_MAKEFILEDIR)/Env.Host.sh; else if test -f $(gb_MAKEFILEDIR)/../Env.Host.sh; then . $(gb_MAKEFILEDIR)/../Env.Host.sh; fi ; fi && \
if test -z "$${SOLARENV}"; then echo "No environment set!" 2>&1; exit 1; fi && \
- $(MAKE) $(MAKECMDGOALS)
+ $(MAKE) -f $(firstword $(MAKEFILE_LIST)) $(MAKECMDGOALS)
ifneq ($(strip $(MAKECMDGOALS)),)
-$(eval $(MAKECMDGOALS) : dummy)
+$(eval $(MAKECMDGOALS) : source-env-and-recurse)
endif