msxbuild/lib/make/mb_msxrom.mk
Willem Cazander 567f91be78
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 2s
WIP Converted to per process openMSX share folder.
2024-06-27 16:58:21 +02:00

60 lines
2.4 KiB
Makefile

MB_MSXROM_API ?= https://msxrom.distributedrebirth.love/calc-pi/v19.1
MB_MSXROM_CACHE ?= $(MB_CACHE)/msxbuild/msxrom
define _mb_msxrom_file_fetch
@echo === Fetch msxrom file
$(if $(wildcard $(dir $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)))),,$(call mb_mkdir,$(dir $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)))))
$(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
$(if $(wildcard $(MB_MSXROM_CACHE)/$(2)),,$(call _mb_msxrom_file_fetch,$(MB_MSXROM_API)/$(2)))
$(if $(wildcard $(1)/$(notdir $(2))),,$(call mb_copy,$(MB_MSXROM_CACHE)/$(2),$(1)/$(notdir $(2))))
$(if $(filter true,$(3)),$(call mb_copy,$(MB_MSXROM_CACHE)/$(2),$(1)/$(notdir $(2))))
endef
define mb_msxrom_setup
$(if $(wildcard $(1)-omsx),,$(call mb_mkdir,$(1)-omsx))
$(if $(wildcard $(1)-omsx/systemroms),,$(call mb_mkdir,$(1)-omsx/systemroms))
$(if $(wildcard $(1)-omsx/systemroms/machines),,$(call mb_mkdir,$(1)-omsx/systemroms/machines))
$(if $(wildcard $(1)-omsx/systemroms/extensions),,$(call mb_mkdir,$(1)-omsx/systemroms/extensions))
endef
define mb_msxrom_extension_ide_nextor
$(call mb_msxrom_file,$(1)-omsx/systemroms/extensions,extensions/Nextor-2.1.1.SunriseIDE.ROM)
endef
define mb_msxrom_extension_rs232
$(call mb_msxrom_file,$(1)-omsx/systemroms/extensions,extensions/rs232.rom)
endef
define mb_msxrom_extension_fmpac
$(call mb_msxrom_file,$(1)-omsx/systemroms/extensions,extensions/fmpac.rom)
endef
define mb_msxrom_extension_moonsound
$(call mb_msxrom_file,$(1)-omsx/systemroms/extensions,extensions/yrw801.rom)
endef
define mb_msxrom_extension_basickun
$(call mb_msxrom_file,$(1)-omsx/systemroms/extensions,machines/sanyo/phc-70fd2_basickun.rom)
endef
define mb_msxrom_machine_Canon_V-20
$(call mb_msxrom_file,$(1)-omsx/systemroms/machines,machines/canon/v-20_basic-bios1.rom)
endef
define mb_msxrom_machine_Philips_NMS_8250
$(call mb_msxrom_file,$(1)-omsx/systemroms/machines,machines/philips/nms8250_basic-bios2.rom)
$(call mb_msxrom_file,$(1)-omsx/systemroms/machines,machines/philips/nms8250_msx2sub.rom)
$(call mb_msxrom_file,$(1)-omsx/systemroms/machines,machines/philips/nms8250_disk.rom)
endef
define mb_msxrom_machine_Boosted_MSX2_EN
$(call mb_msxrom_machine_Philips_NMS_8250,$(1))
$(call mb_msxrom_extension_fmpac,$(1))
$(call mb_msxrom_extension_moonsound,$(1))
$(call mb_msxrom_extension_basickun,$(1))
endef