msxbuild/lib/msxbuild.mk
Willem Cazander 0bf46a9ff3
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -11s
Removed lib prefix for dist build and real path now we use openMSX home
2024-07-12 22:35:33 +02:00

78 lines
4.3 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# msxbuild.mk - Makefile helper to use with msx projects.
#
MB_@RECIPE := ]
MB_@RECIPEPREFIX := $(.RECIPEPREFIX)
MB_@BASEPATH := $(dir $(lastword $(MAKEFILE_LIST)))
MB_@INCLUDE_CHAIN :=
# 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
# Include full library grouped in functional blocks
MB_@INCLUDE_CHAIN := @@include-parent
$(eval $(call __mb_include,make/काबा सिस्टम विस्तार/mb_xxx.mk))
$(eval $(call __mb_include,make/काबा सिस्टम विस्तार/mb_doc.mk))
$(eval $(call __mb_include,make/काबा सिस्टम विस्तार/mb_make_call.mk))
$(eval $(call __mb_include,make/काबा सिस्टम विस्तार/mb_make_check.mk))
$(eval $(call __mb_include,make/काबा सिस्टम विस्तार/mb_make_xml.mk))
$(eval $(call __mb_include,make/काबा सिस्टम विस्तार/mb_make.mk))
@@include-libs:: $(MB_@INCLUDE_CHAIN)
MB_@INCLUDE_CHAIN := @@include-parent
$(eval $(call __mb_include,make/ᒥᑎᑲ ᐱᓕᕆᔾᔪᓯᖅ ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_os.mk))
$(eval $(call __mb_include,make/ᒥᑎᑲ ᐱᓕᕆᔾᔪᓯᖅ ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_conv.mk))
$(eval $(call __mb_include,make/ᒥᑎᑲ ᐱᓕᕆᔾᔪᓯᖅ ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_sdcc.mk))
$(eval $(call __mb_include,make/ᒥᑎᑲ ᐱᓕᕆᔾᔪᓯᖅ ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_package.mk))
@@include-libs:: $(MB_@INCLUDE_CHAIN)
MB_@INCLUDE_CHAIN := @@include-parent
$(eval $(call __mb_include,make/天房 系統 擴展/mb_msxrom.mk))
$(eval $(call __mb_include,make/天房 系統 擴展/mb_msxhub.mk))
$(eval $(call __mb_include,make/天房 系統 擴展/mb_msxpipe.mk))
$(eval $(call __mb_include,make/天房 系統 擴展/mb_openmsx.mk))
$(eval $(call __mb_include,make/天房 系統 擴展/mb_autoexec.mk))
@@include-libs:: $(MB_@INCLUDE_CHAIN)
MB_@INCLUDE_CHAIN := @@include-parent
$(eval $(call __mb_include,make/𓃬 𓍄 𓋹𓀭/mb_flow_0module.mk))
$(eval $(call __mb_include,make/𓃬 𓍄 𓋹𓀭/mb_flow_help.mk))
$(eval $(call __mb_include,make/𓃬 𓍄 𓋹𓀭/mb_flow_proj.mk))
$(eval $(call __mb_include,make/𓃬 𓍄 𓋹𓀭/mb_flow_assert.mk))
$(eval $(call __mb_include,make/𓃬 𓍄 𓋹𓀭/mb_flow_m80.mk))
$(eval $(call __mb_include,make/𓃬 𓍄 𓋹𓀭/mb_flow_sdcc.mk))
$(eval $(call __mb_include,make/𓃬 𓍄 𓋹𓀭/mb_flow_clone.mk))
@@include-libs:: $(MB_@INCLUDE_CHAIN)
MB_@INCLUDE_CHAIN :=
$(eval $(call __mb_include,make/mb_flight.mk))
$(eval $(call __mb_include,make/i18n/mb_i18n.mk))
ifneq ("$(MB_I18N)", "off")
$(if $(MB_I18N),$(if $(wildcard $(MB_@BASEPATH)make/i18n/mb_i18n_$(MB_I18N).mk),,$(error Unsupported i18n language code: $(MB_I18N))))
$(if $(MB_I18N),$(eval include $(MB_@BASEPATH)make/i18n/mb_i18n_$(MB_I18N).mk))
endif
@include:: $(MB_@INCLUDE_CHAIN)
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
@@include-parent:: @@include-mods
@include:: @@include-libs @@include-root
# 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.")
# 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_flow_doc_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,"Setup default extenstions to configure dynamic project flow.","<bin-dir> <src-dir>")