MB_MSXHUB_API ?= https://msxhub.com/api MB_MSXHUB_CACHE ?= $(MB_CACHE)/msxbuild/msxhub define _mb_msxhub_file_fetch @echo === Fetch msxhub file $(if $(wildcard $(dir $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1)))),,$(call mb_mkdir,$(dir $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1))))) $(if $(wildcard $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1))),,wget -O $(MB_MSXHUB_CACHE)/$(subst $(MB_MSXHUB_API)/,,$(1)) $(1)) endef # NOTE: with HDD import/export we get duplicate files after openMSX run, so force to lowercase. define mb_msxhub_file $(if $(wildcard $(MB_MSXHUB_CACHE)/$(2)),,$(call _mb_msxhub_file_fetch,$(MB_MSXHUB_API)/$(2))) $(if $(wildcard $(1)/$(call _mb_lowercase,$(notdir $(2)))),,$(call mb_copy,$(MB_MSXHUB_CACHE)/$(2),$(1)/$(call _mb_lowercase,$(notdir $(2))))) $(if $(filter true,$(3)),$(call mb_copy,$(MB_MSXHUB_CACHE)/$(2),$(1)/$(call _mb_lowercase,$(notdir $(2))))) endef # # Operating System (minimal) # define mb_msxhub_get_dos1_boot $(call mb_msxhub_file,$(1),MSXDOS1/1.03-2/get/MSXDOS1/MSXDOS.SYS) $(call mb_msxhub_file,$(1),MSXDOS1/1.03-2/get/MSXDOS1/COMMAND.COM) endef define mb_msxhub_get_dos2_boot $(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/MSXDOS2.SYS) $(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/COMMAND2.COM) endef define mb_msxhub_get_nextor_boot $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/NEXTOR.SYS) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/COMMAND2.COM) endef # # Native OS utils # define mb_msxhub_get_dos2_utils $(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/CHKDSK.COM) $(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/DISKCOPY.COM) $(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/FIXDISK.COM) $(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/UNDEL.COM) $(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/XCOPY.COM) $(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/XDIR.COM) $(call mb_msxhub_file,$(1),MSXDOS2/2.20-1/get/MSXDOS2/UTILS/KMODE.COM) endef define mb_msxhub_get_nextor_utils $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DELALL.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DEVINFO.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DRIVERS.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/DRVINFO.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/FASTOUT.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/LOCK.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/MAPDRV.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/EMUFILE.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/RALLOC.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/Z80MODE.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/NSYSVER.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/NEXBOOT.COM) $(call mb_msxhub_file,$(1),NEXTOR/2.1.0-1/get/NEXTOR/CONCLUS.COM) endef # # Compilers # define mb_msxhub_get_macro80 $(call mb_msxhub_file,$(1),MACRO80/2.0-1/get/MACRO80/CREF80.COM) $(call mb_msxhub_file,$(1),MACRO80/2.0-1/get/MACRO80/L80.COM) $(call mb_msxhub_file,$(1),MACRO80/2.0-1/get/MACRO80/LIB80.COM) $(call mb_msxhub_file,$(1),MACRO80/2.0-1/get/MACRO80/M80.COM) endef define mb_msxhub_get_z80asmuk $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/BINTOASM.COM) $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/DUMP.COM) $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/HEXTOCOM.COM) $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/PRL.COM) $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/PRNTOSYM.COM) $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/RSX.COM) $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/ZSM.COM) $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/ZSMPP.COM) $(call mb_msxhub_file,$(1),Z80ASMUK/3.4-1/get/Z80ASMUK/HEXTOBIN.COM) endef define mb_msxhub_get_wbass2 $(call mb_msxhub_file,$(1),WBASS2/2.0-1/get/WBASS2/zoekram.bin) $(call mb_msxhub_file,$(1),WBASS2/2.0-1/get/WBASS2/wbass2.bin) $(call mb_msxhub_file,$(1),WBASS2/2.0-1/get/WBASS2/wbass2.bas) endef define mb_msxhub_get_konpass $(call mb_msxhub_file,$(1),KONPASS/1.3.0-1/get/KONPASS/KONPASS.COM) $(call mb_msxhub_file,$(1),KONPASS/1.3.0-1/get/KONPASS/KONPASS.DAT) endef # # Compressors # define mb_msxhub_get_pmarc $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMARC.COM) $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMCAT.COM) $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMEXE2.COM) $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMEXT.COM) $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMSET.COM) $(call mb_msxhub_file,$(1),PMARC/2.0-1/get/PMARC/PMSFX2.COM) endef define mb_msxhub_get_lhpack $(call mb_msxhub_file,$(1),LHPACK/1.00-1/get/LHPACK/lhpack.com) endef define mb_msxhub_get_lhext $(call mb_msxhub_file,$(1),LHEXT/1.34-2/get/LHEXT/lhext.com) endef define mb_msxhub_get_gunzip $(call mb_msxhub_file,$(1),GUNZIP/1.1-1/get/GUNZIP/gunzip.com) endef define mb_msxhub_get_tunzip $(call mb_msxhub_file,$(1),TUNZIP/0.91-1/get/TUNZIP/tunzip.com) endef define mb_msxhub_get_popcom $(call mb_msxhub_file,$(1),POPCOM/1.00-2/get/POPCOM/popcom.com) endef # # Tools # define mb_msxhub_get_adir $(call mb_msxhub_file,$(1),ADIR/1.3-1/get/ADIR/adir.com) endef define mb_msxhub_get_turbo $(call mb_msxhub_file,$(1),TURBO/2.1-1/get/TURBO/turbo.com) endef define mb_msxhub_get_baskom $(call mb_msxhub_file,$(1),BASKOM/1.0-1/get/BASKOM/baskom.com) endef define mb_msxhub_get_binldr $(call mb_msxhub_file,$(1),BINLDR/1.0.2-1/get/BINLDR/BINLDR.COM) endef define mb_msxhub_get_dmphex $(call mb_msxhub_file,$(1),DMPHEX/1.00-1/get/DMPHEX/dmphex.com) endef define mb_msxhub_get_msxdos2t $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/ADDAUX.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/BEEP.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/BIO.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/BODY.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/BSAVE.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/CAL.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/CALC.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/DUMP.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/EXPAND.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/GREP.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/HEAD.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/KEY.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/LIST.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/LS.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/MENU.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/MORE.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/PATCH.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/SLEEP.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/TAIL.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/TR.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/UNIQ.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/VIEW.COM) $(call mb_msxhub_file,$(1),MSXDOS2T/1.0-1/get/MSXDOS2T/WC.COM) endef # # Graphics editors # define mb_msxhub_get_gfxage $(call mb_msxhub_file,$(1),GFXAGE/0.99-1/get/GFXAGE/gfxage.com) endef