diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk index 4ce8ed7..c700751 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk @@ -2,9 +2,7 @@ define __mb-flow-assert-grep-binary-x .RECIPEPREFIX := $(MB_@RECIPE) -$(1)/@$(5)-deps:: $(1)/@assert/$(5)/$(2) - -$(1)/@assert/$(5)/$(2): $(1)/@build +$(1)/@assert/$(5)/$(2): $(1)/@$(5) $(MB_@RECIPE)@echo -n "$(MB_I18N_OS_CRAYON_TAG) " $(MB_@RECIPE)grep --colour$(MB_MAKE_EQUALS)auto -U "$(4)" $(1)/$(3) $(MB_@RECIPE)$$(call mb-make-call,mb-os-echo-assert,$$(MB_I18N_ASSERT_SUCCESS) $(1)/@assert/$(2)/$(5)) @@ -13,6 +11,7 @@ $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-assert,$(1)/@assert/$ $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(1)/@assert/$(5)/$(2)) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,$(5),$(1)/@assert/$(5)/$(2)) +$(1)/@$(5)-deps:: $(1)/@assert/$(5)/$(2) .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef define mb-flow-assert-grep-binary-test @@ -30,10 +29,7 @@ $(call mb-make-call,mb-doc-function-flow,mb-flow-assert-grep-binary-package-qa,I define __mb-flow-assert-msxpipe-grep-x .RECIPEPREFIX := $(MB_@RECIPE) -$(1)/@$(5)-deps:: $(1)/@assert/$(5)/$(2) -$(7)/@@init-deps:: $(1)/@build - -$(1)/@assert/$(5)/$(2): $(7)/@build +$(1)/@assert/$(5)/$(2): $(7)/@$(5) $(MB_@RECIPE)$$(if $$(wildcard $(7)/$(3).out),,$$(call mb-make-call,mb-os-file-delete,$(7)/$(3).out)) $(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-safe-assert,$(7),$(3) > $(3).out,$(6)) $(MB_@RECIPE)@echo -n "$(MB_I18N_OS_CRAYON_TAG) " @@ -44,17 +40,18 @@ $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-assert,$(1)/@assert/$ $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(1)/@assert/$(5)/$(2)) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,$(5),$(1)/@assert/$(5)/$(2)) +$(1)/@$(5)-deps:: $(1)/@assert/$(5)/$(2) .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef define mb-flow-assert-msxpipe-grep-test $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-check-arg5,$(0),$(1),$(2),$(3),$(4),$(5)) -$(MB_ᕽᕽᕽ   )$(eval $(call mb-make-call,mb-flow-clone-deps,$(1)$(MB_@WORK)_assert/$(notdir $(1))/test-$(3),$(1),$(2),$(6),$(7))) +$(MB_ᕽᕽᕽ   )$(eval $(call mb-make-call,mb-flow-clone-deps-proj-setup-orphan,$(1)$(MB_@WORK)_assert/$(notdir $(1))/test-$(3),$(1),$(2),$(6),$(7))) $(MB_ᕽᕽᕽ   )$(eval $(call mb-make-call,__mb-flow-assert-msxpipe-grep-x,$(1),$(3),$(4),$(5),@test,$(7),$(1)$(MB_@WORK)_assert/$(notdir $(1))/test-$(3))) endef $(call mb-make-call,mb-doc-function-flow,mb-flow-assert-msxpipe-grep-test,Inject flow of single grep assert., [packages] [machine]) define mb_flow-assert-msxpipe-grep-package-qa $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-check-arg5,$(0),$(1),$(2),$(3),$(4),$(5)) -$(MB_ᕽᕽᕽ   )$(eval $(call mb-make-call,mb-flow-clone-deps,$(1)$(MB_@WORK)_assert/$(notdir $(1))/package-qa-$(3),$(1),$(2),$(6),$(7))) +$(MB_ᕽᕽᕽ   )$(eval $(call mb-make-call,mb-flow-clone-deps-proj-setup-orphan,$(1)$(MB_@WORK)_assert/$(notdir $(1))/package-qa-$(3),$(1),$(2),$(6),$(7))) $(MB_ᕽᕽᕽ   )$(eval $(call mb-make-call,__mb-flow-assert-msxpipe-grep-x,$(1),$(3),$(4),$(5),@package-qa,$(7),$(1)$(MB_@WORK)_assert/$(notdir $(1))/package-qa-$(3))) endef $(call mb-make-call,mb-doc-function-flow,mb-flow-assert-msxpipe-grep-package-qa,Inject flow of single grep assert., [packages] [machine]) diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk index d1402f9..7001755 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk @@ -2,20 +2,44 @@ define __mb-flow-clone-deps .RECIPEPREFIX := $(MB_@RECIPE) -$(1)/%: $(2)/% $(1)/@prepare +$(1)/%: $(2)/% $(MB_@RECIPE)$$(call mb-make-call,mb-os-file-copy,$$<,$$@) -$(1)/@@process-deps:: $(4) -$(MB_@RECIPE)$$(call mb-make-call,mb-os-echo-remark,$(MB_I18N_FLOW_CLONE_REPORT) $$(words $$^)) +#$(1)/@@process-deps:: $(4) +#$(MB_@RECIPE)$$(call mb-make-call,mb-os-echo-remark,$(MB_I18N_FLOW_CLONE_REPORT) $$(words $$^)) .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef -define mb-flow-clone-deps +define __mb-flow-clone-deps-chain +.RECIPEPREFIX := $(MB_@RECIPE) +$(1): $(MB_@INCLUDE_CHAIN) +MB_@INCLUDE_CHAIN :$(MB_MAKE_EQUALS) $(1) +.RECIPEPREFIX := $(MB_@RECIPEPREFIX) +endef + + +define mb-flow-clone-deps-proj-setup $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-check-arg3,$(0),$(1),$(2),$(3)) -$(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-flow-proj-setup,$(1),@init,$(1)) +$(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-flow-proj-setup,$(1),$(2)/@build,$(1)) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-flow-proj-module-run,$(1),$(5)) $(MB_ᕽᕽᕽ   )$(if $(4),$(call mb-make-call,mb-flow-proj-prepare-packages,$(1),$(4))) -$(MB_ᕽᕽᕽ   )$(eval $(call mb-make-call,__$(0),$(1),$(2),$(3),$(call mb-make-call,mb-make-module-local-deps,$(1),$(3)))) +$(MB_ᕽᕽᕽ   )$(eval $(call mb-make-call,__mb-flow-clone-deps,$(1),$(2),$(3),$(call mb-make-call,mb-make-module-local-deps,$(1),$(3)))) +$(MB_ᕽᕽᕽ   )$(eval MB_@INCLUDE_CHAIN :$(MB_MAKE_EQUALS) $(1)/@@prepare) +$(MB_ᕽᕽᕽ   )$(foreach _dep,$(call mb-make-call,mb-make-module-local-deps,$(1),$(3)),$(eval $(call mb-make-call,__mb-flow-clone-deps-chain,$(_dep)))) +$(MB_ᕽᕽᕽ   )$(eval $(1)/@@prepare-deps:: $(MB_@INCLUDE_CHAIN)) endef -$(call mb-make-call,mb-doc-function-flow,mb-flow-clone-deps,Inject flow of file copy toolchain module., [packages] [machine]) +$(call mb-make-call,mb-doc-function-flow,mb-flow-clone-deps-proj-setup,Inject flow of file copy toolchain module., [packages] [machine]) + + +define mb-flow-clone-deps-proj-setup-orphan +$(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-check-arg3,$(0),$(1),$(2),$(3)) +$(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-flow-proj-setup-orphan,$(1),$(2)/@build,$(1)) +$(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-flow-proj-module-run,$(1),$(5)) +$(MB_ᕽᕽᕽ   )$(if $(4),$(call mb-make-call,mb-flow-proj-prepare-packages,$(1),$(4))) +$(MB_ᕽᕽᕽ   )$(eval $(call mb-make-call,__mb-flow-clone-deps,$(1),$(2),$(3),$(call mb-make-call,mb-make-module-local-deps,$(1),$(3)))) +$(MB_ᕽᕽᕽ   )$(eval MB_@INCLUDE_CHAIN :$(MB_MAKE_EQUALS) $(1)/@@prepare) +$(MB_ᕽᕽᕽ   )$(foreach _dep,$(call mb-make-call,mb-make-module-local-deps,$(1),$(3)),$(eval $(call mb-make-call,__mb-flow-clone-deps-chain,$(_dep)))) +$(MB_ᕽᕽᕽ   )$(eval $(1)/@@prepare-deps:: $(MB_@INCLUDE_CHAIN)) +endef +$(call mb-make-call,mb-doc-function-flow,mb-flow-clone-deps-proj-setup-orphan,Inject flow of file copy toolchain module., [packages] [machine]) diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_macro80.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_macro80.mk index 4c4b179..0e5cb8b 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_macro80.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_macro80.mk @@ -11,25 +11,21 @@ $(1)/@@process-deps:: $(1)/$(3).mac $(1)/$(3).mac: $(2)/$(3).mac | $(1)/@prepare $(MB_@RECIPE)$$(call mb-make-call,mb-conv-unix2dos,$(2)/$(3).mac,$(1)/$(3).mac) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).mac) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@process,$(1)/$(3).mac) $(1)/@@compile-deps:: $(1)/$(3).rel $(1)/$(3).rel: $(1)/$(3).mac $(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-safe-cmd,$(1),m80 $$(MB_MAKE_EQUALS)$(3)/Z) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).rel) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@compile,$(1)/$(3).rel) $(1)/@@link-deps:: $(1)/$(3).hex $(1)/$(3).hex: $(1)/$(3).rel $(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-safe-cmd,$(1),l80 $(3)$$(MB_MAKE_COMMA)$(3)/N/X/Y/E) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).hex) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@link,$(1)/$(3).hex) $(1)/@@build-deps:: $(1)/$(3).com $(1)/$(3).com: $(1)/$(3).hex $(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-safe-cmd,$(1),hextocom $(3)) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).com) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@build,$(1)/$(3).com) .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nestor80.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nestor80.mk index ab963cc..baada05 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nestor80.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_nestor80.mk @@ -6,19 +6,16 @@ $(1)/@@prepare-deps:: $(1)/$(3).mac $(1)/$(3).mac: $(2)/$(3).mac | $(1)/@init $(MB_@RECIPE)$$(call mb-make-call,mb-os-file-copy,$$<,$$@) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).mac) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@prepare,$(1)/$(3).mac) $(1)/@@compile-deps:: $(1)/$(3).rel $(1)/$(3).rel: $(1)/$(3).mac $(MB_@RECIPE)$$(call mb-make-call,mb-nestor80-compile,$$<,$$@) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).rel) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@compile,$(1)/$(3).rel) $(1)/@@link-deps:: $(1)/$(3).com $(1)/$(3).com: $(1)/$(3).rel $(MB_@RECIPE)$$(call mb-make-call,mb-nestor80-link-bdos,$$<,$$@) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).com) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@link,$(1)/$(3).com) .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk index a28ca33..a50ae04 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk @@ -17,8 +17,8 @@ $(call mb-make-call,mb-doc-variable,MB_PROJ_META_DESCRIPTION,The project descrip MB_PROJ_META_WEBSITE ?= $(call mb-make-call,mb-doc-variable,MB_PROJ_META_WEBSITE,The project website location.) -MB_PROJ_PHASE_ALL = @clean @init @prepare @process @compile @link @build @test @package @package-qa @package-deploy @all -$(call mb-make-call,mb-doc-variable-rock,MB_PROJ_PHASE_ALL,All the phases of an project with flow steps.) +MB_PROJ_PHASE_GROW_DEPS = @prepare @process @compile @link @build @test @package @package-qa @package-deploy @all +$(call mb-make-call,mb-doc-variable-rock,MB_PROJ_PHASE_GROW_DEPS,All the phases of an project with grow deps steps.) MB_PROJ_FIRE_MODULE_INIT ?= $(call mb-make-call,mb-doc-variable-flow,MB_PROJ_FIRE_MODULE_INIT,List of unique module project structure targets.) @@ -40,17 +40,17 @@ $(call mb-make-call,mb-doc-function-deep,mb-proj-grow-assert-success,Grow the su define mb-proj-grow-deps-phase $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2)) -$(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-check-value-valid,$(0),$(1),$(MB_PROJ_PHASE_ALL)) +$(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-check-value-valid,$(0),$(1),$(MB_PROJ_PHASE_GROW_DEPS)) $(MB_ᕽᕽᕽ   )$(eval @$(1)-deps:: $(2)) endef $(call mb-make-call,mb-doc-function-deep,mb-proj-grow-deps-phase,Grow the deps of the selected phase., ) define _mb-proj-flow-step-before -$(MB_ᕽᕽᕽ   )$(if $(filter $(subst @@,@,$@),$(MB_PROJ_PHASE_ALL)),$(call mb-make-call,mb-os-echo-phase,$(MB_I18N_PROJ_STEP_BEFORE) $@)) +$(MB_ᕽᕽᕽ   )$(if $(filter $(subst @@,@,$@),$(MB_PROJ_PHASE_GROW_DEPS) @clean @init),$(call mb-make-call,mb-os-echo-phase,$(MB_I18N_PROJ_STEP_BEFORE) $@)) endef define _mb-proj-flow-step-done -$(MB_ᕽᕽᕽ   )$(if $(filter $@,$(MB_PROJ_PHASE_ALL)),$(call mb-make-call,mb-os-echo-phase,$(MB_I18N_PROJ_STEP_AFTER) $@)) +$(MB_ᕽᕽᕽ   )$(if $(filter $@,$(MB_PROJ_PHASE_GROW_DEPS) @clean @init),$(call mb-make-call,mb-os-echo-phase,$(MB_I18N_PROJ_STEP_AFTER) $@)) $(MB_ᕽᕽᕽ   )$(if $(value MAKECMDGOALS),$(if $(filter $@,$(MAKECMDGOALS)),$(call mb-make-call,mb-os-echo-report,$(MB_I18N_PROJ_OPENMSX_COUNT) $(words $(MB_OPENMSX_FIRE_PIPE_SMOKE))))) $(MB_ᕽᕽᕽ   )$(if $(value MAKECMDGOALS),$(if $(filter $@,$(MAKECMDGOALS)),$(call mb-make-call,mb-os-echo-good,$(MB_I18N_PROJ_STEP_DONE) $@))) endef @@ -62,9 +62,7 @@ define __mb-flow-proj-setup $(3)@@clean: $(2) $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@@clean) -$(3)@@clean-deps:: $(2) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@@clean-deps) -$(3)@clean: $(3)@@clean $(3)@@clean-deps +$(3)@clean: $(3)@@clean $(MB_@RECIPE)$$(if $$(wildcard $(1)),$$(call mb-make-call,mb-os-echo-command,$$(MB_I18N_PROJ_DIR_DELETE) $(1))) $(MB_@RECIPE)$$(if $$(wildcard $(1)),$$(call mb-make-call,mb-os-dir-delete,$(1))) $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) @@ -74,9 +72,7 @@ $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@clean) $(3)@@init: $(2) $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@@init) -$(3)@@init-deps:: $(2) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@@init-deps) -$(3)@init: $(3)@@init $(3)@@init-deps +$(3)@init: $(3)@@init $(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb-make-call,mb-os-echo-command,$$(MB_I18N_PROJ_DIR_CREATE) $(1))) $(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb-make-call,mb-os-dir-create,$(1))) $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) @@ -92,6 +88,7 @@ $(3)@prepare: $(3)@@prepare $(3)@@prepare-deps $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@prepare,Prepare sources before processing.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@prepare) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@prepare,$(3)@prepare)) $(3)@@process: $(3)@prepare $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) @@ -102,6 +99,7 @@ $(3)@process: $(3)@@process $(3)@@process-deps $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@process,Process sources before compiling.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@process) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@process,$(3)@process)) $(3)@@compile: $(3)@process $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) @@ -112,6 +110,7 @@ $(3)@compile: $(3)@@compile $(3)@@compile-deps $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@compile,Compiles all project sources.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@compile) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@compile,$(3)@compile)) $(3)@@link: $(3)@compile $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) @@ -122,6 +121,7 @@ $(3)@link: $(3)@@link $(3)@@link-deps $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@link,Link all project intermediate files.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@link) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@link,$(3)@link)) $(3)@@build: $(3)@link $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) @@ -132,6 +132,7 @@ $(3)@build: $(3)@@build $(3)@@build-deps $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@build,Build all project artifacts.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@build) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@build,$(3)@build)) $(3)@@test: $(3)@build $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) @@ -143,6 +144,7 @@ $(MB_@RECIPE)$$(if $(3),,$$(call mb-make-call,mb-os-echo-report,$$(MB_I18N_PROJ_ $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@test,Run all assertion tests.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@test) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@test,$(3)@test)) $(3)@@package: $(3)@test $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) @@ -153,6 +155,7 @@ $(3)@package: $(3)@@package $(3)@@package-deps $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@package,Create all packages of project.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@package) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@package,$(3)@package)) $(3)@@package-qa: $(3)@package $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) @@ -164,6 +167,7 @@ $(MB_@RECIPE)$$(if $(3),,$$(call mb-make-call,mb-os-echo-report,$$(MB_I18N_PROJ_ $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@package-qa,Run all packages QA of project.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@package-qa) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@package-qa,$(3)@package-qa)) $(3)@@package-deploy: $(3)@package-qa $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) @@ -174,6 +178,7 @@ $(3)@package-deploy: $(3)@@package-deploy $(3)@@package-deploy-deps $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@package-deploy,Deploy all the packages.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@package-deploy) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@package-deploy,$(3)@package-deploy)) $(3)@@all: $(3)@package-qa $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before) @@ -185,6 +190,7 @@ $(MB_@RECIPE)$$(if $$(value MAKECMDGOALS),,$$(call mb-make-call,mb-os-echo-repor $(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@all,Run full build and package QA tests.) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(3)@all) +$(MB_ᕽᕽᕽ   )$$(if $(4),$$(call mb-make-call,mb-proj-grow-deps-phase,@all,$(3)@all)) .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef @@ -196,11 +202,18 @@ $(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB $(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_NAME)) $(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_DESCRIPTION)) $(MB_ᕽᕽᕽ   )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_WEBSITE)) -$(MB_ᕽᕽᕽ   )$(if $(filter $(if $(3),$(3)/@init,@init),$(MB_PROJ_FIRE_MODULE_INIT)),,$(eval $(call mb-make-call,__$(0),$(1),$(2),$(if $(3),$(3)/)))) +$(MB_ᕽᕽᕽ   )$(if $(filter $(if $(3),$(3)/@init,@init),$(MB_PROJ_FIRE_MODULE_INIT)),,$(eval $(call mb-make-call,__$(0),$(1),$(2),$(if $(3),$(3)/),$(if $(3),$(3)/)))) $(MB_ᕽᕽᕽ   )$(if $(3),,$(if $(MB_I18N),$(if $(filter off,$(MB_I18N)),,$(call mb-make-call,_$(0)-i18n)))) $(MB_ᕽᕽᕽ   )$(eval MB_PROJ_FIRE_MODULE_INIT $(MB_MAKE_APPEND) $(if $(3),$(3)/@init,@init)) endef $(call mb-make-call,mb-doc-function-flow,mb-flow-proj-setup,Inject flow of abstract project build cycle., [parent-glue] [bin-mod-dir]) +define mb-flow-proj-setup-orphan +$(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-check-arg1,$(0),$(1)) +$(MB_ᕽᕽᕽ   )$(if $(filter $(if $(3),$(3)/@init,@init),$(MB_PROJ_FIRE_MODULE_INIT)),,$(eval $(call mb-make-call,__mb-flow-proj-setup,$(1),$(2),$(if $(3),$(3)/)))) +$(MB_ᕽᕽᕽ   )$(eval MB_PROJ_FIRE_MODULE_INIT $(MB_MAKE_APPEND) $(if $(3),$(3)/@init,@init)) +endef +$(call mb-make-call,mb-doc-function-flow,mb-flow-proj-setup-orphan,Inject flow of abstract orphan project module., [parent-glue] [bin-mod-dir]) + define __mb-flow-proj-setup-i18n @@ -306,17 +319,19 @@ $(call mb-make-call,mb-doc-function-flow,mb-flow-proj-module-run,Inject flow mod define __mb-flow-proj-prepare-packages .RECIPEPREFIX := $(MB_@RECIPE) -$(1)/@@prepare-deps:: $(1)/@msxhub/$(2) -$(1)/@msxhub/$(2): @@module-msxhub +$(1)/@msxhub/$(2): $(MB_@INCLUDE_CHAIN) $(MB_@RECIPE)$$(if $$(wildcard $(1)$$(if $(3),/$(3))),,$$(call mb-make-call,mb-os-dir-create,$(1)$$(if $(3),/$(3)))) $(MB_@RECIPE)$$(call mb-make-call,mb-msxhub-get-$(2),$(1)$$(if $(3),/$(3))) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-make-target-phony,$(1)/@msxhub/$(2)) +$(MB_ᕽᕽᕽ   )MB_@INCLUDE_CHAIN :$(MB_MAKE_EQUALS) $(1)/@msxhub/$(2) .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef define mb-flow-proj-prepare-packages $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2)) +$(MB_ᕽᕽᕽ   )$(eval MB_@INCLUDE_CHAIN :$(MB_MAKE_EQUALS) $(1)/@@prepare) $(MB_ᕽᕽᕽ   )$(foreach _pack,$(2),$(eval $(call mb-make-call,__$(0),$(1),$(_pack),$(3)))) +$(MB_ᕽᕽᕽ   )$(eval $(1)/@@prepare-deps:: $(MB_@INCLUDE_CHAIN)) endef $(call mb-make-call,mb-doc-function-flow,mb-flow-proj-prepare-packages,Inject package fetch flow for module., [dest-dir]) diff --git a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk index b9ac61d..703eee9 100644 --- a/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk +++ b/lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk @@ -6,19 +6,16 @@ $(1)/@@compile-deps:: $(1)/$(3).rel $(1)/$(3).rel: $(2)/$(3).asm | $(1)/@prepare $(MB_@RECIPE)$$(call mb-make-call,mb-sdcc-compile-asm,$$<,$$@) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).rel) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@compile,$(1)/$(3).rel) $(1)/@@link-deps:: $(1)/$(3).hex $(1)/$(3).hex: $(1)/$(3).rel $(MB_@RECIPE)$$(call mb-make-call,mb-sdcc-link-asm-bdos,$$<,$$@) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).hex) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@link,$(1)/$(3).hex) $(1)/@@build-deps:: $(1)/$(3).com $(1)/$(3).com: $(1)/$(3).hex $(MB_@RECIPE)$$(call mb-make-call,mb-sdcc-objcopy,$$<,$$@) $(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-doc-target-deep,$(1)/$(3).com) -$(MB_ᕽᕽᕽ   )$$(call mb-make-call,mb-proj-grow-deps-phase,@build,$(1)/$(3).com) .RECIPEPREFIX := $(MB_@RECIPEPREFIX) endef diff --git a/lib/msxbuild.mk b/lib/msxbuild.mk index e85d07f..ae9a4f4 100644 --- a/lib/msxbuild.mk +++ b/lib/msxbuild.mk @@ -34,7 +34,7 @@ endif endif .PHONY: $(MB_@BASEPATH)$(1) include $(MB_@BASEPATH)$(1) -$(if $(MB_@INCLUDE_CHAIN),$(eval $(MB_@BASEPATH)$(1): $(MB_@INCLUDE_CHAIN))) +$(MB_@BASEPATH)$(1): $(MB_@INCLUDE_CHAIN) MB_@INCLUDE_CHAIN := $(MB_@BASEPATH)$(1) endef @@ -85,10 +85,9 @@ endif MB_@INCLUDE_CHAIN := # Glue phony targets to get internal @include tree (semi) correct (TODO: fix chain in: mb_flow_0module_setup) -.PHONY: @include @@include-root @@include-libs @@include-mods @@include-parent @@include-tree @@module-msxhub +.PHONY: @include @@include-root @@include-libs @@include-mods @@include-parent @@include-tree @@include-parent:: @@include-mods @include:: @@include-libs @@include-root -@@module-msxhub: @@include-libs # Document our internal variables, now we have the functions loaded $(MB_ᕽᕽᕽ )$(call mb-make-call,mb-doc-variable-rock,MB_@RECIPE,Recipe prefix to set and indent flow eval rules.) diff --git a/src/assert/msxrom/0module100.mk b/src/assert/msxrom/0module100.mk index 130490a..1bbacf6 100644 --- a/src/assert/msxrom/0module100.mk +++ b/src/assert/msxrom/0module100.mk @@ -8,7 +8,7 @@ $(call mb-make-call,mb-doc-variable,ASSERT_MSXROM_MATRIX,When on enabled matrix # Test matrix = 13 * 2 * 4 = 104 assertion tests -$(call mb-make-call,mb-flow-clone-deps,$(ASSERT_MSXROM_BIN),$(EXAMPLE_DIST_HELLO_BIN),$(EXAMPLE_DIST_HELLO_DEPS)) +$(call mb-make-call,mb-flow-clone-deps-proj-setup-orphan,$(ASSERT_MSXROM_BIN),$(EXAMPLE_DIST_HELLO_BIN),$(EXAMPLE_DIST_HELLO_DEPS)) ifeq ("$(ASSERT_MSXROM_MATRIX)", "on") $(foreach _rom,$(MB_MSXROM_FIRE_MACHINES),$(call mb-make-call,mb-flow-assert-msxpipe-grep-test,$(ASSERT_MSXROM_BIN),$(ASSERT_MSXROM_DEPS),$(_rom)-msxdos2-chk1,hello1,M80,msxdos2-boot,$(_rom))) $(foreach _rom,$(MB_MSXROM_FIRE_MACHINES),$(call mb-make-call,mb-flow-assert-msxpipe-grep-test,$(ASSERT_MSXROM_BIN),$(ASSERT_MSXROM_DEPS),$(_rom)-msxdos2-chk2,hello2,SDCC,msxdos2-boot,$(_rom))) diff --git a/src/example/dist-hello-qa-dos1/0module010.mk b/src/example/dist-hello-qa-dos1/0module010.mk index 1cffafd..d916038 100644 --- a/src/example/dist-hello-qa-dos1/0module010.mk +++ b/src/example/dist-hello-qa-dos1/0module010.mk @@ -3,7 +3,7 @@ EXAMPLE_DIST_HELLO_QA_DOS1_SRC := $(call mb-make-call,mb-make-module-path-sr EXAMPLE_DIST_HELLO_QA_DOS1_BIN := $(call mb-make-call,mb-make-module-path-bin,$(PATH_SRC),$(PATH_BIN)) -$(call mb-make-call,mb-flow-clone-deps,$(EXAMPLE_DIST_HELLO_QA_DOS1_BIN),$(EXAMPLE_DIST_HELLO_BIN),$(EXAMPLE_DIST_HELLO_DEPS),msxdos1-boot) +$(call mb-make-call,mb-flow-clone-deps-proj-setup-orphan,$(EXAMPLE_DIST_HELLO_QA_DOS1_BIN),$(EXAMPLE_DIST_HELLO_BIN),$(EXAMPLE_DIST_HELLO_DEPS),msxdos1-boot) $(EXAMPLE_DIST_HELLO_QA_DOS1_BIN)/@assert: $(EXAMPLE_DIST_HELLO_QA_DOS1_BIN)/@build diff --git a/src/example/dist-hello-qa-dos2/0module010.mk b/src/example/dist-hello-qa-dos2/0module010.mk index 36869c5..7b2ab49 100644 --- a/src/example/dist-hello-qa-dos2/0module010.mk +++ b/src/example/dist-hello-qa-dos2/0module010.mk @@ -3,7 +3,7 @@ EXAMPLE_DIST_HELLO_QA_DOS2_SRC := $(call mb-make-call,mb-make-module-path-sr EXAMPLE_DIST_HELLO_QA_DOS2_BIN := $(call mb-make-call,mb-make-module-path-bin,$(PATH_SRC),$(PATH_BIN)) -$(call mb-make-call,mb-flow-clone-deps,$(EXAMPLE_DIST_HELLO_QA_DOS2_BIN),$(EXAMPLE_DIST_HELLO_BIN),$(EXAMPLE_DIST_HELLO_DEPS),msxdos2-boot) +$(call mb-make-call,mb-flow-clone-deps-proj-setup-orphan,$(EXAMPLE_DIST_HELLO_QA_DOS2_BIN),$(EXAMPLE_DIST_HELLO_BIN),$(EXAMPLE_DIST_HELLO_DEPS),msxdos2-boot) $(EXAMPLE_DIST_HELLO_QA_DOS2_BIN)/@assert: $(EXAMPLE_DIST_HELLO_QA_DOS2_BIN)/@build diff --git a/src/example/dist-hello-qa-msx1/0module010.mk b/src/example/dist-hello-qa-msx1/0module010.mk index 778beff..96c6fcf 100644 --- a/src/example/dist-hello-qa-msx1/0module010.mk +++ b/src/example/dist-hello-qa-msx1/0module010.mk @@ -6,7 +6,7 @@ EXAMPLE_DIST_HELLO_QA_MSX1_MACHINE ?= Canon_V-20 $(call mb-make-call,mb-doc-variable,EXAMPLE_DIST_HELLO_QA_MSX1_MACHINE,The machine to run the msx1 qa module on.) -$(call mb-make-call,mb-flow-clone-deps,$(EXAMPLE_DIST_HELLO_QA_MSX1_BIN),$(EXAMPLE_DIST_HELLO_BIN),$(EXAMPLE_DIST_HELLO_DEPS),,$(EXAMPLE_DIST_HELLO_QA_MSX1_MACHINE)) +$(call mb-make-call,mb-flow-clone-deps-proj-setup-orphan,$(EXAMPLE_DIST_HELLO_QA_MSX1_BIN),$(EXAMPLE_DIST_HELLO_BIN),$(EXAMPLE_DIST_HELLO_DEPS),,$(EXAMPLE_DIST_HELLO_QA_MSX1_MACHINE)) $(EXAMPLE_DIST_HELLO_QA_MSX1_BIN)/@assert: $(EXAMPLE_DIST_HELLO_QA_MSX1_BIN)/@build diff --git a/src/example/dist-hello/0module001.mk b/src/example/dist-hello/0module001.mk index 427b63e..1b0830f 100644 --- a/src/example/dist-hello/0module001.mk +++ b/src/example/dist-hello/0module001.mk @@ -13,26 +13,30 @@ _$(MB_ᕽᕽᕽ  )$(if $(wildcard $(EXAMPLE_DIST_HELLO_BIN)),,$(call mb-make $(EXAMPLE_DIST_HELLO_BIN)/readme.txt: $(EXAMPLE_DIST_HELLO_SRC)/readme.txt | $(EXAMPLE_DIST_HELLO_BIN) _$(MB_ᕽᕽᕽ  )$(call mb-make-call,mb-conv-unix2dos,$<,$@) -$(call mb-make-call,mb-proj-grow-deps-phase,@process,$(EXAMPLE_DIST_HELLO_BIN)/readme.txt) -$(EXAMPLE_DIST_HELLO_BIN)/hello1.com: bin/example/hello-macro80/hello.com | $(EXAMPLE_DIST_HELLO_BIN) +$(EXAMPLE_DIST_HELLO_BIN)/hello1.com: bin/example/hello-macro80/hello.com | $(EXAMPLE_DIST_HELLO_BIN)/readme.txt _$(MB_ᕽᕽᕽ  )$(call mb-make-call,mb-os-file-copy,$<,$@) -$(EXAMPLE_DIST_HELLO_BIN)/hello2.com: bin/example/hello-sdcc-asm/hello.com | $(EXAMPLE_DIST_HELLO_BIN) +$(EXAMPLE_DIST_HELLO_BIN)/hello2.com: bin/example/hello-sdcc-asm/hello.com | $(EXAMPLE_DIST_HELLO_BIN)/hello1.com _$(MB_ᕽᕽᕽ  )$(call mb-make-call,mb-os-file-copy,$<,$@) -$(EXAMPLE_DIST_HELLO_BIN)/hello3.com: bin/example/hello-make4msx/hello.com | $(EXAMPLE_DIST_HELLO_BIN) +$(EXAMPLE_DIST_HELLO_BIN)/hello3.com: bin/example/hello-make4msx/hello.com | $(EXAMPLE_DIST_HELLO_BIN)/hello2.com _$(MB_ᕽᕽᕽ  )$(call mb-make-call,mb-os-file-copy,$<,$@) -$(EXAMPLE_DIST_HELLO_BIN)/hello4.com: bin/example/hello-nestor80/hello.com | $(EXAMPLE_DIST_HELLO_BIN) +$(EXAMPLE_DIST_HELLO_BIN)/hello4.com: bin/example/hello-nestor80/hello.com | $(EXAMPLE_DIST_HELLO_BIN)/hello3.com _$(MB_ᕽᕽᕽ  )$(call mb-make-call,mb-os-file-copy,$<,$@) $(EXAMPLE_DIST_HELLO_BIN)/@prepare: | $(EXAMPLE_DIST_HELLO_DEPS) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-doc-target,$(EXAMPLE_DIST_HELLO_BIN)/@prepare,Prepare folder with binaries for distribution.) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-target-phony,$(EXAMPLE_DIST_HELLO_BIN)/@prepare) -$(EXAMPLE_DIST_HELLO_OUT): | $(EXAMPLE_DIST_HELLO_BIN)/@prepare +$(EXAMPLE_DIST_HELLO_OUT): $(EXAMPLE_DIST_HELLO_BIN)/@prepare _$(MB_ᕽᕽᕽ  )$(call mb-make-call,mb-package-create-archive,$(EXAMPLE_DIST_HELLO_BIN),$@) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-doc-target,$(EXAMPLE_DIST_HELLO_OUT),Build archive distribution artifact.) $(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-proj-grow-deps-phase,@package,$(EXAMPLE_DIST_HELLO_OUT)) +# todo: convert to module +$(EXAMPLE_DIST_HELLO_BIN)/@build: $(EXAMPLE_DIST_HELLO_BIN)/@prepare +$(MB_ᕽᕽᕽ   )$(call mb-make-call,mb-make-target-phony,$(EXAMPLE_DIST_HELLO_BIN)/@build) + +