Converted to make style like "filter-out"
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 7s

This commit is contained in:
Willem Cazander 2024-07-16 16:45:37 +02:00
parent 0368032b98
commit 66990665fa
41 changed files with 1412 additions and 1399 deletions

View file

@ -1,322 +1,322 @@
MB_PROJ_META_GROUP_ID ?=
$(call mb_make_call,mb_doc_variable,MB_PROJ_META_GROUP_ID,"The project group id.")
$(call mb-make-call,mb-doc-variable,MB_PROJ_META_GROUP_ID,"The project group id.")
MB_PROJ_META_ARTIFACT_ID ?=
$(call mb_make_call,mb_doc_variable,MB_PROJ_META_ARTIFACT_ID,"The project artifact id.")
$(call mb-make-call,mb-doc-variable,MB_PROJ_META_ARTIFACT_ID,"The project artifact id.")
MB_PROJ_META_VERSION ?=
$(call mb_make_call,mb_doc_variable,MB_PROJ_META_VERSION,"The project version.")
$(call mb-make-call,mb-doc-variable,MB_PROJ_META_VERSION,"The project version.")
MB_PROJ_META_NAME ?=
$(call mb_make_call,mb_doc_variable,MB_PROJ_META_NAME,"The project name.")
$(call mb-make-call,mb-doc-variable,MB_PROJ_META_NAME,"The project name.")
MB_PROJ_META_DESCRIPTION ?=
$(call mb_make_call,mb_doc_variable,MB_PROJ_META_DESCRIPTION,"The project description.")
$(call mb-make-call,mb-doc-variable,MB_PROJ_META_DESCRIPTION,"The project description.")
MB_PROJ_META_WEBSITE ?=
$(call mb_make_call,mb_doc_variable,MB_PROJ_META_WEBSITE,"The project website location.")
$(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.")
$(call mb-make-call,mb-doc-variable-rock,MB_PROJ_PHASE_ALL,"All the phases of an project with flow 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.")
$(call mb-make-call,mb-doc-variable-flow,MB_PROJ_FIRE_MODULE_INIT,"List of unique module project structure targets.")
MB_PROJ_FIRE_MODULE_RUN ?=
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_FIRE_MODULE_RUN,"List of unique module project modules run targets.")
$(call mb-make-call,mb-doc-variable-flow,MB_PROJ_FIRE_MODULE_RUN,"List of unique module project modules run targets.")
MB_PROJ_FIRE_ASSERT_SUCCESS ?=
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_FIRE_ASSERT_SUCCESS,"Word count of total asserts successes.")
$(call mb-make-call,mb-doc-variable-flow,MB_PROJ_FIRE_ASSERT_SUCCESS,"Word count of total asserts successes.")
define mb_proj_grow_assert_success
$(MB_   )$(call mb_make_call,mb_make_check_arg1,$(0),$(1))
$(MB_   )$(call mb_make_call,mb_make_check_value_valid,$(0),$(1),@test @package-qa)
define mb-proj-grow-assert-success
$(MB_   )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
$(MB_   )$(call mb-make-call,mb-make-check-value-valid,$(0),$(1),@test @package-qa)
$(MB_   )$(eval MB_PROJ_FIRE_ASSERT_SUCCESS $(MB_MAKE_APPEND) $(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_assert_success,"Grow the success counter of assertions.","<phase-id>")
$(call mb-make-call,mb-doc-function-deep,mb-proj-grow-assert-success,"Grow the success counter of assertions.","<phase-id>")
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))
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_   )$(eval @$(1)-deps:: $(2))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_clean,"Grow the deps of the selected phase.","<phase> <slave-target>")
$(call mb-make-call,mb-doc-function-deep,mb-proj-grow-deps-phase,"Grow the deps of the selected phase.","<phase> <slave-target>")
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) $@))
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) $@))
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 $(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) $@)))
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 $(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
define __mb_flow_proj_setup
define __mb-flow-proj-setup
.RECIPEPREFIX := $(MB_@RECIPE)
$(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)
$(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)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@clean-deps)
$(3)@clean: $(3)@@clean $(3)@@clean-deps
$(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)
$(MB_   )$$(call mb_make_call,mb_doc_target$$(if $(3),_module,_help),$(3)@clean,"Clean's the project build folders.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(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)
$(MB_   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@clean,"Clean's the project build folders.")
$(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)
$(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)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@init-deps)
$(3)@init: $(3)@@init $(3)@@init-deps
$(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)
$(MB_   )$$(call mb_make_call,mb_doc_target$$(if $(3),_module,_help),$(3)@init,"Create the project output folders.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(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)
$(MB_   )$$(call mb-make-call,mb-doc-target-$$(if $(3),module,help),$(3)@init,"Create the project output folders.")
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@init)
$(3)@@prepare: $(3)@init
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@prepare)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@prepare)
$(3)@@prepare-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@prepare-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@prepare-deps)
$(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_@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)
$(3)@@process: $(3)@prepare
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@process)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@process)
$(3)@@process-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@process-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@process-deps)
$(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_@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)
$(3)@@compile: $(3)@process
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@compile)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@compile)
$(3)@@compile-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@compile-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@compile-deps)
$(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_@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)
$(3)@@link: $(3)@compile
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@link)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@link)
$(3)@@link-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@link-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@link-deps)
$(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_@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)
$(3)@@build: $(3)@link
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@build)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@build)
$(3)@@build-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@build-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@build-deps)
$(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_@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)
$(3)@@test: $(3)@build
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@test)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@test)
$(3)@@test-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@test-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@test-deps)
$(3)@test: $(3)@@test $(3)@@test-deps
$(MB_@RECIPE)$$(if $(3),,$$(call mb_make_call,mb_os_echo_report,$$(MB_I18N_PROJ_ASSERT_COUNT) @test: $$(words $$(filter @test,$$(MB_PROJ_FIRE_ASSERT_SUCCESS)))))
$(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_@RECIPE)$$(if $(3),,$$(call mb-make-call,mb-os-echo-report,$$(MB_I18N_PROJ_ASSERT_COUNT) @test: $$(words $$(filter @test,$$(MB_PROJ_FIRE_ASSERT_SUCCESS)))))
$(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)
$(3)@@package: $(3)@test
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,v@@package)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@package)
$(3)@@package-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-deps)
$(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_@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)
$(3)@@package-qa: $(3)@package
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-qa)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-qa)
$(3)@@package-qa-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-qa-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-qa-deps)
$(3)@package-qa: $(3)@@package-qa $(3)@@package-qa-deps
$(MB_@RECIPE)$$(if $(3),,$$(call mb_make_call,mb_os_echo_report,$$(MB_I18N_PROJ_ASSERT_COUNT) @package-qa: $$(words $$(filter @package-qa,$$(MB_PROJ_FIRE_ASSERT_SUCCESS)))))
$(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_@RECIPE)$$(if $(3),,$$(call mb-make-call,mb-os-echo-report,$$(MB_I18N_PROJ_ASSERT_COUNT) @package-qa: $$(words $$(filter @package-qa,$$(MB_PROJ_FIRE_ASSERT_SUCCESS)))))
$(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)
$(3)@@package-deploy: $(3)@package-qa
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-deploy)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-deploy)
$(3)@@package-deploy-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@package-deploy-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@package-deploy-deps)
$(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_@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)
$(3)@@all: $(3)@package-qa
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@all)
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-before)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@all)
$(3)@@all-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(3)@@all-deps)
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(3)@@all-deps)
$(3)@all: $(3)@@all $(3)@@all-deps
$(MB_@RECIPE)$$(if $$(value MAKECMDGOALS),,$$(call mb_make_call,mb_os_echo_report,$$(MB_I18N_PROJ_OPENMSX_COUNT) $$(words $$(MB_OPENMSX_FIRE_PIPE_SMOKE))))
$(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_@RECIPE)$$(if $$(value MAKECMDGOALS),,$$(call mb-make-call,mb-os-echo-report,$$(MB_I18N_PROJ_OPENMSX_COUNT) $$(words $$(MB_OPENMSX_FIRE_PIPE_SMOKE))))
$(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)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_proj_setup
$(MB_   )$(call mb_make_call,mb_make_check_arg1,$(0),$(1))
$(MB_   )$(if $(3),,$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_GROUP_ID))
$(MB_   )$(if $(3),,$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_ARTIFACT_ID))
$(MB_   )$(if $(3),,$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_VERSION))
$(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 $(3),,$(if $(MB_I18N),$(if $(filter off,$(MB_I18N)),,$(call mb_make_call,_$(0)_i18n))))
define mb-flow-proj-setup
$(MB_   )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
$(MB_   )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_GROUP_ID))
$(MB_   )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_ARTIFACT_ID))
$(MB_   )$(if $(3),,$(call mb-make-call,mb-make-check-variable,MB_PROJ_META_VERSION))
$(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 $(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.","<bin-dir> [parent-glue] [bin-mod-dir]")
$(call mb-make-call,mb-doc-function-flow,mb-flow-proj-setup,"Inject flow of abstract project build cycle.","<bin-dir> [parent-glue] [bin-mod-dir]")
define __mb_flow_proj_setup_i18n
define __mb-flow-proj-setup-i18n
.RECIPEPREFIX := $(MB_@RECIPE)
@$$(MB_I18N_PROJ_PHASEID_CLEAN): @clean
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_CLEAN),$$(MB_I18N_PROJ_PHASEDOC_CLEAN))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_CLEAN))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_CLEAN),$$(MB_I18N_PROJ_PHASEDOC_CLEAN))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_CLEAN))
@$$(MB_I18N_PROJ_PHASEID_INIT): @init
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_INIT),$$(MB_I18N_PROJ_PHASEDOC_INIT))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_INIT))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_INIT),$$(MB_I18N_PROJ_PHASEDOC_INIT))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_INIT))
@$$(MB_I18N_PROJ_PHASEID_PREPARE): @$$(MB_I18N_PROJ_PHASEID_INIT) @prepare
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_PREPARE),$$(MB_I18N_PROJ_PHASEDOC_PREPARE))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_PREPARE))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PREPARE),$$(MB_I18N_PROJ_PHASEDOC_PREPARE))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PREPARE))
@$$(MB_I18N_PROJ_PHASEID_PROCESS): @$$(MB_I18N_PROJ_PHASEID_PREPARE) @process
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_PROCESS),$$(MB_I18N_PROJ_PHASEDOC_PROCESS))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_PROCESS))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PROCESS),$$(MB_I18N_PROJ_PHASEDOC_PROCESS))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PROCESS))
@$$(MB_I18N_PROJ_PHASEID_COMPILE): @$$(MB_I18N_PROJ_PHASEID_PROCESS) @compile
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_COMPILE),$$(MB_I18N_PROJ_PHASEDOC_COMPILE))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_COMPILE))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_COMPILE),$$(MB_I18N_PROJ_PHASEDOC_COMPILE))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_COMPILE))
@$$(MB_I18N_PROJ_PHASEID_LINK): @$$(MB_I18N_PROJ_PHASEID_COMPILE) @link
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_LINK),$$(MB_I18N_PROJ_PHASEDOC_LINK))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_LINK))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_LINK),$$(MB_I18N_PROJ_PHASEDOC_LINK))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_LINK))
@$$(MB_I18N_PROJ_PHASEID_BUILD): @$$(MB_I18N_PROJ_PHASEID_LINK) @build
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_BUILD),$$(MB_I18N_PROJ_PHASEDOC_BUILD))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_BUILD))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_BUILD),$$(MB_I18N_PROJ_PHASEDOC_BUILD))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_BUILD))
@$$(MB_I18N_PROJ_PHASEID_TEST): @$$(MB_I18N_PROJ_PHASEID_BUILD) @test
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_TEST),$$(MB_I18N_PROJ_PHASEDOC_TEST))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_TEST))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_TEST),$$(MB_I18N_PROJ_PHASEDOC_TEST))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_TEST))
@$$(MB_I18N_PROJ_PHASEID_PACKAGE): @$$(MB_I18N_PROJ_PHASEID_TEST) @package
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_PACKAGE),$$(MB_I18N_PROJ_PHASEDOC_PACKAGE))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PACKAGE),$$(MB_I18N_PROJ_PHASEDOC_PACKAGE))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE))
@$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA): @$$(MB_I18N_PROJ_PHASEID_PACKAGE) @package-qa
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA),$$(MB_I18N_PROJ_PHASEDOC_PACKAGE_QA))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA),$$(MB_I18N_PROJ_PHASEDOC_PACKAGE_QA))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA))
@$$(MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY): @$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA) @package-deploy
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY),$$(MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY),$$(MB_I18N_PROJ_PHASEDOC_PACKAGE_DEPLOY))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY))
@$$(MB_I18N_PROJ_PHASEID_ALL): @$$(MB_I18N_PROJ_PHASEID_PACKAGE_QA) @all
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@$$(MB_I18N_PROJ_PHASEID_ALL),$$(MB_I18N_PROJ_PHASEDOC_ALL))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@$$(MB_I18N_PROJ_PHASEID_ALL))
$(MB_@RECIPE)$$(call mb-make-call,_mb-proj-flow-step-done)
$(MB_   )$$(call mb-make-call,mb-doc-target-help,@$$(MB_I18N_PROJ_PHASEID_ALL),$$(MB_I18N_PROJ_PHASEDOC_ALL))
$(MB_   )$$(call mb-make-call,mb-make-target-phony,@$$(MB_I18N_PROJ_PHASEID_ALL))
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define _mb_flow_proj_setup_i18n
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_CLEAN)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_INIT)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_PREPARE)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_PROCESS)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_COMPILE)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_LINK)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_BUILD)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_TEST)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_PACKAGE)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_PACKAGE_QA)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_I18N_PROJ_PHASEID_ALL)
$(MB_   )$(eval $(call mb_make_call,_$(0)))
define _mb-flow-proj-setup-i18n
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_CLEAN)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_INIT)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PREPARE)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PROCESS)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_COMPILE)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_LINK)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_BUILD)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_TEST)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PACKAGE)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PACKAGE_QA)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_PACKAGE_DEPLOY)
$(MB_   )$(call mb-make-call,mb-make-check-variable,MB_I18N_PROJ_PHASEID_ALL)
$(MB_   )$(eval $(call mb-make-call,_$(0)))
endef
define __mb_flow_proj_module_run
define __mb-flow-proj-module-run
.RECIPEPREFIX := $(MB_@RECIPE)
$(1)/@run: $(1)/@build
$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1),,$(2))
$(MB_   )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run manually with gui.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@run)
$(MB_@RECIPE)$$(call mb-make-call,mb-msxpipe-run-gui,$(1),,$(2))
$(MB_   )$$(call mb-make-call,mb-doc-target-run,$(1)/@run,"Run manually with gui.")
$(MB_   )$$(call mb-make-call,mb-make-target-phony,$(1)/@run)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_proj_module_run
$(MB_   )$(call mb_make_call,mb_make_check_arg1,$(0),$(1))
$(MB_   )$(if $(filter $(1)/@run,$(MB_PROJ_FIRE_MODULE_RUN)),,$(eval $(call mb_make_call,__$(0),$(1),$(2))))
define mb-flow-proj-module-run
$(MB_   )$(call mb-make-call,mb-make-check-arg1,$(0),$(1))
$(MB_   )$(if $(filter $(1)/@run,$(MB_PROJ_FIRE_MODULE_RUN)),,$(eval $(call mb-make-call,__$(0),$(1),$(2))))
$(MB_   )$(eval MB_PROJ_FIRE_MODULE_RUN +$(MB_MAKE_EQUALS) $(1)/@run)
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_proj_module_run,"Inject flow module @run.","<bin-dir> [machine]")
$(call mb-make-call,mb-doc-function-flow,mb-flow-proj-module-run,"Inject flow module @run.","<bin-dir> [machine]")
define __mb_flow_proj_prepare_packages
define __mb-flow-proj-prepare-packages
.RECIPEPREFIX := $(MB_@RECIPE)
$(1)/@@prepare-deps:: $(1)/@msxhub/$(2)
$(1)/@msxhub/$(2):
$(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_@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))
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_proj_prepare_packages
$(MB_   )$(call mb_make_call,mb_make_check_arg2,$(0),$(1),$(2))
$(MB_   )$(foreach _pack,$(2),$(eval $(call mb_make_call,__$(0),$(1),$(_pack),$(3))))
define mb-flow-proj-prepare-packages
$(MB_   )$(call mb-make-call,mb-make-check-arg2,$(0),$(1),$(2))
$(MB_   )$(foreach _pack,$(2),$(eval $(call mb-make-call,__$(0),$(1),$(_pack),$(3))))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_proj_prepare_packages,"Inject package fetch flow for module.","<bin-dir> <packages> [dest-dir]")
$(call mb-make-call,mb-doc-function-flow,mb-flow-proj-prepare-packages,"Inject package fetch flow for module.","<bin-dir> <packages> [dest-dir]")