msxbuild/lib/make/天房系統擴展/mb_msxrom.mk
Willem Cazander 1c6954e475
Some checks failed
Run test asserts / Test-Asserts (push) Failing after 1s
Test the full matrix in japanse.
2024-07-15 02:34:29 +02:00

212 lines
13 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.

# TODO: Convert pi MSX number data, the named pie slices to hyperdrive storage for distribution over red sea
MB_MSXROM_API ?= https://msxrom.distributedrebirth.love/calc-pi/v19.1
$(call mb_make_call,mb_doc_variable_deep,MB_MSXROM_API,"Resource identifier for msxrom pi pie named slices data.")
MB_MSXROM_CACHE ?= $(MB_OS_CACHE)/msxbuild/msxrom
$(call mb_make_call,mb_doc_variable_deep,MB_MSXROM_CACHE,"Cache storage location.")
MB_MSXROM_FIRE_MACHINES ?=
$(call mb_make_call,mb_doc_variable_flow,MB_MSXROM_FIRE_MACHINES,"List of supported machines.")
define _mb_msxrom_grow_fire_machines
$(MB_   )$(call mb_make_call,mb_make_check_arg1,$(0),$(1))
$(MB_   )$(eval MB_MSXROM_FIRE_MACHINES $(MB_MAKE_APPEND) $(1))
endef
define _mb_msxrom_file_fetch
$(MB_   )$(call mb_make_call,mb_os_echo_command,$(MB_I18N_MSXROM_FILE_FETCH) $(subst $(MB_MSXROM_API)/,,$(1)))
$(MB_   )$(if $(wildcard $(dir $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)))),,$(call mb_make_call,mb_os_dir_create,$(dir $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)))))
$(MB_   )$(if $(wildcard $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1))),,wget -O $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)) $(1))
endef
define mb_msxrom_file
$(MB_   )$(if $(wildcard $(MB_MSXROM_CACHE)/$(2)),,$(call mb_make_call,_mb_msxrom_file_fetch,$(MB_MSXROM_API)/$(2)))
$(MB_   )$(if $(wildcard $(1)/$(notdir $(2))),,$(call mb_make_call,mb_os_file_copy,$(MB_MSXROM_CACHE)/$(2),$(1)/$(notdir $(2))))
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_file,"Installs msxroms from slug into an subdir.","<dir> <msxrom-slug>")
define mb_msxrom_setup
$(MB_   )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))),,$(call mb_make_call,mb_os_dir_create,$(1)$(MB_@WORK)$(notdir $(1))))
$(MB_   )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share),,$(call mb_make_call,mb_os_dir_create,$(1)$(MB_@WORK)$(notdir $(1))/share))
$(MB_   )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/systemroms),,$(call mb_make_call,mb_os_dir_create,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms))
$(MB_   )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines),,$(call mb_make_call,mb_os_dir_create,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines))
$(MB_   )$(if $(wildcard $(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions),,$(call mb_make_call,mb_os_dir_create,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions))
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_setup,"Creates needed systemrom folders.","<dir>")
define mb_msxrom_extension_ide
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/ide240.dat)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_ide,"Installs sunrise IDE classic rom.","<dir>")
define mb_msxrom_extension_ide_nextor
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/Nextor-2.1.1.SunriseIDE.ROM)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_ide_nextor,"Installs sunrise IDE nextor rom.","<dir>")
define mb_msxrom_extension_scsi_novaxis
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/novaxis.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_scsi_novaxis,"Installs Gouda SCSI novaxis rom.","<dir>")
define mb_msxrom_extension_msxdos22
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/msxdos22.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_msxdos22,"Installs msxdos 2.20 rom.","<dir>")
define mb_msxrom_extension_rs232
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/rs232.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_rs232,"Installs rs232 rom.","<dir>")
define mb_msxrom_extension_fmpac
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/fmpac.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_fmpac,"Installs fmpac rom.","<dir>")
define mb_msxrom_extension_fmpac_en
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/fmpac_en.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_fmpac_en,"Installs fmpac english rom.","<dir>")
define mb_msxrom_extension_moonsound
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,extensions/yrw801.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_moonsound,"Installs moonsound rom.","<dir>")
define mb_msxrom_extension_basickun
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/extensions,machines/sanyo/phc-70fd2_basickun.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_extension_basickun,"Installs basickun compiler rom.","<dir>")
define mb_msxrom_machine_Canon_V-20
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/canon/v-20_basic-bios1.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Canon_V-20,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Canon_V-20)
define mb_msxrom_machine_Mitsubishi_ML-F80
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-f80_basic-bios1.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Mitsubishi_ML-F80,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Mitsubishi_ML-F80)
define mb_msxrom_machine_Mitsubishi_ML-FX1
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-fx1_basic-bios1.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Mitsubishi_ML-FX1,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Mitsubishi_ML-FX1)
define mb_msxrom_machine_Mitsubishi_ML-G3_ES
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-g3_es_basic-bios2.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-g3_es_disk.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-g3_es_msx2sub.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/mitsubishi/ml-g3_es_rs232.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Mitsubishi_ML-G3_ES,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Mitsubishi_ML-G3_ES)
define mb_msxrom_machine_Philips_VG_8000
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/philips/vg8000_basic-bios1.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Philips_VG_8000,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Philips_VG_8000)
define mb_msxrom_machine_Philips_VG_8230
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/philips/vg8230_basic-bios2.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/philips/vg8230_disk.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/philips/vg8230_msx2sub.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Philips_VG_8230,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Philips_VG_8230)
define mb_msxrom_machine_Philips_NMS_8250
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/philips/nms8250_basic-bios2.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/philips/nms8250_msx2sub.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/philips/nms8250_disk.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Philips_NMS_8250,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Philips_NMS_8250)
define mb_msxrom_machine_Toshiba_HX-21
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/toshiba/HX21-IC2.BIN)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/toshiba/HX21-IC3.BIN)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Toshiba_HX-21,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Toshiba_HX-21)
define mb_msxrom_machine_Yamaha_AX200
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/ax200_basic-bios1.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/ax200_arabic.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/ax200_music.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Yamaha_AX200,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Yamaha_AX200)
define mb_msxrom_machine_Yamaha_YIS-503IIIR
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/yis503iii_basic-bios2.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/yis503iii_msx2sub.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/yis503iii_cpm.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/yamaha/yis503iii_net_2.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Yamaha_YIS-503IIIR,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Yamaha_YIS-503IIIR)
define mb_msxrom_machine_Panasonic_FS-A1WSX
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_basic-bios2p.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_disk.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_firmware.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_fmbasic.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_kanjibasic.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_kanjifont.rom)
$(MB_   )$(call mb_make_call,mb_msxrom_file,$(1)$(MB_@WORK)$(notdir $(1))/share/systemroms/machines,machines/panasonic/fs-a1wsx_msx2psub.rom)
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Panasonic_FS-A1WSX,"Installs machine roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Panasonic_FS-A1WSX)
define mb_msxrom_machine_Boosted_MSX2_EN
$(MB_   )$(call mb_make_call,mb_msxrom_machine_Philips_NMS_8250,$(1))
$(MB_   )$(call mb_make_call,mb_msxrom_extension_fmpac,$(1))
$(MB_   )$(call mb_make_call,mb_msxrom_extension_moonsound,$(1))
$(MB_   )$(call mb_make_call,mb_msxrom_extension_basickun,$(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Boosted_MSX2_EN,"Installs machine and extensions roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Boosted_MSX2_EN)
define mb_msxrom_machine_Boosted_MSX2+_JP
$(MB_   )$(call mb_make_call,mb_msxrom_machine_Panasonic_FS-A1WSX,$(1))
$(MB_   )$(call mb_make_call,mb_msxrom_extension_moonsound,$(1))
$(MB_   )$(call mb_make_call,mb_msxrom_extension_basickun,$(1))
endef
$(call mb_make_call,mb_doc_function_deep,mb_msxrom_machine_Boosted_MSX2+_JP,"Installs machine and extensions roms.","<dir>")
$(call mb_make_call,_mb_msxrom_grow_fire_machines,Boosted_MSX2+_JP)