Removed lib prefix for dist build and real path now we use openMSX home
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -11s

This commit is contained in:
Willem Cazander 2024-07-12 22:35:33 +02:00
parent 66693d9cbc
commit 0bf46a9ff3
5 changed files with 96 additions and 98 deletions

View file

@ -3,7 +3,7 @@
#
PATH_BIN := bin
PATH_SRC := src
PATH_MSXBUILD ?= .
PATH_MSXBUILD ?= lib
MB_PROJ_META_GROUP_ID ?= love.distributedrebirth.msx4.firemake.make4.msxbuild
MB_PROJ_META_ARTIFACT_ID ?= msxbuild
MB_PROJ_META_VERSION ?= 1.0.0
@ -13,17 +13,17 @@ MB_PROJ_META_WEBSITE ?= https://code.distributedrebirth.love/arch-msx/msxbuild
.RECIPEPREFIX := _
.DEFAULT_GOAL := @all
-include Makelocal.mk
include $(PATH_MSXBUILD)/lib/make/msxbuild-prolog.mk
include $(PATH_MSXBUILD)/lib/make/msxbuild.mk
include $(PATH_MSXBUILD)/msxbuild-prolog.mk
include $(PATH_MSXBUILD)/msxbuild.mk
$(call mb_make_call,mb_setup_default,$(PATH_BIN),$(PATH_SRC))
# Optional: make faster and setup graph root
.PHONY: Makefile
.PHONY: Makelocal.mk
.PHONY: $(PATH_MSXBUILD)/lib/make/msxbuild-prolog.mk
.PHONY: $(PATH_MSXBUILD)/lib/make/msxbuild.mk
.PHONY: $(PATH_MSXBUILD)/msxbuild-prolog.mk
.PHONY: $(PATH_MSXBUILD)/msxbuild.mk
Makefile:: Makelocal.mk
Makefile:: $(PATH_MSXBUILD)/lib/make/msxbuild-prolog.mk
Makefile:: $(PATH_MSXBUILD)/lib/make/msxbuild.mk
Makefile:: $(PATH_MSXBUILD)/msxbuild-prolog.mk
Makefile:: $(PATH_MSXBUILD)/msxbuild.mk
@@include-root:: Makefile

View file

@ -1,79 +0,0 @@
#
# msxbuild.mk - Makefile helper to use with msx projects.
#
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 :=
# 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,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_help.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))
ifneq ("$(MB_I18N)", "off")
$(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))
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.")
$(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_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>")

View file

@ -45,18 +45,18 @@ $(call mb_make_call,mb_doc_variable_deep,MB_OPENMSX_STDERR_IGNORE,"Kills logging
define mb_openmsx_setup
$(MB_   )$(call mb_make_call,mb_make_check_arg2,$(0),$(1),$(2))
$(MB_   )$(if $(wildcard $(1)-omsx),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx))
$(MB_   )$(if $(wildcard $(1)-omsx/stdio.xml),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/stdio.xml,$(1)-omsx))
$(MB_   )$(if $(wildcard $(1)-omsx/stdio.xml),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)openmsx/stdio.xml,$(1)-omsx))
$(MB_   )$(if $(wildcard $(1)-omsx/share),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share))
$(MB_   )$(if $(wildcard $(1)-omsx/share/settings.xml),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/settings.xml,$(1)-omsx/share))
$(MB_   )$(if $(wildcard $(1)-omsx/share/settings.xml),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)openmsx/share/settings.xml,$(1)-omsx/share))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/boot_exec.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/boot_exec.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/fail_after.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/fail_after.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/fire_hdd.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/fire_hdd.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/headless.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/headless.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/night_flight.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/scripts/night_flight.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/boot_exec.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)openmsx/share/scripts/boot_exec.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/fail_after.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)openmsx/share/scripts/fail_after.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/fire_hdd.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)openmsx/share/scripts/fire_hdd.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/headless.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)openmsx/share/scripts/headless.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/night_flight.tcl),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)openmsx/share/scripts/night_flight.tcl,$(1)-omsx/share/scripts))
$(MB_   )$(if $(wildcard $(1)-omsx/share/scripts/omsxctl.tcl),,$(call mb_msxhub_file,$(1)-omsx/share/scripts,OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.tcl))
$(MB_   )$(if $(wildcard $(1)-omsx/share/extensions),,$(call mb_make_call,mb_os_dir_create,$(1)-omsx/share/extensions))
$(MB_   )$(if $(wildcard $(1)-omsx/share/extensions/fire-hdd.xml),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/openmsx/share/extensions/fire-hdd.xml,$(1)-omsx/share/extensions))
$(MB_   )$(if $(wildcard $(1)-omsx/share/extensions/fire-hdd.xml),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)openmsx/share/extensions/fire-hdd.xml,$(1)-omsx/share/extensions))
$(MB_   )$(call mb_make_call,mb_msxrom_setup,$(1))
$(MB_   )$(call mb_make_call,mb_msxrom_extension_ide_nextor,$(1))
$(MB_   )$(call mb_make_call,mb_msxrom_machine_$(2),$(1))
@ -105,10 +105,10 @@ endef
define _mb_openmsx_dosctl_bat
$(MB_   )$(if $(wildcard $(1)/z80.bat),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/emuctl/z80.bat,$(1)))
$(MB_   )$(if $(wildcard $(1)/reboot.bat),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/emuctl/reboot.bat,$(1)))
$(MB_   )$(if $(wildcard $(1)/shutdown.bat),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/emuctl/shutdown.bat,$(1)))
$(MB_   )$(if $(wildcard $(1)/mbboot80.com),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH_REAL)/lib/emuctl/mbboot80.com,$(1)))
$(MB_   )$(if $(wildcard $(1)/z80.bat),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)emuctl/z80.bat,$(1)))
$(MB_   )$(if $(wildcard $(1)/reboot.bat),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)emuctl/reboot.bat,$(1)))
$(MB_   )$(if $(wildcard $(1)/shutdown.bat),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)emuctl/shutdown.bat,$(1)))
$(MB_   )$(if $(wildcard $(1)/mbboot80.com),,$(call mb_make_call,mb_os_file_copy,$(MB_@BASEPATH)emuctl/mbboot80.com,$(1)))
$(MB_   )$(if $(wildcard $(1)/omsxctl.com),,$(call mb_make_call,mb_msxhub_file,$(1),OMSXCTL/1.0-1/get/OMSXCTL/omsxctl.com))
endef

77
lib/msxbuild.mk Normal file
View file

@ -0,0 +1,77 @@
#
# 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>")