2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_META_NAME ?= MSXBUILD
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable,MB_PROJ_META_NAME,"The project name.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_META_DESCRIPTION ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable,MB_PROJ_META_DESCRIPTION,"The project description.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_META_WEBSITE ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable,MB_PROJ_META_WEBSITE,"The project website location.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_PHASE_PROCESS_DEPS ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_PHASE_PROCESS_DEPS,"The targets to trigger by project @process target.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_PHASE_COMPILE_DEPS ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_PHASE_COMPILE_DEPS,"The targets to trigger by project @compile target.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_PHASE_LINK_DEPS ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_PHASE_LINK_DEPS,"The targets to trigger by project @link target.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_PHASE_BUILD_DEPS ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_PHASE_BUILD_DEPS,"The targets to trigger by project @build target.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_PHASE_TEST_DEPS ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_PHASE_TEST_DEPS,"The targets to trigger by project @test target.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_PHASE_PACKAGE_DEPS ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_PHASE_PACKAGE_DEPS,"The targets to trigger by project @package target.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_PHASE_PACKAGE_QA_DEPS ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_PHASE_PACKAGE_QA_DEPS,"The targets to trigger by project @package-qa target.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
MB_PROJ_PHASE_PACKAGE_DEPLOY_DEPS ?=
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_variable_flow,MB_PROJ_PHASE_PACKAGE_QA_DEPLOY,"The targets to trigger by project @package-deploy target.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_module_path_src
|
|
|
|
$(1)/$(subst /,,$(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
|
|
|
|
endef
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_path_src,"Convert include location folder as src folder.","<path-src>")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_module_path_bin
|
|
|
|
$(2)/$(subst /,,$(subst $(1),,$(dir $(lastword $(MAKEFILE_LIST)))))
|
|
|
|
endef
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_path_src,"Convert include location folder as bin folder.","<path-src> <path-bin>")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_module_local_deps
|
|
|
|
$(foreach dep,$(2),$(1)/$(notdir $(dep)))
|
|
|
|
endef
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_module_deps,"Convert other files to local deps.","<mod-bin> <deps>")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
|
2024-07-07 22:34:15 +00:00
|
|
|
define mb_proj_grow_deps_phase_process
|
|
|
|
$(eval MB_PROJ_PHASE_PROCESS_DEPS += $(1))
|
|
|
|
endef
|
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_process,"Grow the deps of the '@process' phase..","<slave-target>")
|
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_grow_deps_phase_compile
|
|
|
|
$(eval MB_PROJ_PHASE_COMPILE_DEPS += $(1))
|
|
|
|
endef
|
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_compile,"Grow the deps of the '@compile' phase..","<slave-target>")
|
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_grow_deps_phase_link
|
|
|
|
$(eval MB_PROJ_PHASE_LINK_DEPS += $(1))
|
|
|
|
endef
|
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_link,"Grow the deps of the '@link' phase..","<slave-target>")
|
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_grow_deps_phase_build
|
|
|
|
$(eval MB_PROJ_PHASE_BUILD_DEPS += $(1))
|
|
|
|
endef
|
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_build,"Grow the deps of the '@build' phase..","<slave-target>")
|
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_grow_deps_phase_test
|
|
|
|
$(eval MB_PROJ_PHASE_TEST_DEPS += $(1))
|
|
|
|
endef
|
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_test,"Grow the deps of the '@test' phase..","<slave-target>")
|
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_grow_deps_phase_package
|
|
|
|
$(eval MB_PROJ_PHASE_PACKAGE_DEPS += $(1))
|
|
|
|
endef
|
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_package,"Grow the deps of the '@package' phase..","<slave-target>")
|
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_grow_deps_phase_package_qa
|
|
|
|
$(eval MB_PROJ_PHASE_PACKAGE_QA_DEPS += $(1))
|
|
|
|
endef
|
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_package_qa,"Grow the deps of the '@package-qa' phase..","<slave-target>")
|
|
|
|
|
|
|
|
|
|
|
|
define mb_proj_grow_deps_phase_package_deploy
|
|
|
|
$(eval MB_PROJ_PHASE_PACKAGE_DEPLOY_DEPS += $(1))
|
|
|
|
endef
|
|
|
|
$(call mb_make_call,mb_doc_function_deep,mb_proj_grow_deps_phase_package_deploy,"Grow the deps of the '@package-deploy' phase..","<slave-target>")
|
|
|
|
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
define _mb_proj_flow_step_before
|
2024-07-08 02:23:37 +00:00
|
|
|
$(call mb_make_call,mb_os_echo_phase,$(MB_I18N_PROJ_STEP_BEFORE) $@)
|
2024-07-07 02:33:03 +00:00
|
|
|
endef
|
|
|
|
define _mb_proj_flow_step_done
|
2024-07-08 02:23:37 +00:00
|
|
|
$(call mb_make_call,mb_os_echo_phase,$(MB_I18N_PROJ_STEP_AFTER) $@)
|
|
|
|
$(if $(filter $@,$(MAKECMDGOALS)),$(call mb_make_call,mb_os_echo_good,$(MB_I18N_PROJ_STEP_DONE) $@))
|
2024-07-07 02:33:03 +00:00
|
|
|
endef
|
|
|
|
define _mb_proj_run_clean
|
2024-07-08 02:23:37 +00:00
|
|
|
$(foreach folder,$(1),$(if $(wildcard $(folder)),$(call mb_make_call,mb_os_echo_command,$(MB_I18N_PROJ_DIR_DELETE) $(folder));))
|
2024-07-07 21:26:47 +00:00
|
|
|
$(foreach folder,$(1),$(if $(wildcard $(folder)),$(call mb_make_call,mb_os_dir_delete,$(folder))))
|
2024-07-07 02:33:03 +00:00
|
|
|
endef
|
|
|
|
define _mb_proj_run_init
|
2024-07-08 02:23:37 +00:00
|
|
|
$(foreach folder,$(1),$(if $(wildcard $(folder)),,$(call mb_make_call,mb_os_echo_command,$(MB_I18N_PROJ_DIR_CREATE) $(folder));))
|
2024-07-07 21:26:47 +00:00
|
|
|
$(foreach folder,$(1),$(if $(wildcard $(folder)),,$(call mb_make_call,mb_os_dir_create,$(folder))))
|
2024-07-07 02:33:03 +00:00
|
|
|
endef
|
2024-07-07 12:29:32 +00:00
|
|
|
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
|
2024-07-07 21:26:47 +00:00
|
|
|
define __mb_proj_flow_setup
|
2024-07-07 02:33:03 +00:00
|
|
|
@@clean:
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@clean
|
|
|
|
|
|
|
|
|
|
|
|
@clean: @@clean
|
|
|
|
$$(call mb_make_call,_mb_proj_run_clean,$(1))
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@clean,"Clean's the project build folders.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @clean
|
|
|
|
|
|
|
|
|
|
|
|
@@init:
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@init
|
|
|
|
|
|
|
|
|
|
|
|
@init: @@init
|
|
|
|
$$(call mb_make_call,_mb_proj_run_init,$(1))
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@init,"Create the project output folders.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @init
|
|
|
|
|
|
|
|
|
|
|
|
@@process: @init
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@process
|
|
|
|
|
|
|
|
|
|
|
|
@process: @@process $$(MB_PROJ_PHASE_PROCESS_DEPS)
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@process,"Process sources before compiling.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @process
|
|
|
|
|
|
|
|
|
|
|
|
@@compile: @process
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@compile
|
|
|
|
|
|
|
|
|
|
|
|
@compile: @@compile $$(MB_PROJ_PHASE_COMPILE_DEPS)
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@compile,"Compiles all project sources.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @compile
|
|
|
|
|
|
|
|
|
|
|
|
@@link: @compile
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@link
|
|
|
|
|
|
|
|
|
|
|
|
@link: @@link $$(MB_PROJ_PHASE_LINK_DEPS)
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@link,"Link all project intermediate files.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @link
|
|
|
|
|
|
|
|
|
|
|
|
@@build: @link
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@build
|
|
|
|
|
|
|
|
|
|
|
|
@build: @@build $$(MB_PROJ_PHASE_BUILD_DEPS)
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@build,"Build all project artifacts.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @build
|
|
|
|
|
|
|
|
|
|
|
|
@@test: @build
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@test
|
|
|
|
|
|
|
|
|
|
|
|
@test: @@test $$(MB_PROJ_PHASE_TEST_DEPS)
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@test,"Run all assertion tests.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @test
|
|
|
|
|
|
|
|
|
|
|
|
@@package: @test
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@package
|
|
|
|
|
|
|
|
|
|
|
|
@package: @@package $$(MB_PROJ_PHASE_PACKAGE_DEPS)
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@package,"Create all packages of project.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @package
|
|
|
|
|
|
|
|
|
|
|
|
@@package-qa: @package
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@package-qa
|
|
|
|
|
|
|
|
|
|
|
|
@package-qa: @@package-qa $$(MB_PROJ_PHASE_PACKAGE_QA_DEPS)
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@package-qa,"Run all packages QA of project.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @package-qa
|
|
|
|
|
|
|
|
|
|
|
|
@@package-deploy: @package-qa
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_before)
|
|
|
|
.PHONY: @@package-deploy
|
|
|
|
|
|
|
|
|
|
|
|
@package-deploy: @@package-deploy $$(MB_PROJ_PHASE_PACKAGE_DEPLOY_DEPS)
|
2024-07-08 02:23:37 +00:00
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@package-deploy,"Deploy all the packages.")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @package-deploy
|
|
|
|
endef
|
2024-07-07 21:26:47 +00:00
|
|
|
define mb_proj_flow_setup
|
2024-07-08 02:23:37 +00:00
|
|
|
$(call mb_make_call,mb_make_check_arg1,mb_proj_flow_setup,$(1))
|
2024-07-07 21:26:47 +00:00
|
|
|
$(eval $(call mb_make_call,__mb_proj_flow_setup,$(1)))
|
|
|
|
endef
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_function_flow,mb_proj_flow_setup,"Prints flow of abstract project build cycle.","<build-dirs>")
|
2024-07-07 02:33:03 +00:00
|
|
|
|
|
|
|
|
2024-07-07 21:26:47 +00:00
|
|
|
define __mb_proj_flow_setup_jp
|
2024-07-07 02:33:03 +00:00
|
|
|
@クリーン: @clean
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@クリーン,"プロジェクトのビルドフォルダーをクリーンアップします。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @クリーン
|
|
|
|
|
|
|
|
@初期化する: @init
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@初期化する,"モジュール出力フォルダーをセットアップして検証します。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @@初期化する
|
|
|
|
|
|
|
|
@プロセス: @初期化する @process
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@プロセス,"コンパイル前にソースを処理します。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @プロセス
|
|
|
|
|
|
|
|
@コンパイル: @プロセス @compile
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@コンパイル,"すべてのプロジェクト ソースをコンパイルします。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @コンパイル
|
|
|
|
|
|
|
|
@リンク: @コンパイル @link
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@リンク,"すべてのプロジェクト中間ファイルをリンクします。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @リンク
|
|
|
|
|
|
|
|
@建てる: @リンク @build
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@建てる,"すべてのプロジェクト成果物をビルドします。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @建てる
|
|
|
|
|
|
|
|
@テスト: @建てる @test
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@テスト,"すべてのアサーション テストを実行します。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @テスト
|
|
|
|
|
|
|
|
@パッケージ: @テスト @package
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@パッケージ,"プロジェクトのパッケージを作成します。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @パッケージ
|
|
|
|
|
|
|
|
@パッケージの品質保証: @パッケージ @package-qa
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@パッケージの品質保証,"すべてのパッケージを実行します。プロジェクトの品質保証。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @パッケージの品質保証
|
|
|
|
|
|
|
|
@パッケージのデプロイ: @パッケージの品質保証 @package-deploy
|
|
|
|
$$(call mb_make_call,_mb_proj_flow_step_done)
|
2024-07-07 18:53:06 +00:00
|
|
|
$$(call mb_make_call,mb_doc_target_help,@パッケージのデプロイ,"パッケージをデプロイします。")
|
2024-07-07 02:33:03 +00:00
|
|
|
.PHONY: @パッケージのデプロイ
|
|
|
|
endef
|
2024-07-07 21:26:47 +00:00
|
|
|
define mb_proj_flow_setup_jp
|
|
|
|
$(eval $(call mb_make_call,__mb_proj_flow_setup_jp))
|
|
|
|
endef
|
2024-07-07 18:53:06 +00:00
|
|
|
$(call mb_make_call,mb_doc_function_flow,mb_proj_flow_setup_jp,"Prints flow for japanese wrapper of project build cycle.")
|
2024-07-07 02:33:03 +00:00
|
|
|
|