2020-12-23 17:14:13 +00:00
|
|
|
|
#
|
2021-07-04 00:12:48 +00:00
|
|
|
|
# msxbuild.mk - Makefile helper to use with msx projects.
|
2020-12-23 17:14:13 +00:00
|
|
|
|
#
|
2024-07-12 15:59:26 +00:00
|
|
|
|
MB_@RECIPE := ]
|
|
|
|
|
MB_@RECIPEPREFIX := $(.RECIPEPREFIX)
|
|
|
|
|
MB_@BASEPATH := $(dir $(lastword $(MAKEFILE_LIST)))../..
|
|
|
|
|
MB_@BASEPATH_REAL := $(if $(realpath $(MB_@BASEPATH)),$(realpath $(MB_@BASEPATH)),$(MB_@BASEPATH))
|
|
|
|
|
MB_@INCLUDE_CHAIN :=
|
2024-07-10 12:05:38 +00:00
|
|
|
|
|
2024-07-12 15:59:26 +00:00
|
|
|
|
# Build multiple groups of chains of includes
|
|
|
|
|
define __mb_include
|
|
|
|
|
.PHONY: $(MB_@BASEPATH)/$(1)
|
|
|
|
|
include $(MB_@BASEPATH)/$(1)
|
|
|
|
|
$(if $(MB_@INCLUDE_CHAIN),$(eval $(MB_@BASEPATH)/$(1): $(MB_@INCLUDE_CHAIN)))
|
|
|
|
|
MB_@INCLUDE_CHAIN := $(MB_@BASEPATH)/$(1)
|
|
|
|
|
endef
|
2024-07-10 15:03:28 +00:00
|
|
|
|
|
2024-07-12 15:59:26 +00:00
|
|
|
|
# Include full library grouped in functional blocks
|
|
|
|
|
MB_@INCLUDE_CHAIN := @@include-parent
|
|
|
|
|
$(eval $(call __mb_include,lib/make/प्रणाली/mb_xxx.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/प्रणाली/mb_doc.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/प्रणाली/mb_make_call.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/प्रणाली/mb_make_check.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/प्रणाली/mb_make_xml.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/प्रणाली/mb_make.mk))
|
|
|
|
|
@@include-libs:: $(MB_@INCLUDE_CHAIN)
|
|
|
|
|
MB_@INCLUDE_CHAIN := @@include-parent
|
|
|
|
|
$(eval $(call __mb_include,lib/make/ᐊᑐᕐᓗᒍ/mb_os.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/ᐊᑐᕐᓗᒍ/mb_conv.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/ᐊᑐᕐᓗᒍ/mb_sdcc.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/ᐊᑐᕐᓗᒍ/mb_package.mk))
|
|
|
|
|
@@include-libs:: $(MB_@INCLUDE_CHAIN)
|
|
|
|
|
MB_@INCLUDE_CHAIN := @@include-parent
|
|
|
|
|
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_msxrom.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_msxhub.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_msxpipe.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_openmsx.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/麥加系統擴大/mb_autoexec.mk))
|
|
|
|
|
@@include-libs:: $(MB_@INCLUDE_CHAIN)
|
|
|
|
|
MB_@INCLUDE_CHAIN := @@include-parent
|
|
|
|
|
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_0module.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_proj.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_assert.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_m80.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_sdcc.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/𓃬𓍄𓋹𓀭/mb_flow_clone.mk))
|
|
|
|
|
@@include-libs:: $(MB_@INCLUDE_CHAIN)
|
|
|
|
|
MB_@INCLUDE_CHAIN :=
|
|
|
|
|
$(eval $(call __mb_include,lib/make/mb_flight.mk))
|
|
|
|
|
$(eval $(call __mb_include,lib/make/i18n/mb_i18n.mk))
|
2024-07-10 17:17:40 +00:00
|
|
|
|
ifneq ("$(MB_I18N)", "off")
|
2024-07-12 15:59:26 +00:00
|
|
|
|
$(if $(MB_I18N),$(if $(wildcard $(MB_@BASEPATH)/lib/make/i18n/mb_i18n_$(MB_I18N).mk),,$(error Unsupported i18n language code: $(MB_I18N))))
|
|
|
|
|
$(if $(MB_I18N),$(eval include $(MB_@BASEPATH)/lib/make/i18n/mb_i18n_$(MB_I18N).mk))
|
2024-07-10 17:17:40 +00:00
|
|
|
|
endif
|
2024-07-12 15:59:26 +00:00
|
|
|
|
@include:: $(MB_@INCLUDE_CHAIN)
|
|
|
|
|
MB_@INCLUDE_CHAIN :=
|
2024-07-10 15:03:28 +00:00
|
|
|
|
|
2024-07-12 15:59:26 +00:00
|
|
|
|
# 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
|
|
|
|
|
@@include-parent:: @@include-mods
|
|
|
|
|
@include:: @@include-libs @@include-root
|
2024-07-10 12:05:38 +00:00
|
|
|
|
|
2024-07-12 15:59:26 +00:00
|
|
|
|
# Document our internal variables, now we have the functions loaded
|
|
|
|
|
$(call mb_make_call,mb_doc_variable_rock,MB_@RECIPE,"Recipe prefix to set and indent flow eval rules.")
|
|
|
|
|
$(call mb_make_call,mb_doc_variable_rock,MB_@RECIPEPREFIX,"Recipe prefix to restore to after flow eval rules.")
|
|
|
|
|
$(call mb_make_call,mb_doc_variable_rock,MB_@BASEPATH,"Path where msxbuild lib folder is located.")
|
|
|
|
|
$(call mb_make_call,mb_doc_variable_rock,MB_@BASEPATH_REAL,"Resolved real path of msxbuild.")
|
|
|
|
|
|
|
|
|
|
# Provider+doc easy single function start point for user
|
|
|
|
|
define mb_setup_default
|
|
|
|
|
$(MB_ᕽᕽᕽ )$(call mb_make_call,mb_make_check_arg2,$(0),$(1),$(2))
|
|
|
|
|
$(MB_ᕽᕽᕽ )$(call mb_make_call,mb_doc_flow_help)
|
|
|
|
|
$(MB_ᕽᕽᕽ )$(call mb_make_call,mb_flow_0module_setup,$(2))
|
|
|
|
|
$(MB_ᕽᕽᕽ )$(call mb_make_call,mb_flow_proj_setup,$(1))
|
|
|
|
|
$(MB_ᕽᕽᕽ )$(call mb_make_call,mb_flight_proj_flow_video,$(1))
|
|
|
|
|
endef
|
|
|
|
|
$(call mb_make_call,mb_doc_function,mb_setup_default,"Installs default extenstion to configure dynamic project flow.","<bin-dir> <src-dir>")
|
2024-07-10 12:05:38 +00:00
|
|
|
|
|