X-Git-Url: https://git.distorted.org.uk/~mdw/mdw-cross/blobdiff_plain/f73a878fd1af16c6cf9b2d153b51753374f1a159..f96afdc7a1599a53e59b22059b0d9e9edda4e950:/Makefile diff --git a/Makefile b/Makefile index 5c1ffc1..4505f83 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 = cross crosstool cross-run BINSCRIPTS = $(addprefix bin/,$(SCRIPTS)) TARGETS += $(BINSCRIPTS) $(BINSCRIPTS): bin/%: src/%.in @@ -63,7 +63,7 @@ TARGETS += etc/config.sh etc/config.sh: Makefile $(V_AT)mkdir -p $(dir $@) $(call v_tag,GEN){ \ - echo '### -*-sh-*- GENERATED by mdw-cross/Makefile'; \ + echo '### -*-sh-*- GENERATED by CROSS/Makefile'; \ $(foreach v,$(CONFIG_VARS), \ echo $(call fix,$v)=$(call quote,$(call quote,$($v)));) \ } >$@.new && mv $@.new $@ @@ -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/cross $* $(ARGS),$*) +.PHONY: run $(addprefix run/,$(ARCHS)) + +run-make: $(addprefix run-make/,$(ARCHS)) +$(addprefix run-make/,$(ARCHS)): run-make/%: + @+$(call run-program,$(CROSSDIR)/bin/cross $* $(MAKE) -C$(DIR) $(ARGS),$*) +.PHONY: run-make $(addprefix run-make/,$(ARCHS)) + show:; : $(VAR)