X-Git-Url: https://git.distorted.org.uk/~mdw/mdw-cross/blobdiff_plain/f73a878fd1af16c6cf9b2d153b51753374f1a159..6cb0a33a221e7d98629e10cb3d77c94772951410:/Makefile diff --git a/Makefile b/Makefile index 5c1ffc1..cc63a45 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ $(SETUPS): etc/%-setup.sh: $$(call setup-flavour,$$*)-setup.sh.in Makefile $(call v_tag,SED)sed 's/@arch@/$($*_ARCH)/g' $< >$@.new && \ mv $@.new $@ -SCRIPTS = mdw-cross crosstool +SCRIPTS = mdw-cross crosstool cross-run BINSCRIPTS = $(addprefix bin/,$(SCRIPTS)) TARGETS += $(BINSCRIPTS) $(BINSCRIPTS): bin/%: src/%.in @@ -73,4 +73,24 @@ all:: $(TARGETS) CLEANFILES += $(TARGETS) clean::; rm -f $(CLEANFILES) +run-program = exec 8>&1 && rc=$$( exec 7>&1 && \ + { exec 9>&1 && \ + { ($1 9>&-; echo $$? >&7) | \ + while IFS= read -r line; \ + do printf >&9 "%-21s | %s\n" "$2" "$$line"; done; } 2>&1 | \ + while IFS= read -r line; \ + do printf >&9 "%-21s * %s\n" "$2" "$$line"; done; } | cat >&8 ) && \ + exit $$rc + +run: $(addprefix run/,$(ARCHS)) +$(addprefix run/,$(ARCHS)): run/%: + @cd $(DIR) && \ + $(call run-program,$(CROSSDIR)/bin/mdw-cross $* $(ARGS),$*) +.PHONY: run $(addprefix run/,$(ARCHS)) + +run-make: $(addprefix run-make/,$(ARCHS)) +$(addprefix run-make/,$(ARCHS)): run-make/%: + @+$(call run-program,$(CROSSDIR)/bin/mdw-cross $* $(MAKE) -C$(DIR) $(ARGS),$*) +.PHONY: run-make $(addprefix run-make/,$(ARCHS)) + show:; : $(VAR)