China spaced and updated translations of include folders.
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -11s

This commit is contained in:
Willem Cazander 2024-07-12 20:39:53 +02:00
parent ef47c49b43
commit 66693d9cbc
23 changed files with 22 additions and 22 deletions

View file

@ -0,0 +1,13 @@
define __mb_flow_0module_setup
$(MB_   ).PHONY: $(1)
$(MB_   )include $(1)
$(MB_   )@@include-mods:: $(1)
$(MB_   )$(1): @@include-tree
endef
define mb_flow_0module_setup
$(MB_   )$(call mb_make_call,mb_make_check_arg1,$(0),$(1))
$(MB_   )$(foreach _mod,$(call mb_make_call,mb_make_wildcard_treewalker,$(1),*/0module.mk),$(eval $(call mb_make_call,__$(0),$(_mod))))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_0module_setup,"Inject flow of recursive 0module.mk include.","<dir>")

View file

@ -0,0 +1,45 @@
define __mb_flow_assert_grep_binary_x
.RECIPEPREFIX := $(MB_@RECIPE)
$(1)/$(5)-$(2): $(1)/@build
$(MB_@RECIPE)grep -q -U $(4) $(1)/$(3)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_assert,$$(MB_I18N_ASSERT_SUCCESS) v-$(2))
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)/$(5)-$(2),"Asserts that $(3) output matches.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/$(5)-$(2))
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,$(5),$(1)/$(5)-$(2))
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_assert_grep_binary_test
$(MB_   )$(call mb_make_call,mb_make_check_arg4,$(0),$(1),$(2),$(3),$(4))
$(MB_   )$(eval $(call mb_make_call,__mb_flow_assert_grep_binary_x,$(1),$(2),$(3),$(4),@test))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_assert_grep_binary_test,"Inject flow of single binary grep assert.","<build-dir> <test-id> <file> <grep-match>")
define mb_flow_assert_grep_binary_package_qa
$(MB_   )$(call mb_make_call,mb_make_check_arg4,$(0),$(1),$(2),$(3),$(4))
$(MB_   )$(eval $(call mb_make_call,__mb_flow_assert_grep_binary_x,$(1),$(2),$(3),$(4),@package-qa))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_assert_grep_binary_package_qa,"Inject flow of single binary grep assert.","<build-dir> <test-id> <file> <grep-match>")
#$$(call mb_delete,$(1)/$(3).out)
define __mb_assert_flow_bdos_grep
.RECIPEPREFIX := $(MB_@RECIPE)
$(1)-test-$(2)/@assert: $(1)/@build
$(MB_@RECIPE)$$(call mb_make_call,mb_os_dir_create,$(1)-test-$(2))
$(MB_@RECIPE)$$(call mb_make_call,mb_os_file_copy,$(1)/$(3).com,$(1)-test-$(2))
$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_safe_test,$(1)-test-$(2),$(3) > $(3).out,$(5))
$(MB_@RECIPE)grep -q $(4) $(1)-test-$(2)/$(3).out
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_assert,$$(MB_I18N_ASSERT_SUCCESS) $(1)-test-$(2)/@assert)
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)-test-$(2)/@assert,"Asserts that $(3) output matches.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)-test-$(2)/@assert)
$(MB_   )$$(call mb_make_call,mb_proj_grow_deps_phase,@test,$(1)-test-$(2)/@assert)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
#$(call mb_make_call,mb_flow_clone_deps,$(DIST_QA_MSX1_BIN),$(DIST_BIN),$(DIST_DEPS),$(DIST_QA_MSX1_MACHINE))
define mb_assert_flow_bdos_grep
$(MB_   )$(call mb_make_call,mb_make_check_arg4,mb_assert_flow_bdos_grep,$(1),$(2),$(3),$(4))
$(MB_   )$(eval $(call mb_make_call,__mb_assert_flow_bdos_grep,$(1),$(2),$(3),$(4),$(5)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_assert_flow_bdos_grep,"Inject flow of single grep assert.","<build-dir> <test-id> <cmd-name> <grep-match> [machine]")

View file

@ -0,0 +1,41 @@
define __mb_flow_clone_deps
.RECIPEPREFIX := $(MB_@RECIPE)
$(1)/@clean: @@clean
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_run_clean,$(1))
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1)/@clean)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@clean)
$(1): | @init
$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_dir_create,$(1)))
$(MB_@RECIPE)$$(if $(6),$$(call mb_make_call,mb_msxhub_get_$(6)_boot,$(1)))
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1))
$(1)/@prepare: $(3) | $(1)
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1)/@prepare)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@prepare)
$(1)/%: $(2)/% $(1)/@prepare
$(MB_@RECIPE)$$(call mb_make_call,mb_os_file_copy,$$<,$$@)
$(1)/@build: $(4)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_remark,$(MB_I18N_FLOW_CLONE_REPORT) $$(words $$^))
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@build)
$(1)/@run: $(1)/@build
$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1),,$(5))
$(MB_   )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@run)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_clone_deps
$(MB_   )$(call mb_make_call,mb_make_check_arg3,$(0),$(1),$(2),$(3))
$(MB_   )$(eval $(call mb_make_call,__$(0),$(1),$(2),$(3),$(call mb_make_call,mb_proj_module_local_deps,$(1),$(3)),$(4),$(5)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_clone_deps,"Inject flow of file copy toolchain module.","<bin-to> <bin-from> <deps> [machine] [os-version]")

View file

@ -0,0 +1,132 @@
define __mb_flow_doc_help
.RECIPEPREFIX := $(MB_@RECIPE)
@help:
$(MB_@RECIPE)@echo -e "Welcome to the $$(if $$(MB_PROJ_META_NAME),$$(MB_PROJ_META_NAME),MSXBUILD) help system.\\n\\nFor detailed fire help use one of the following targets;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_HELP)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help)
@help-variable:
$(MB_@RECIPE)@echo -e "Documention of the make fire variables;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-variable,"Lists build variables.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-variable)
@help-variable-deep:
$(MB_@RECIPE)@echo "Documention of the deep make variables;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_DEEP)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-variable-deep,"Lists deep variables.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-variable-deep)
@help-variable-rock:
$(MB_@RECIPE)@echo -e "Documention of the rock make variables;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_ROCK)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-variable-rock,"Lists rock variables.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-variable-rock)
@help-variable-flow:
$(MB_@RECIPE)@echo -e "Documention of the flow make variables;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_FLOW)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-variable-flow,"Lists flow variables.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-variable-flow)
@help-variable-i18n:
$(MB_@RECIPE)@echo -e "Documention of the i18n make variables;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_I18N)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-variable-i18n,"Lists i18n variables.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-variable-i18n)
@help-function:
$(MB_@RECIPE)@echo -e "Documention of the make fire functions;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-function,"Lists build functions.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-function)
@help-function-deep:
$(MB_@RECIPE)@echo -e "Documention of the deep make functions;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_DEEP)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-function-deep,"Lists deep functions.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-function-deep)
@help-function-flow:
$(MB_@RECIPE)@echo -e "Documention of the flow make functions;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_FLOW)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-function-flow,"Lists flow functions.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-function-flow)
@help-target:
$(MB_@RECIPE)@echo -e "Build one of the following make fire targets;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-target,"Lists build targets.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-target)
@help-target-deep:
$(MB_@RECIPE)@echo -e "Build one of the following deep make targets;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_DEEP)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-target-deep,"Lists deep targets.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-target-deep)
@help-target-run:
$(MB_@RECIPE)@echo -e "Build one of the following run make targets;"
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_RUN)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-target-run,"Lists runnable targets.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-target-run)
@help-all:
$(MB_@RECIPE)@echo -e "Documention of all fire functions/variables/targets;\\n"
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Variables")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Variables in the deep")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_DEEP)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Variables hard as rock")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_ROCK)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Variables defining flow")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_FLOW)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Variables for i18n letters")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_I18N)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Functions")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Functions in the deep")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_DEEP)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Functions building flow")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_FLOW)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Targets")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Targets in the deep")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_DEEP)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Targets that run away")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_RUN)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,"Targets main project help")
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_HELP)
$(MB_@RECIPE)$$(call mb_make_call,mb_os_echo_good,OK)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-all,"Lists all documented information.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-all)
@help-firemake:
$(MB_@RECIPE)$$(eval MB_DOC_FORMAT :$(MB_MAKE_EQUALS) xml)
$(MB_@RECIPE)@echo -e $$(call mb_make_call,mb_make_xml_open,$$(MB_DOC_XML_ROOT))
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_DEEP)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_ROCK)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_FLOW)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_VARIABLE_I18N)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_DEEP)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_FUNCTION_FLOW)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_DEEP)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_RUN)
$(MB_@RECIPE)@echo -e $$(MB_DOC_FIRE_TARGET_HELP)
$(MB_@RECIPE)@echo -e $$(call mb_make_call,mb_make_xml_close,$$(MB_DOC_XML_ROOT))
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@help-firemake,"Output all documention in XML for IDE integration.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@help-firemake)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_doc_help
$(MB_   )$(eval $(call mb_make_call,__$(0),$(1)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_doc_help,"Inject flow of fire help system.")

View file

@ -0,0 +1,49 @@
define __mb_flow_m80_bdos_mono
.RECIPEPREFIX := $(MB_@RECIPE)
$(1): | @init
$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_dir_create,$(1)))
$(MB_@RECIPE)$$(if $$(wildcard $(1)/utils),,$$(call mb_make_call,mb_os_dir_create,$(1)/utils))
$(MB_@RECIPE)$$(call mb_make_call,mb_msxhub_get_macro80,$(1)/utils)
$(MB_@RECIPE)$$(call mb_make_call,mb_msxhub_get_z80asmuk,$(1)/utils)
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1))
$(1)/$(3).mac: $(2)/$(3).mac | $(1)
$(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)/$(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)/$(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)/$(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)
$(1)/@build: $(1)/$(3).com
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@build)
$(1)/@run: $(1)/@build
$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1))
$(MB_   )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@run)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_m80_bdos_mono
$(MB_   )$(call mb_make_call,mb_make_check_arg3,$(0),$(1),$(2),$(3))
$(MB_   )$(eval $(call mb_make_call,__$(0),$(1),$(2),$(3)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_m80_bdos_mono,"Inject flow of m80 toolchain bdos mono file module.","<bin-dir> <src-dir> <objname>")

View file

@ -0,0 +1,288 @@
MB_PROJ_META_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.")
MB_PROJ_META_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.")
MB_PROJ_META_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.")
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.")
define mb_proj_module_path_src
$(MB_   )$(1)/$(subst /,,$(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_path_src,"Convert current location folder as src folder.","<path-src>")
define mb_proj_module_path_bin
$(MB_   )$(2)/$(subst /,,$(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_path_src,"Convert current location folder as bin folder.","<path-src> <path-bin>")
define mb_proj_module_local_deps
$(MB_   )$(foreach _dep,$(2),$(1)/$(notdir $(_dep)))
endef
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_deps,"Convert other files to local deps.","<mod-bin> <deps>")
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>")
define _mb_proj_flow_step_before
$(MB_   )$(call mb_make_call,mb_os_echo_phase,$(MB_I18N_PROJ_STEP_BEFORE) $@)
endef
define _mb_proj_flow_step_done
$(MB_   )$(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_good,$(MB_I18N_PROJ_STEP_DONE) $@)))
endef
define _mb_proj_run_clean
$(MB_   )$(foreach folder,$(1),$(if $(wildcard $(folder)),$(call mb_make_call,mb_os_echo_command,$(MB_I18N_PROJ_DIR_DELETE) $(folder));))
$(MB_   )$(foreach folder,$(1),$(if $(wildcard $(folder)),$(call mb_make_call,mb_os_dir_delete,$(folder))))
endef
define _mb_proj_run_init
$(MB_   )$(foreach folder,$(1),$(if $(wildcard $(folder)),,$(call mb_make_call,mb_os_echo_command,$(MB_I18N_PROJ_DIR_CREATE) $(folder));))
$(MB_   )$(foreach folder,$(1),$(if $(wildcard $(folder)),,$(call mb_make_call,mb_os_dir_create,$(folder))))
endef
define __mb_flow_proj_setup
.RECIPEPREFIX := $(MB_@RECIPE)
@@clean: @include
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@clean)
@@clean-deps:: @include
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@clean-deps)
@clean: @@clean @@clean-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_run_clean,$(1))
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@clean,"Clean's the project build folders.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@clean)
@@init: @include
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@init)
@@init-deps:: @include
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@init-deps)
@init: @@init @@init-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_run_init,$(1))
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@init,"Create the project output folders.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@init)
@@prepare: @init
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@prepare)
@@prepare-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@prepare-deps)
@prepare: @@prepare @@prepare-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@prepare,"Prepare sources before processing.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@prepare)
@@process: @prepare
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@process)
@@process-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@process-deps)
@process: @@process @@process-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@process,"Process sources before compiling.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@process)
@@compile: @process
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@compile)
@@compile-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@compile-deps)
@compile: @@compile @@compile-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@compile,"Compiles all project sources.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@compile)
@@link: @compile
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@link)
@@link-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@link-deps)
@link: @@link @@link-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@link,"Link all project intermediate files.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@link)
@@build: @link
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@build)
@@build-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@build-deps)
@build: @@build @@build-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@build,"Build all project artifacts.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@build)
@@test: @build
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@test)
@@test-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@test-deps)
@test: @@test @@test-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@test,"Run all assertion tests.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@test)
@@package: @test
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package)
@@package-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-deps)
@package: @@package @@package-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@package,"Create all packages of project.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@package)
@@package-qa: @package
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-qa)
@@package-qa-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-qa-deps)
@package-qa: @@package-qa @@package-qa-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@package-qa,"Run all packages QA of project.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@package-qa)
@@package-deploy: @package-qa
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-deploy)
@@package-deploy-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@package-deploy-deps)
@package-deploy: @@package-deploy @@package-deploy-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@package-deploy,"Deploy all the packages.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@package-deploy)
@@all: @package-qa
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_before)
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@all)
@@all-deps::
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@@all-deps)
@all: @@all @@all-deps
$(MB_@RECIPE)$$(call mb_make_call,_mb_proj_flow_step_done)
$(MB_   )$$(call mb_make_call,mb_doc_target_help,@all,"Run full build and package QA tests.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,@all)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_proj_setup
$(MB_   )$(call mb_make_call,mb_make_check_arg1,$(0),$(1))
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_GROUP_ID)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_ARTIFACT_ID)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_VERSION)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_NAME)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_DESCRIPTION)
$(MB_   )$(call mb_make_call,mb_make_check_variable,MB_PROJ_META_WEBSITE)
$(MB_   )$(eval $(call mb_make_call,__$(0),$(1)))
$(MB_   )$(if $(MB_I18N),$(if $(filter off,$(MB_I18N)),,$(call mb_make_call,_$(0)_i18n)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_proj_setup,"Inject flow of abstract project build cycle.","<build-dirs>")
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_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_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_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_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_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_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_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_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_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_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_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))
.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)))
endef

