.PHONY: get test
-all: get
+RUN_MODE := $(shell . functions/version && check_hvlinux_version)
-# Fetch packages from network
-get:
- @for k in $$(seq 0 5); do \
- make -C stage$${k} $(MAKECMDGOALS); \
- done
+ifeq ($(RUN_MODE),HOST)
+ STAGES := 0 1
+else ifeq ($(RUN_MODE),NATIVE)
+ STAGES := 2 3 4 5
+else
+ $(error Unable to determine run mode.)
+endif
+
+ifeq ($(MAKECMDGOALS),get)
+ STAGES := $(shell seq 0 5)
+endif
+ifeq ($(MAKECMDGOALS),test)
+ STAGES := $(shell seq 0 5)
+endif
-# Test integrity of packages
-test:
- @for k in $$(seq 0 6); do \
- make -C stage$${k} $(MAKECMDGOALS); \
+all:
+ @for k in $(STAGES); do \
+ make -C stage$${k} $(MAKECMDGOALS) || exit 1; \
done
+
+$(MAKECMDGOALS): all