View file

@ -0,0 +1,41 @@
define __mb_flow_sdcc_bdos_mono
.RECIPEPREFIX := $(MB_@RECIPE)
$(1): | @init
$(MB_@RECIPE)$$(if $$(wildcard $(1)),,$$(call mb_make_call,mb_os_dir_create,$(1)))
$(MB_   )$$(call mb_make_call,mb_doc_target_deep,$(1))
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1))
$(1)/$(3).rel: $(2)/$(3).asm | $(1)
$(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)/$(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)/$(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)
$(1)/@build: $(1)/$(3).com
$(MB_   )$$(call mb_make_call,mb_doc_target,$(1)/@build,"Builds the $(1) module.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@build)
$(1)/@run: $(1)/@build
$(MB_@RECIPE)$$(call mb_make_call,mb_msxpipe_run_gui,$(1))
$(MB_   )$$(call mb_make_call,mb_doc_target_run,$(1)/@run,"Run $(3).com manually with gui.")
$(MB_   )$$(call mb_make_call,mb_make_target_phony,$(1)/@run)
.RECIPEPREFIX := $(MB_@RECIPEPREFIX)
endef
define mb_flow_sdcc_bdos_mono
$(MB_   )$(call mb_make_call,mb_make_check_arg3,$(0),$(1),$(2),$(3))
$(MB_   )$(eval $(call mb_make_call,__$(0),$(1),$(2),$(3)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_flow_sdcc_bdos_mono,"Inject flow of sdcc toolchain bdos mono file module.","<bin-dir> <src-dir> <objname>")